(* Content-type: application/vnd.wolfram.mathematica *)

(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)

(* CreatedBy='Wolfram 15.0' *)

(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[       154,          7]
NotebookDataLength[     42095,       1111]
NotebookOptionsPosition[     33968,        960]
NotebookOutlinePosition[     36524,       1017]
CellTagsIndexPosition[     36446,       1012]
WindowTitle->ElectrumV1MasterPrivateKey
WindowFrame->Normal*)

(* Beginning of Notebook Content *)
Notebook[{
Cell[BoxData[GridBox[{
   {GridBox[{
      {
       ItemBox[Cell[BoxData[
         RowBox[{
          TemplateBox[{12},
           "Spacer1"], Cell[
          "WOLFRAM INSTITUTE/ PUZZLES SYMBOL", "PacletNameCell",
           TextAlignment->Center,ExpressionUUID->
           "21d7a805-c7f4-4a9b-a2b6-c3eb9790183c"], 
          TemplateBox[{8},
           "Spacer1"]}]],
         TextAlignment->Center,ExpressionUUID->
         "0eb1bca5-3d2f-4555-a089-5def0b9a58fe"],
        Background->LightDarkSwitched[
          RGBColor[0.490196, 0.576471, 0.690196]],
        ItemSize->Full], ""}
     },
     GridBoxAlignment->{"Rows" -> {{Center}}},
     GridBoxItemSize->{"Columns" -> {Full, 
         Scaled[0.02]}, "Rows" -> {{2.5}}}], Cell[TextData[{
     Cell[BoxData[
      TagBox[
       ActionMenuBox[
        FrameBox[Cell[TextData[{
          "See Also",
          " ",
          Cell[BoxData[
           GraphicsBox[
            {GrayLevel[0.66667], Thickness[0.13], 
             LineBox[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]},
            AspectRatio->1,
            ImageSize->20,
            PlotRange->{{-3, 4}, {-1, 1}}]],ExpressionUUID->
           "775d51b7-13b6-4539-9fb8-95659571c146"]
         }],ExpressionUUID->"8689cfcd-6a3d-4b50-a655-6c0d2a2931cd"],
         StripOnInput->False],{
        StyleBox["\"Hash\"", "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup["paclet:ref/Hash"], Delimiter, 
         StyleBox[
          "\"Functions\"", "SeeAlsoSection", FontSize -> 14, FontSlant -> 
           "Italic", StripOnInput -> False] :> 
         NotebookFind[EvaluationNotebook[], "SeeAlsoSection", All, CellStyle],
          StyleBox[
          StyleBox[
           "\"ElectrumV1Seed\"", "SeeAlsoRelated", StripOnInput -> False], 
           "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/ElectrumV1Seed"], 
         StyleBox[
          StyleBox[
           "\"ElectrumV1Mnemonic\"", "SeeAlsoRelated", StripOnInput -> False],
            "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/ElectrumV1Mnemonic"], 
         StyleBox[
          StyleBox[
           "\"ElectrumSeedVersion\"", "SeeAlsoRelated", StripOnInput -> 
            False], "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/ElectrumSeedVersion"], 
         StyleBox[
          StyleBox[
           "\"BrainwalletKey\"", "SeeAlsoRelated", StripOnInput -> False], 
           "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/BrainwalletKey"]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"SeeAlso"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "42d3d317-23bb-4a4c-99ab-da1383304d19"],
     "\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\
\[ThickSpace]",
     Cell[BoxData[
      TagBox[
       ActionMenuBox[
        FrameBox[Cell[TextData[{
          "Related Guides",
          " ",
          Cell[BoxData[
           GraphicsBox[
            {GrayLevel[0.66667], Thickness[0.13], 
             LineBox[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]},
            AspectRatio->1,
            ImageSize->20,
            PlotRange->{{-3, 4}, {-1, 1}}]],ExpressionUUID->
           "66ac60b7-e1a3-437c-b621-e43146ad7176"]
         }],ExpressionUUID->"102c60a6-88f6-4431-9174-21d9f23fcbec"],
         StripOnInput->False],{
        "\"Seeds\"" :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/guide/Seeds"]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"MoreAbout"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "daafed46-3ae4-4be6-befb-c28c3f16e1ec"],
     "\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\
\[ThickSpace]",
     Cell[BoxData[
      TagBox[
       ActionMenuBox[
        FrameBox[Cell[TextData[{
          "URL",
          " ",
          Cell[BoxData[
           GraphicsBox[
            {GrayLevel[0.66667], Thickness[0.13], 
             LineBox[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]},
            AspectRatio->1,
            ImageSize->20,
            PlotRange->{{-3, 4}, {-1, 1}}]],ExpressionUUID->
           "ee52b702-0cc2-4cd3-9dcd-f082b044d591"]
         }],ExpressionUUID->"303a2420-62c0-4493-b02c-03de09ac0f91"],
         StripOnInput->False],{
        "\"WolframInstitute/Puzzles/ref/ElectrumV1MasterPrivateKey\"" :> None,
          "\"Copy Wolfram Documentation Center URL\"" :> 
         CopyToClipboard[
          "WolframInstitute/Puzzles/ref/ElectrumV1MasterPrivateKey"], 
         Delimiter, "\"Copy web URL\"" :> 
         Module[{DocumentationSearch`Private`nb$}, 
           DocumentationSearch`Private`nb$ = 
            NotebookPut[
             Notebook[{
               Cell[BoxData[
                 MakeBoxes[
                  Hyperlink[
                   "http://reference.wolfram.com/language/WolframInstitute/\
Puzzles/ref/ElectrumV1MasterPrivateKey.html"], StandardForm]], "Input", 
                 TextClipboardType -> "PlainText"]}, Visible -> False]]; 
           SelectionMove[DocumentationSearch`Private`nb$, All, Notebook]; 
           FrontEndTokenExecute[DocumentationSearch`Private`nb$, "Copy"]; 
           NotebookClose[DocumentationSearch`Private`nb$]; Null], 
         "\"Go to web URL\"" :> 
         FrontEndExecute[{
           NotebookLocate[{
             URL[If[TrueQ[False], 
                 "http://reference.wolfram.com/system-modeler/", 
                 "http://reference.wolfram.com/language/"] <> 
               "WolframInstitute/Puzzles/ref/ElectrumV1MasterPrivateKey" <> 
               ".html"], None}]}]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"URLMenu"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "72004aea-9454-4f71-8c3f-7ad477baca7e"]
    }], "AnchorBar",
     CacheGraphics->False,ExpressionUUID->
     "499d09b8-53c0-4eb7-8f5c-de199a17c755"]}
  }]], "AnchorBarGrid",
 CellID->1,ExpressionUUID->"24cc958b-d23f-4aa5-aff4-08af09c36aad"],

Cell["WolframInstitute`Puzzles`", "ContextNameCell",ExpressionUUID->"8610c521-14f8-4a3c-960e-69b0cb270aba"],

Cell[CellGroupData[{

Cell[BoxData[GridBox[{
   {Cell[TextData[{
     Cell[
     "ElectrumV1MasterPrivateKey", "ObjectName",ExpressionUUID->
      "921fbee3-c371-4202-be38-0b0c6d631580"],
     Cell[BoxData[
      TemplateBox[{8},
       "Spacer1"]],ExpressionUUID->"76f37861-ab2f-493b-9f8b-def9cf5fa71c"],
     Cell[BoxData[
     ""], "ObjectNameTranslation",ExpressionUUID->
      "9a385683-765e-49f8-8147-820e629854f6"]
    }],ExpressionUUID->"d20dcc0a-001d-4f30-9b21-a98ccee284e8"], 
    "\[SpanFromLeft]"}
  }]], "ObjectNameGrid",ExpressionUUID->"f38777f5-c58e-41ea-a0a2-\
3cd88d12994c"],

Cell[BoxData[GridBox[{
   {"", Cell[TextData[{
     Cell[BoxData[
      RowBox[{
       TemplateBox[{
         Cell[
          TextData["ElectrumV1MasterPrivateKey"]], 
         "paclet:WolframInstitute/Puzzles/ref/ElectrumV1MasterPrivateKey", 
         "WolframInstitute/Puzzles Package Symbol"},
        "PackageLink",
        BaseStyle->"InlineFormula"], "[", 
       StyleBox["mnemonic", "TI"], "]"}]], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "fd038024-2864-40b7-ade4-677d3c3bdbfa"],
     "\[LineSeparator]",
     "gives the 32-byte Electrum version 1 master private key of ",
     StyleBox["mnemonic", "TI"],
     ", as a ",
     Cell[BoxData[
      TemplateBox[{
        Cell[
         TextData["ByteArray"]], "paclet:ref/ByteArray"},
       "RefLink",
       BaseStyle->"InlineFormula"]], "InlineFormula",
      FontFamily->"Source Sans Pro",ExpressionUUID->
      "6b4be4fe-0f2d-46a8-b7f0-b07c8226df65"],
     "."
    }],ExpressionUUID->"142d2152-5b40-4e28-a97b-1a50a5e6ec20"]},
   {"", Cell[TextData[{
     Cell[BoxData[
      RowBox[{
       TemplateBox[{
         Cell[
          TextData["ElectrumV1MasterPrivateKey"]], 
         "paclet:WolframInstitute/Puzzles/ref/ElectrumV1MasterPrivateKey", 
         "WolframInstitute/Puzzles Package Symbol"},
        "PackageLink",
        BaseStyle->"InlineFormula"], "[", 
       StyleBox["hex", "TI"], "]"}]], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "1a19b40c-11ce-4a38-ab93-c70ca4c42e05"],
     "\[LineSeparator]",
     "takes the hexadecimal seed string instead."
    }],ExpressionUUID->"a1105f68-2493-4eab-9a8b-e52b5adf79a6"]},
   {"", Cell[TextData[{
     Cell[BoxData[
      RowBox[{
       TemplateBox[{
         Cell[
          TextData["ElectrumV1MasterPrivateKey"]], 
         "paclet:WolframInstitute/Puzzles/ref/ElectrumV1MasterPrivateKey", 
         "WolframInstitute/Puzzles Package Symbol"},
        "PackageLink",
        BaseStyle->"InlineFormula"], "[", 
       RowBox[{"{", 
        RowBox[{
         RowBox[{
          SubscriptBox[
           StyleBox["word", "TI"], 
           StyleBox["_", "TI"]], "1", "$"}], ",", " ", 
         RowBox[{
          SubscriptBox[
           StyleBox["word", "TI"], 
           StyleBox["_", "TI"]], "2", "$"}], ",", " ", "\[Ellipsis]"}], "}"}],
        "]"}]], "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "293065ea-441f-403f-85e7-6122909734d5"],
     "\[LineSeparator]",
     "takes the mnemonic as a list of words."
    }],ExpressionUUID->"0c01e52d-3273-4c10-b7ca-d63d48aca53e"]}
  }]], "Usage",ExpressionUUID->"94b631ae-0514-4ef9-a05b-125f91d27d74"]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[Cell[BoxData[Cell[TextData[{
  Cell[BoxData[
   DynamicBox[ToBoxes[
     If[CurrentValue[
        EvaluationCell[], "CellGroupOpen"] =!= Closed, 
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], 
      Rotate[
       Style[
        Graphics[{
          Thickness[0.18], 
          RGBColor[0.8509803921568627, 0.396078431372549, 0], 
          Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
         PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
        0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]],
    ImageSizeCache->{
     13.600000000000001`, {-0.1685058593749993, 13.768505859375}}]],
   ExpressionUUID->"f06a8bd7-0e61-4824-94c7-accd3055b3ea"],
  Cell[BoxData[
   TemplateBox[{1},
    "Spacer1"]],ExpressionUUID->"414afc6e-bad6-4446-a5ca-42e6f5d2af72"],
  "Details and Options"
 }], "NotesFrameText",ExpressionUUID->
  "61012d58-f083-4fb8-b650-11f89d5bce76"]],ExpressionUUID->"c04b9aeb-8f1b-\
436f-8d27-c84ce13dd32c"]], "NotesSection",
 ShowGroupOpener->"Thumbnail",
 WholeCellGroupOpener->True,
 CellGroupingRules->{"SectionGrouping", 50},
 CacheGraphics->False,
 CellID->1164211068,ExpressionUUID->"1dec57e6-d028-4c1a-b9a4-566bfe5b7c72"],

Cell[TextData[{
 "The stretch is Electrum's ",
 Cell[BoxData["stretch_key"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "a62b5bc9-520e-499b-b89a-d177560a4073"],
 ": with ",
 Cell[BoxData[
  StyleBox["s", "TI"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "a2afe1aa-8a1e-430a-b158-673fc93141b5"],
 " the ASCII bytes of the hexadecimal seed STRING, iterate ",
 Cell[BoxData[
  RowBox[{
   StyleBox["x", "TI"], "\[Function]", 
   StyleBox["SHA256",
    FontSlant->"Plain"], 
   StyleBox["(",
    SpanMaxSize->1], 
   RowBox[{
    StyleBox["x", "TI"], 
    RowBox[{"\\", "Vert"}], 
    StyleBox["s", "TI"]}], 
   StyleBox[")",
    SpanMaxSize->1]}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "1f862605-79c9-4a33-9668-d955d2a7a71d"],
 " a hundred thousand times starting from ",
 Cell[BoxData[
  RowBox[{
   StyleBox["x", "TI"], "=", 
   StyleBox["s", "TI"]}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "e48b04d8-994b-4ba8-ba43-c12ef8b70b92"],
 "."
}], "Notes",ExpressionUUID->"8888f1b9-fe29-4ec8-8970-19a14e3b758d"],

Cell["\<\
It hashes the ASCII digits of the seed, not the bytes those digits spell. \
Hashing the bytes gives a plausible-looking key for a completely different \
wallet.\
\>", "Notes",ExpressionUUID->"7ca96b51-db5c-40b0-ac43-aff70245d667"],

Cell["\<\
The chain is serial, so there is no shortcut and no parallelism to exploit: \
one call costs about 25 seconds.\
\>", "Notes",ExpressionUUID->"aa0f762b-d312-49b8-9936-227ff5549050"],

Cell[TextData[{
 "The result is the master private key. Its secp256k1 public key is \
Electrum's \"mpk\", and the version 1 scheme derives each address key by \
adding ",
 Cell[BoxData[
  RowBox[{
   SuperscriptBox[
    StyleBox["SHA256",
     FontSlant->"Plain"], "2"], 
   StyleBox["(",
    SpanMaxSize->1], 
   RowBox[{
    StyleBox["index",
     FontSlant->"Plain"], 
    RowBox[{"\\", "Vert"}], 
    StyleBox["change",
     FontSlant->"Plain"], 
    RowBox[{"\\", "Vert"}], 
    StyleBox["mpk",
     FontSlant->"Plain"]}], 
   StyleBox[")",
    SpanMaxSize->1]}]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "b89d5cc9-d9e5-4a77-ab80-652e28e5078b"],
 " to it; that derivation is in the Derivation guide."
}], "Notes",ExpressionUUID->"34e27a7b-8bae-4933-a8ff-8230ca223638"],

Cell["\<\
A string argument is read as a hexadecimal seed when its length is a multiple \
of eight and all its characters are hexadecimal, and as a mnemonic otherwise.\
\
\>", "Notes",ExpressionUUID->"da880af0-2a33-4b88-b52d-ad8eaee694d5"],

Cell[TextData[{
 "A mnemonic whose words are not all in ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["$ElectrumV1Words"]], 
    "paclet:WolframInstitute/Puzzles/ref/$ElectrumV1Words", 
    "WolframInstitute/Puzzles Package Symbol"},
   "PackageLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "564c94cb-4056-4912-8bcc-413b1dd0b667"],
 " gives a ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["Failure"]], "paclet:ref/Failure"},
   "RefLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",ExpressionUUID->
  "7730e9b4-8c1f-453a-ac1f-6b6562b4c6d0"],
 " from ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["ElectrumV1Seed"]], 
    "paclet:WolframInstitute/Puzzles/ref/ElectrumV1Seed", 
    "WolframInstitute/Puzzles Package Symbol"},
   "PackageLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "a59f5349-71f8-404d-a3b7-a8692b1dc37f"],
 ", passed through unchanged."
}], "Notes",ExpressionUUID->"4ccc6c93-c7b2-4860-881b-9e9019a48782"]
}, Closed]],

Cell["", "PageDelimiter",ExpressionUUID->"cfdcfda9-0d09-469b-8597-012c78044063"],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[
     MatchQ[
      CurrentValue[
       EvaluationNotebook[], {
       TaggingRules, "Openers", "PrimaryExamplesSection"}, Open], 
      Alternatives[True, Open]], 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]],
   ImageSizeCache->{
    13.600000000000001`, {4.251494140625001, 9.348505859375}}]],
  ExpressionUUID->"063bd684-d884-4620-8e97-a873b0848159"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"ed40da62-4875-4024-827d-14e2957e1d72"],
 "Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(8)", "ExampleCount",ExpressionUUID->
  "4ed676fc-ef71-4117-8488-d7b8f782b56c"]
}], "PrimaryExamplesSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1171912059,ExpressionUUID->"118558bb-4470-424b-82ea-9312792fdd40"],

Cell[BoxData[
 RowBox[{"Needs", "[", "\"\<WolframInstitute`Puzzles`\>\"", "]"}]], "Input", \
"ExampleInitialization",
 CellLabel->"In[1]:=",
 CellID->1969679695,ExpressionUUID->"4e6222d6-d773-4b84-a74d-f6d07d1da59d"],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "0538ef59-cd8c-4e68-b6b3-7f4bb156d11b"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"7ac1615b-81d7-4671-8b43-e117bab023ec"],
 "Basic Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(2)", "ExampleCount",ExpressionUUID->
  "754e1231-b638-4648-a107-0f040aa51190"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1753448976,ExpressionUUID->"4156ba6c-128a-435a-8249-7f61d8bbd510"],

Cell["\<\
The master private key of the Electrum wallet test vector, whose published \
master public key it reproduces; this takes about 25 seconds:\
\>", "ExampleText",
 CellTags->
  "TextAnnotation",ExpressionUUID->"a6a1ad20-997f-4a25-b764-26213eb2a673"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"ByteListToHexString", "[", 
  RowBox[{
  "ElectrumV1MasterPrivateKey", 
   "[", "\"\<powerful random nobody notice nothing important anyway look away \
hidden message over\>\"", "]"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"cef7107c-086b-47f9-87a3-5e82b3d3f47b"],

Cell[BoxData["\<\"\
21b880fda2fd30081834683a7049ac9e3941a42adbc3a4616c9a9275aa960c0d\"\>"], \
"Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"3dfe89c7-3f10-4ee4-824b-465030dc1230"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "2d77aa0f-4000-458a-913d-b3d0892d5266"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"60526f68-0195-46e9-\
854d-9dc8a87013ae"],

Cell["The key is always 32 bytes, the width of a secp256k1 scalar:", \
"ExampleText",ExpressionUUID->"2a8b3756-1d69-4c47-a2c8-6bea7774ad0a"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Length", "[", 
  RowBox[{
  "ElectrumV1MasterPrivateKey", 
   "[", "\"\<acb740e454c3134901d7c8f16497cc1c\>\"", "]"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"38c45fc4-84f7-4caf-b566-d78a8566f203"],

Cell[BoxData["32"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"c7477d8c-aa04-44f6-8829-e67905cbb5ad"]
}, Open  ]]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "725dfae8-d85a-4695-b1b5-309f9c0c6003"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"4f94c669-f9f3-46af-83c5-cbeae462909d"],
 "Scope",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(2)", "ExampleCount",ExpressionUUID->
  "92fe0a87-70c2-4b0d-8320-6a4287684529"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1293636265,ExpressionUUID->"0b9a7768-e189-4c1a-ad34-219c2f0db000"],

Cell["\<\
The mnemonic and its hexadecimal seed are two spellings of one wallet and \
give the same key:\
\>", "ExampleText",ExpressionUUID->"7c9c93c0-f87c-4e4a-ba80-51bd9824fe60"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{
  "ElectrumV1MasterPrivateKey", 
   "[", "\"\<acb740e454c3134901d7c8f16497cc1c\>\"", "]"}], " ", "===", " ", 
  RowBox[{
  "ElectrumV1MasterPrivateKey", 
   "[", "\"\<powerful random nobody notice nothing important anyway look away \
hidden message over\>\"", "]"}]}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"84abebf7-06f3-4315-8596-dddb14de2718"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"a538d6c6-25b5-4613-8715-3174e701092d"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "5c4df2ad-fb93-45c3-b0cc-3c9cbf576fac"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"fcb7828a-6c05-42ef-\
8b97-682c2433fc35"],

Cell[TextData[{
 "A mnemonic whose words are not all in the version 1 wordlist fails, and the \
failure is the one ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["ElectrumV1Seed"]], 
    "paclet:WolframInstitute/Puzzles/ref/ElectrumV1Seed", 
    "WolframInstitute/Puzzles Package Symbol"},
   "PackageLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "49f44a01-2fac-4004-8ab6-24fe708290ee"],
 " raises:"
}], "ExampleText",ExpressionUUID->"d974e602-bd20-4604-b0f9-a0770ee6eadb"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"FailureQ", "[", 
  RowBox[{
  "ElectrumV1MasterPrivateKey", 
   "[", "\"\<abandon abandon abandon abandon abandon abandon abandon abandon \
abandon abandon abandon about\>\"", "]"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"c6ec68ab-a0d6-438f-9328-2ffd62ed1394"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"1887448a-43fc-4c75-b3e1-aef5b8ddbf20"]
}, Open  ]]
}, Open  ]]
}, Closed]],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "1d709e90-a8a8-4d52-be4f-3efd69a53438"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"42228848-437a-49bb-ade4-f0f00d3f9b9c"],
 "Properties & Relations",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(2)", "ExampleCount",ExpressionUUID->
  "11c9a5dc-4ca5-4089-9dd5-010be11adbbf"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->2123667759,ExpressionUUID->"7d830efa-d6e0-4ec3-a9d2-d4ad781f55f4"],

Cell["\<\
The stretch is the same shape as an iterated brainwallet, differing in that \
the original seed is appended at every round rather than only at the first:\
\>", "ExampleText",ExpressionUUID->"2e155c0f-9cf6-4de3-974b-f5fa104e43c8"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"ByteListToHexString", "[", 
  RowBox[{"BrainwalletKey", "[", 
   RowBox[{"\"\<acb740e454c3134901d7c8f16497cc1c\>\"", ",", " ", "3"}], "]"}],
   "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"fc33ae6b-8c6e-4f1a-a44a-c61a47cf07fc"],

Cell[BoxData["\<\"\
0256605ae6d88338acc9eea171a2384212682cb817cf53f68608b9423e4e93e2\"\>"], \
"Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"67cadc07-552b-4062-bd75-6bd942119fd0"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "a1cb54a6-2c41-45ad-a302-649e009aaa6b"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"4717087e-2027-46a4-\
813c-a8cbb3b860ab"],

Cell["\<\
The seed it hashes is the string of digits, so the ASCII bytes are the input \
and the spelled bytes are not:\
\>", "ExampleText",ExpressionUUID->"beddddec-e1cf-4ca8-b1e4-05f05b3c9f83"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"Length", "[", 
    RowBox[{"StringToByteArray", "[", 
     RowBox[{"\"\<acb740e454c3134901d7c8f16497cc1c\>\"", ",", 
      " ", "\"\<ASCII\>\""}], "]"}], "]"}], ",", " ", 
   RowBox[{"Length", "[", 
    RowBox[{"ByteArray", "[", 
     RowBox[{
     "HexStringToByteList", "[", "\"\<acb740e454c3134901d7c8f16497cc1c\>\"", 
      "]"}], "]"}], "]"}]}], "}"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"b811199e-43c1-4d89-a0c5-eee58ad7dcf2"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"32", ",", "16"}], "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"5baa09c0-ee49-4bc5-a0de-2d2ca6e91c2e"]
}, Open  ]]
}, Open  ]]
}, Closed]],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "40a62683-1991-4611-ac1d-cf219ac12f6e"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"f401abc7-cbf0-4b4f-b6d8-981093a6189c"],
 "Possible Issues",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(2)", "ExampleCount",ExpressionUUID->
  "c211c8c0-862a-4f29-9e2a-193a25ba5d64"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1305812373,ExpressionUUID->"93ab7b34-5b66-443b-92d2-884cda8b85cd"],

Cell["\<\
The derivation is a hundred thousand serial hashes, so it cannot be swept \
over many candidates the way a BIP39 seed can:\
\>", "ExampleText",ExpressionUUID->"2d7572e9-6f68-4f10-bb6f-4012e8d36bbf"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"Length", "[", 
    RowBox[{
    "BIP39Seed", 
     "[", "\"\<abandon abandon abandon abandon abandon abandon abandon \
abandon abandon abandon abandon about\>\"", "]"}], "]"}], ",", " ", 
   "100000"}], "}"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"d2ad76da-8547-469e-ba99-086721733165"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"64", ",", "100000"}], "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"15cb2dcd-e606-404d-b3de-782f51a21e36"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "88233332-7dce-4e8c-92f3-c87c28aecf1c"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"347eb5a0-68a4-4209-\
904c-652554d46e61"],

Cell["\<\
An argument that is neither a hexadecimal seed nor a phrase of words matches \
no definition:\
\>", "ExampleText",ExpressionUUID->"a0c111d5-b92a-4c79-b704-aba0534de415"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"ElectrumV1MasterPrivateKey", "[", "42", "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"1256dc90-3758-4faa-aa55-40c590b970da"],

Cell[BoxData[
 RowBox[{"ElectrumV1MasterPrivateKey", "[", "42", "]"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"ebc043a4-37f1-464a-a2fc-3b3349ca8477"]
}, Open  ]]
}, Open  ]]
}, Closed]]
}, Open  ]],

Cell[BoxData[GridBox[{
   {
    DynamicBox[FEPrivate`ImportImage[
      FrontEnd`FileName[{"Documentation", "FooterIcons"}, 
       "RelatedFunction.png"]],
     ImageSizeCache->{50., {26.47265625, 33.52734375}}], GridBox[{
      {
       StyleBox[
        RowBox[{"See", " ", "Also"}], "SeeAlsoSection"]},
      {Cell[TextData[{
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["ElectrumV1Seed"]], 
           "paclet:WolframInstitute/Puzzles/ref/ElectrumV1Seed", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "7b836eb6-55fc-4955-b5f6-d4c663d02cd0"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["ElectrumV1Mnemonic"]], 
           "paclet:WolframInstitute/Puzzles/ref/ElectrumV1Mnemonic", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "ef140f36-03e8-42d7-8299-1b585b572039"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["ElectrumSeedVersion"]], 
           "paclet:WolframInstitute/Puzzles/ref/ElectrumSeedVersion", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "30caabe4-7d90-40bb-884b-f7d1499dbc51"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["BrainwalletKey"]], 
           "paclet:WolframInstitute/Puzzles/ref/BrainwalletKey", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "04d62130-3c5e-4d4f-ba25-b2289c793f06"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["Hash"]], "paclet:ref/Hash"},
          "RefLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "bd1cdda5-5cbe-4af7-b45e-dd94c09c13fa"]
       }], "SeeAlso",ExpressionUUID->"8abd57f9-7f46-4d2c-bcc2-f8a6c0360071"]}
     }]}
  }]], "SeeAlsoSection",ExpressionUUID->"499742f3-9324-4b5a-a0df-\
4dd15a3b02a4"],

Cell[BoxData[GridBox[{
   {
    DynamicBox[FEPrivate`ImportImage[
      FrontEnd`FileName[{"Documentation", "FooterIcons"}, "RelatedGuide.png"]],
     ImageSizeCache->{50., {26.47265625, 33.52734375}}], GridBox[{
      {
       StyleBox[
        RowBox[{"Related", " ", "Guides"}], "MoreAboutSection"]},
      {
       RowBox[{"\[FilledVerySmallSquare]", Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["Seeds"]], "paclet:WolframInstitute/Puzzles/guide/Seeds"},
          "RefLinkPlain",
          BaseStyle->{"MoreAbout"}]], "MoreAbout",ExpressionUUID->
         "6763c3f6-ee35-4b94-8691-6829d6977884"]}]}
     }]}
  }]], "MoreAboutSection",ExpressionUUID->"4eb2c29a-5e02-481d-8bff-\
d804ad42679d"],

Cell[" ", "FooterCell",ExpressionUUID->"41e01043-e7b2-4a35-9c7a-fa0d82d75727"]
},
Saveable->False,
ScreenStyleEnvironment->"Working",
WindowSize->{900, 830},
WindowMargins->{{0, Automatic}, {Automatic, 0}},
WindowTitle->"ElectrumV1MasterPrivateKey",
TaggingRules->{
 "ModificationHighlight" -> False, "ColorType" -> "", "LinkTrails" -> "", 
  "ExampleCounter" -> 1, 
  "Openers" -> {
   "PrimaryExamplesSection" -> Open, "ExampleSection" -> {"0" -> Open}, 
    "AllOptsTable" -> Closed}, "NewStyles" -> True, 
  "CitationPopupData" -> $Failed, "ShowCitation" -> False, "HasOptions" -> 
  True, "RootCaptions" -> "", "HeaderCoreAreaLink" -> {}, 
  "Metadata" -> {
   "built" -> "{2026, 8, 27, 0, 11, 44.582425}", 
    "history" -> {"XX", "", "", ""}, "context" -> "WolframInstitute`Puzzles`",
     "keywords" -> {}, "specialkeywords" -> {}, 
    "tutorialcollectionlinks" -> {}, "index" -> True, "label" -> 
    "Wolfram Institute/ Puzzles Symbol", "language" -> "en", "paclet" -> 
    "WolframInstitute/Puzzles", "status" -> "None", "summary" -> 
    "PackageLink[ElectrumV1MasterPrivateKey, paclet : \
WolframInstitute/Puzzles/ref/ElectrumV1MasterPrivateKey, \
WolframInstitute/Puzzles Package Symbol][mnemonic] gives the 32-byte Electrum \
version 1 master private key of mnemonic, as a ByteArray. \
PackageLink[ElectrumV1MasterPrivateKey, paclet : \
WolframInstitute/Puzzles/ref/ElectrumV1MasterPrivateKey, \
WolframInstitute/Puzzles Package Symbol][hex] takes the hexadecimal seed \
string instead. PackageLink[ElectrumV1MasterPrivateKey, paclet : \
WolframInstitute/Puzzles/ref/ElectrumV1MasterPrivateKey, \
WolframInstitute/Puzzles Package Symbol][{word_ 1 $, word_ 2 $, ...}] takes \
the mnemonic as a list of words.", "synonyms" -> {}, "tabletags" -> {}, 
    "title" -> "ElectrumV1MasterPrivateKey", "titlemodifier" -> "", 
    "metadescription" -> "", "windowtitle" -> "ElectrumV1MasterPrivateKey", 
    "type" -> "Symbol", "uri" -> 
    "WolframInstitute/Puzzles/ref/ElectrumV1MasterPrivateKey", 
    "WorkflowDockedCell" -> ""}, "SearchTextTranslated" -> ""},
CellContext->CellGroup,
FrontEndVersion->"15.0 for Mac OS X ARM (64-bit) (May 19, 2026)",
StyleDefinitions->FrontEnd`FileName[{"Wolfram"}, "Reference.nb"],
ExpressionUUID->"85bbe53b-6929-499b-b6ca-bdae7e42a4e5"
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{
 "TextAnnotation"->{
  Cell[18812, 518, 256, 5, 70, "ExampleText",ExpressionUUID->"a6a1ad20-997f-4a25-b764-26213eb2a673",
   CellTags->"TextAnnotation"]}
 }
*)
(*CellTagsIndex
CellTagsIndex->{
 {"TextAnnotation", 36289, 1006}
 }
*)
(*NotebookFileOutline
Notebook[{
Cell[594, 21, 6355, 154, 70, "AnchorBarGrid",ExpressionUUID->"24cc958b-d23f-4aa5-aff4-08af09c36aad",
 CellID->1],
Cell[6952, 177, 107, 0, 70, "ContextNameCell",ExpressionUUID->"8610c521-14f8-4a3c-960e-69b0cb270aba"],
Cell[CellGroupData[{
Cell[7084, 181, 569, 14, 70, "ObjectNameGrid",ExpressionUUID->"f38777f5-c58e-41ea-a0a2-3cd88d12994c"],
Cell[7656, 197, 2760, 73, 70, "Usage",ExpressionUUID->"94b631ae-0514-4ef9-a05b-125f91d27d74"]
}, Open  ]],
Cell[CellGroupData[{
Cell[10453, 275, 1444, 34, 70, "NotesSection",ExpressionUUID->"1dec57e6-d028-4c1a-b9a4-566bfe5b7c72",
 CellGroupingRules->{"SectionGrouping", 50},
 CellID->1164211068],
Cell[11900, 311, 1223, 38, 70, "Notes",ExpressionUUID->"8888f1b9-fe29-4ec8-8970-19a14e3b758d"],
Cell[13126, 351, 240, 4, 70, "Notes",ExpressionUUID->"7ca96b51-db5c-40b0-ac43-aff70245d667"],
Cell[13369, 357, 190, 3, 70, "Notes",ExpressionUUID->"aa0f762b-d312-49b8-9936-227ff5549050"],
Cell[13562, 362, 828, 26, 70, "Notes",ExpressionUUID->"34e27a7b-8bae-4933-a8ff-8230ca223638"],
Cell[14393, 390, 239, 4, 70, "Notes",ExpressionUUID->"da880af0-2a33-4b88-b52d-ad8eaee694d5"],
Cell[14635, 396, 1173, 35, 70, "Notes",ExpressionUUID->"4ccc6c93-c7b2-4860-881b-9e9019a48782"]
}, Closed]],
Cell[15823, 434, 80, 0, 70, "PageDelimiter",ExpressionUUID->"cfdcfda9-0d09-469b-8597-012c78044063"],
Cell[CellGroupData[{
Cell[15928, 438, 1401, 37, 70, "PrimaryExamplesSection",ExpressionUUID->"118558bb-4470-424b-82ea-9312792fdd40",
 CellID->1171912059],
Cell[17332, 477, 216, 4, 70, "Input",ExpressionUUID->"4e6222d6-d773-4b84-a74d-f6d07d1da59d",
 CellID->1969679695],
Cell[CellGroupData[{
Cell[17573, 485, 1236, 31, 70, "ExampleSection",ExpressionUUID->"4156ba6c-128a-435a-8249-7f61d8bbd510",
 CellID->1753448976],
Cell[18812, 518, 256, 5, 70, "ExampleText",ExpressionUUID->"a6a1ad20-997f-4a25-b764-26213eb2a673",
 CellTags->"TextAnnotation"],
Cell[CellGroupData[{
Cell[19093, 527, 352, 7, 70, "Input",ExpressionUUID->"cef7107c-086b-47f9-87a3-5e82b3d3f47b"],
Cell[19448, 536, 182, 3, 70, "Output",ExpressionUUID->"3dfe89c7-3f10-4ee4-824b-465030dc1230"]
}, Open  ]],
Cell[CellGroupData[{
Cell[19667, 544, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"60526f68-0195-46e9-854d-9dc8a87013ae"],
Cell[19894, 551, 140, 1, 70, "ExampleText",ExpressionUUID->"2a8b3756-1d69-4c47-a2c8-6bea7774ad0a"],
Cell[CellGroupData[{
Cell[20059, 556, 285, 6, 70, "Input",ExpressionUUID->"38c45fc4-84f7-4caf-b566-d78a8566f203"],
Cell[20347, 564, 108, 1, 70, "Output",ExpressionUUID->"c7477d8c-aa04-44f6-8829-e67905cbb5ad"]
}, Open  ]]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[20516, 572, 1227, 31, 70, "ExampleSection",ExpressionUUID->"0b9a7768-e189-4c1a-ad34-219c2f0db000",
 CellID->1293636265],
Cell[21746, 605, 180, 3, 70, "ExampleText",ExpressionUUID->"7c9c93c0-f87c-4e4a-ba80-51bd9824fe60"],
Cell[CellGroupData[{
Cell[21951, 612, 440, 10, 70, "Input",ExpressionUUID->"84abebf7-06f3-4315-8596-dddb14de2718"],
Cell[22394, 624, 110, 1, 70, "Output",ExpressionUUID->"a538d6c6-25b5-4613-8715-3174e701092d"]
}, Open  ]],
Cell[CellGroupData[{
Cell[22541, 630, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"fcb7828a-6c05-42ef-8b97-682c2433fc35"],
Cell[22768, 637, 573, 15, 70, "ExampleText",ExpressionUUID->"d974e602-bd20-4604-b0f9-a0770ee6eadb"],
Cell[CellGroupData[{
Cell[23366, 656, 350, 7, 70, "Input",ExpressionUUID->"c6ec68ab-a0d6-438f-9328-2ffd62ed1394"],
Cell[23719, 665, 110, 1, 70, "Output",ExpressionUUID->"1887448a-43fc-4c75-b3e1-aef5b8ddbf20"]
}, Open  ]]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[23890, 673, 1244, 31, 70, "ExampleSection",ExpressionUUID->"7d830efa-d6e0-4ec3-a9d2-d4ad781f55f4",
 CellID->2123667759],
Cell[25137, 706, 239, 3, 70, "ExampleText",ExpressionUUID->"2e155c0f-9cf6-4de3-974b-f5fa104e43c8"],
Cell[CellGroupData[{
Cell[25401, 713, 311, 6, 70, "Input",ExpressionUUID->"fc33ae6b-8c6e-4f1a-a44a-c61a47cf07fc"],
Cell[25715, 721, 182, 3, 70, "Output",ExpressionUUID->"67cadc07-552b-4062-bd75-6bd942119fd0"]
}, Open  ]],
Cell[CellGroupData[{
Cell[25934, 729, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"4717087e-2027-46a4-813c-a8cbb3b860ab"],
Cell[26161, 736, 195, 3, 70, "ExampleText",ExpressionUUID->"beddddec-e1cf-4ca8-b1e4-05f05b3c9f83"],
Cell[CellGroupData[{
Cell[26381, 743, 546, 13, 70, "Input",ExpressionUUID->"b811199e-43c1-4d89-a0c5-eee58ad7dcf2"],
Cell[26930, 758, 154, 3, 70, "Output",ExpressionUUID->"5baa09c0-ee49-4bc5-a0de-2d2ca6e91c2e"]
}, Open  ]]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[27145, 768, 1237, 31, 70, "ExampleSection",ExpressionUUID->"93ab7b34-5b66-443b-92d2-884cda8b85cd",
 CellID->1305812373],
Cell[28385, 801, 208, 3, 70, "ExampleText",ExpressionUUID->"2d7572e9-6f68-4f10-bb6f-4012e8d36bbf"],
Cell[CellGroupData[{
Cell[28618, 808, 398, 10, 70, "Input",ExpressionUUID->"d2ad76da-8547-469e-ba99-086721733165"],
Cell[29019, 820, 158, 3, 70, "Output",ExpressionUUID->"15cb2dcd-e606-404d-b3de-782f51a21e36"]
}, Open  ]],
Cell[CellGroupData[{
Cell[29214, 828, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"347eb5a0-68a4-4209-904c-652554d46e61"],
Cell[29441, 835, 179, 3, 70, "ExampleText",ExpressionUUID->"a0c111d5-b92a-4c79-b704-aba0534de415"],
Cell[CellGroupData[{
Cell[29645, 842, 207, 3, 70, "Input",ExpressionUUID->"1256dc90-3758-4faa-aa55-40c590b970da"],
Cell[29855, 847, 160, 2, 70, "Output",ExpressionUUID->"ebc043a4-37f1-464a-a2fc-3b3349ca8477"]
}, Open  ]]
}, Open  ]]
}, Closed]]
}, Open  ]],
Cell[30066, 855, 3088, 81, 70, "SeeAlsoSection",ExpressionUUID->"499742f3-9324-4b5a-a0df-4dd15a3b02a4"],
Cell[33157, 938, 726, 18, 70, "MoreAboutSection",ExpressionUUID->"4eb2c29a-5e02-481d-8bff-d804ad42679d"],
Cell[33886, 958, 78, 0, 70, "FooterCell",ExpressionUUID->"41e01043-e7b2-4a35-9c7a-fa0d82d75727"]
}
]
*)

(* End of internal cache information *)

