[{"data":1,"prerenderedAt":6144},["ShallowReactive",2],{"navigation":3,"page-\u002Fdocs\u002Flearn\u002Fnano-id":3716,"surround-\u002Fdocs\u002Flearn\u002Fnano-id":6139},[4,30,34,38,43,3692,3696,3700,3704,3708,3712],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Blog","\u002Fblog","blog",[9,13,17,21,25],{"title":10,"path":11,"stem":12},"Rux 0.3.0 — Laying the Cross-Platform Groundwork","\u002Fblog\u002Frelease-v0.3.0","blog\u002F1.release-v0.3.0",{"title":14,"path":15,"stem":16},"Programming Language Without LLVM","\u002Fblog\u002Flanguage-without-llvm","blog\u002F2.language-without-llvm",{"title":18,"path":19,"stem":20},"Rux 0.2.0 — A Real Language","\u002Fblog\u002Frelease-v0.2.0","blog\u002F3.release-v0.2.0",{"title":22,"path":23,"stem":24},"Rux 0.1.0 — It Compiles!","\u002Fblog\u002Frelease-v0.1.0","blog\u002F4.release-v0.1.0",{"title":26,"path":27,"stem":28},"Getting Started","\u002Fblog\u002Fgetting-started","blog\u002F5.getting-started",false,{"title":31,"path":32,"stem":33},"Code of Conduct","\u002Fcode-of-conduct","code-of-conduct",{"title":35,"path":36,"stem":37},"Community","\u002Fcommunity","community",{"title":39,"path":40,"stem":41,"icon":42},"Design Kit","\u002Fdesign-kit","design-kit","i-lucide-palette",{"title":44,"path":45,"stem":46,"children":47},"Documentation","\u002Fdocs","docs",[48,51,1365,1910,2012,2058],{"title":49,"path":45,"stem":50},"Overview","docs\u002Findex",{"title":52,"path":53,"stem":54,"children":55},"Learn Rux","\u002Fdocs\u002Flearn","docs\u002F1.learn\u002F00.index",[56,57,78,82,98,102,106,110,117,121,125,129,133,137,141,145,149,153,157,161,165,172,176,180,184,188,192,199,203,207,211,215,219,223,227,231,235,239,243,247,251,258,262,266,270,274,278,282,286,293,297,301,305,309,313,317,321,325,332,336,340,344,348,352,356,360,364,368,372,376,380,384,391,395,399,403,407,411,415,422,426,430,434,438,442,446,453,457,461,465,469,473,477,481,485,489,493,497,501,505,509,513,517,524,528,532,536,540,544,551,555,559,563,567,571,575,579,583,587,591,598,602,606,610,614,618,622,626,630,634,640,644,648,655,659,663,667,671,675,679,686,690,694,698,702,706,710,714,718,722,726,730,734,738,742,746,750,757,761,765,769,773,777,781,785,789,793,797,801,805,809,813,817,824,828,832,836,840,844,848,852,856,860,864,868,872,879,883,887,891,895,899,903,907,911,915,919,923,930,934,938,942,946,950,954,958,965,969,973,977,981,985,989,993,997,1001,1005,1009,1016,1020,1024,1028,1032,1036,1040,1044,1048,1052,1056,1060,1067,1071,1075,1079,1083,1087,1091,1095,1099,1106,1110,1114,1118,1122,1126,1130,1134,1138,1142,1146,1150,1154,1161,1165,1169,1173,1177,1181,1185,1189,1196,1200,1204,1208,1212,1216,1223,1227,1231,1235,1239,1243,1247,1251,1255,1262,1266,1270,1274,1278,1282,1286,1290,1297,1301,1305,1309,1313,1317,1321,1325,1329,1333,1337,1341,1345,1349,1353,1357,1361],{"title":49,"path":53,"stem":54},{"title":58,"path":59,"stem":60,"children":61,"page":29},"Install","\u002Fdocs\u002Flearn\u002Finstall","docs\u002F1.learn\u002F00.start",[62,66,70,74],{"title":63,"path":64,"stem":65},"FreeBSD","\u002Fdocs\u002Flearn\u002Finstall\u002Ffreebsd","docs\u002F1.learn\u002F00.start\u002F1.install\u002F1.freebsd",{"title":67,"path":68,"stem":69},"Linux","\u002Fdocs\u002Flearn\u002Finstall\u002Flinux","docs\u002F1.learn\u002F00.start\u002F1.install\u002F2.linux",{"title":71,"path":72,"stem":73},"macOS","\u002Fdocs\u002Flearn\u002Finstall\u002Fmacos","docs\u002F1.learn\u002F00.start\u002F1.install\u002F3.macos",{"title":75,"path":76,"stem":77},"Windows","\u002Fdocs\u002Flearn\u002Finstall\u002Fwindows","docs\u002F1.learn\u002F00.start\u002F1.install\u002F4.windows",{"title":79,"path":80,"stem":81},"Build From Source","\u002Fdocs\u002Flearn\u002Fbuild","docs\u002F1.learn\u002F00.start\u002F2.build",{"title":83,"path":84,"stem":60,"children":85,"page":29},"Editors","\u002Fdocs\u002Flearn\u002Feditors",[86,90,94],{"title":87,"path":88,"stem":89},"Visual Studio Code","\u002Fdocs\u002Flearn\u002Feditors\u002Fvscode","docs\u002F1.learn\u002F00.start\u002F3.editors\u002F1.vscode",{"title":91,"path":92,"stem":93},"Sublime Text","\u002Fdocs\u002Flearn\u002Feditors\u002Fsublime","docs\u002F1.learn\u002F00.start\u002F3.editors\u002F2.sublime",{"title":95,"path":96,"stem":97},"Zed","\u002Fdocs\u002Flearn\u002Feditors\u002Fzed","docs\u002F1.learn\u002F00.start\u002F3.editors\u002F3.zed",{"title":99,"path":100,"stem":101},"First project","\u002Fdocs\u002Flearn\u002Ffirst-project","docs\u002F1.learn\u002F00.start\u002F4.first-project",{"title":103,"path":104,"stem":105},"Learn with AI","\u002Fdocs\u002Flearn\u002Fai","docs\u002F1.learn\u002F00.start\u002F5.ai",{"title":107,"path":108,"stem":109},"Cheat sheet","\u002Fdocs\u002Flearn\u002Fcheatsheet","docs\u002F1.learn\u002F00.start\u002F6.cheatsheet",{"title":111,"path":112,"stem":113,"children":114,"icon":116},"Basics","\u002Fdocs\u002Flearn\u002Fbasics","docs\u002F1.learn\u002F01.basics\u002F00.index",[115],{"title":49,"path":112,"stem":113},"i-lucide-sprout",{"title":118,"path":119,"stem":120},"1.1 Hello, World","\u002Fdocs\u002Flearn\u002Fhello","docs\u002F1.learn\u002F01.basics\u002F01.hello",{"title":122,"path":123,"stem":124},"1.2 Comment","\u002Fdocs\u002Flearn\u002Fcomment","docs\u002F1.learn\u002F01.basics\u002F02.comment",{"title":126,"path":127,"stem":128},"1.3 Variable","\u002Fdocs\u002Flearn\u002Fvariable","docs\u002F1.learn\u002F01.basics\u002F03.variable",{"title":130,"path":131,"stem":132},"1.4 Mutable","\u002Fdocs\u002Flearn\u002Fmutable","docs\u002F1.learn\u002F01.basics\u002F04.mutable",{"title":134,"path":135,"stem":136},"1.5 Integer","\u002Fdocs\u002Flearn\u002Finteger","docs\u002F1.learn\u002F01.basics\u002F05.integer",{"title":138,"path":139,"stem":140},"1.6 Float","\u002Fdocs\u002Flearn\u002Ffloat","docs\u002F1.learn\u002F01.basics\u002F06.float",{"title":142,"path":143,"stem":144},"1.7 Boolean","\u002Fdocs\u002Flearn\u002Fboolean","docs\u002F1.learn\u002F01.basics\u002F07.boolean",{"title":146,"path":147,"stem":148},"1.8 Character","\u002Fdocs\u002Flearn\u002Fcharacter","docs\u002F1.learn\u002F01.basics\u002F08.character",{"title":150,"path":151,"stem":152},"1.9 Literal","\u002Fdocs\u002Flearn\u002Fliteral","docs\u002F1.learn\u002F01.basics\u002F09.literal",{"title":154,"path":155,"stem":156},"1.10 Console","\u002Fdocs\u002Flearn\u002Fconsole","docs\u002F1.learn\u002F01.basics\u002F10.console",{"title":158,"path":159,"stem":160},"1.11 Const","\u002Fdocs\u002Flearn\u002Fconst","docs\u002F1.learn\u002F01.basics\u002F11.const",{"title":162,"path":163,"stem":164},"1.12 Convert","\u002Fdocs\u002Flearn\u002Fconvert","docs\u002F1.learn\u002F01.basics\u002F12.convert",{"title":166,"path":167,"stem":168,"children":169,"icon":171},"Operators","\u002Fdocs\u002Flearn\u002Foperators","docs\u002F1.learn\u002F02.operators\u002F00.index",[170],{"title":49,"path":167,"stem":168},"i-lucide-plus",{"title":173,"path":174,"stem":175},"2.1 Arithmetic","\u002Fdocs\u002Flearn\u002Farithmetic","docs\u002F1.learn\u002F02.operators\u002F01.arithmetic",{"title":177,"path":178,"stem":179},"2.2 Comparison","\u002Fdocs\u002Flearn\u002Fcomparison","docs\u002F1.learn\u002F02.operators\u002F02.comparison",{"title":181,"path":182,"stem":183},"2.3 Logical","\u002Fdocs\u002Flearn\u002Flogical","docs\u002F1.learn\u002F02.operators\u002F03.logical",{"title":185,"path":186,"stem":187},"2.4 Assignment","\u002Fdocs\u002Flearn\u002Fassignment","docs\u002F1.learn\u002F02.operators\u002F04.assignment",{"title":189,"path":190,"stem":191},"2.5 Precedence","\u002Fdocs\u002Flearn\u002Fprecedence","docs\u002F1.learn\u002F02.operators\u002F05.precedence",{"title":193,"path":194,"stem":195,"children":196,"icon":198},"Control flow","\u002Fdocs\u002Flearn\u002Fcontrol-flow","docs\u002F1.learn\u002F03.control-flow\u002F00.index",[197],{"title":49,"path":194,"stem":195},"i-lucide-git-branch",{"title":200,"path":201,"stem":202},"3.1 If","\u002Fdocs\u002Flearn\u002Fif","docs\u002F1.learn\u002F03.control-flow\u002F01.if",{"title":204,"path":205,"stem":206},"3.2 Else if","\u002Fdocs\u002Flearn\u002Felse-if","docs\u002F1.learn\u002F03.control-flow\u002F02.else-if",{"title":208,"path":209,"stem":210},"3.3 Ternary","\u002Fdocs\u002Flearn\u002Fternary","docs\u002F1.learn\u002F03.control-flow\u002F03.ternary",{"title":212,"path":213,"stem":214},"3.4 While","\u002Fdocs\u002Flearn\u002Fwhile","docs\u002F1.learn\u002F03.control-flow\u002F04.while",{"title":216,"path":217,"stem":218},"3.5 Do-while","\u002Fdocs\u002Flearn\u002Fdo-while","docs\u002F1.learn\u002F03.control-flow\u002F05.do-while",{"title":220,"path":221,"stem":222},"3.6 Loop","\u002Fdocs\u002Flearn\u002Floop","docs\u002F1.learn\u002F03.control-flow\u002F06.loop",{"title":224,"path":225,"stem":226},"3.7 Break","\u002Fdocs\u002Flearn\u002Fbreak","docs\u002F1.learn\u002F03.control-flow\u002F07.break",{"title":228,"path":229,"stem":230},"3.8 Continue","\u002Fdocs\u002Flearn\u002Fcontinue","docs\u002F1.learn\u002F03.control-flow\u002F08.continue",{"title":232,"path":233,"stem":234},"3.9 Range","\u002Fdocs\u002Flearn\u002Frange","docs\u002F1.learn\u002F03.control-flow\u002F09.range",{"title":236,"path":237,"stem":238},"3.10 For","\u002Fdocs\u002Flearn\u002Ffor","docs\u002F1.learn\u002F03.control-flow\u002F10.for",{"title":240,"path":241,"stem":242},"3.11 Label","\u002Fdocs\u002Flearn\u002Flabel","docs\u002F1.learn\u002F03.control-flow\u002F11.label",{"title":244,"path":245,"stem":246},"3.12 Match","\u002Fdocs\u002Flearn\u002Fmatch","docs\u002F1.learn\u002F03.control-flow\u002F12.match",{"title":248,"path":249,"stem":250},"3.13 Match expression","\u002Fdocs\u002Flearn\u002Fmatch-expression","docs\u002F1.learn\u002F03.control-flow\u002F13.match-expression",{"title":252,"path":253,"stem":254,"children":255,"icon":257},"Functions","\u002Fdocs\u002Flearn\u002Ffunctions","docs\u002F1.learn\u002F04.functions\u002F00.index",[256],{"title":49,"path":253,"stem":254},"i-lucide-square-function",{"title":259,"path":260,"stem":261},"4.1 Function","\u002Fdocs\u002Flearn\u002Ffunction","docs\u002F1.learn\u002F04.functions\u002F01.function",{"title":263,"path":264,"stem":265},"4.2 Return","\u002Fdocs\u002Flearn\u002Freturn","docs\u002F1.learn\u002F04.functions\u002F02.return",{"title":267,"path":268,"stem":269},"4.3 Recursion","\u002Fdocs\u002Flearn\u002Frecursion","docs\u002F1.learn\u002F04.functions\u002F03.recursion",{"title":271,"path":272,"stem":273},"4.4 Overload","\u002Fdocs\u002Flearn\u002Foverload","docs\u002F1.learn\u002F04.functions\u002F04.overload",{"title":275,"path":276,"stem":277},"4.5 Default argument","\u002Fdocs\u002Flearn\u002Fdefault-argument","docs\u002F1.learn\u002F04.functions\u002F05.default-argument",{"title":279,"path":280,"stem":281},"4.6 Generic","\u002Fdocs\u002Flearn\u002Fgeneric","docs\u002F1.learn\u002F04.functions\u002F06.generic",{"title":283,"path":284,"stem":285},"4.7 Callback","\u002Fdocs\u002Flearn\u002Fcallback","docs\u002F1.learn\u002F04.functions\u002F07.callback",{"title":287,"path":288,"stem":289,"children":290,"icon":292},"Sequences","\u002Fdocs\u002Flearn\u002Fsequences","docs\u002F1.learn\u002F05.sequences\u002F00.index",[291],{"title":49,"path":288,"stem":289},"i-lucide-brackets",{"title":294,"path":295,"stem":296},"5.1 Array","\u002Fdocs\u002Flearn\u002Farray","docs\u002F1.learn\u002F05.sequences\u002F01.array",{"title":298,"path":299,"stem":300},"5.2 Array repeat","\u002Fdocs\u002Flearn\u002Farray-repeat","docs\u002F1.learn\u002F05.sequences\u002F02.array-repeat",{"title":302,"path":303,"stem":304},"5.3 Array nested","\u002Fdocs\u002Flearn\u002Farray-nested","docs\u002F1.learn\u002F05.sequences\u002F03.array-nested",{"title":306,"path":307,"stem":308},"5.4 Slice","\u002Fdocs\u002Flearn\u002Fslice","docs\u002F1.learn\u002F05.sequences\u002F04.slice",{"title":310,"path":311,"stem":312},"5.5 Writable slice","\u002Fdocs\u002Flearn\u002Fwritable-slice","docs\u002F1.learn\u002F05.sequences\u002F05.writable-slice",{"title":314,"path":315,"stem":316},"5.6 Variadic","\u002Fdocs\u002Flearn\u002Fvariadic","docs\u002F1.learn\u002F05.sequences\u002F06.variadic",{"title":318,"path":319,"stem":320},"5.7 Tuple","\u002Fdocs\u002Flearn\u002Ftuple","docs\u002F1.learn\u002F05.sequences\u002F07.tuple",{"title":322,"path":323,"stem":324},"5.8 Destructure","\u002Fdocs\u002Flearn\u002Fdestructure","docs\u002F1.learn\u002F05.sequences\u002F08.destructure",{"title":326,"path":327,"stem":328,"children":329,"icon":331},"Types","\u002Fdocs\u002Flearn\u002Ftypes","docs\u002F1.learn\u002F06.types\u002F00.index",[330],{"title":49,"path":327,"stem":328},"i-lucide-shapes",{"title":333,"path":334,"stem":335},"6.1 Struct","\u002Fdocs\u002Flearn\u002Fstruct","docs\u002F1.learn\u002F06.types\u002F01.struct",{"title":337,"path":338,"stem":339},"6.2 Reference","\u002Fdocs\u002Flearn\u002Freference","docs\u002F1.learn\u002F06.types\u002F02.reference",{"title":341,"path":342,"stem":343},"6.3 Mutable reference","\u002Fdocs\u002Flearn\u002Fmutable-reference","docs\u002F1.learn\u002F06.types\u002F03.mutable-reference",{"title":345,"path":346,"stem":347},"6.4 Method","\u002Fdocs\u002Flearn\u002Fmethod","docs\u002F1.learn\u002F06.types\u002F04.method",{"title":349,"path":350,"stem":351},"6.5 Mutating method","\u002Fdocs\u002Flearn\u002Fmutating-method","docs\u002F1.learn\u002F06.types\u002F05.mutating-method",{"title":353,"path":354,"stem":355},"6.6 Constructor","\u002Fdocs\u002Flearn\u002Fconstructor","docs\u002F1.learn\u002F06.types\u002F06.constructor",{"title":357,"path":358,"stem":359},"6.7 Extension","\u002Fdocs\u002Flearn\u002Fextension","docs\u002F1.learn\u002F06.types\u002F07.extension",{"title":361,"path":362,"stem":363},"6.8 Enum","\u002Fdocs\u002Flearn\u002Fenum","docs\u002F1.learn\u002F06.types\u002F08.enum",{"title":365,"path":366,"stem":367},"6.9 Enum value","\u002Fdocs\u002Flearn\u002Fenum-value","docs\u002F1.learn\u002F06.types\u002F09.enum-value",{"title":369,"path":370,"stem":371},"6.10 Variant","\u002Fdocs\u002Flearn\u002Fvariant","docs\u002F1.learn\u002F06.types\u002F10.variant",{"title":373,"path":374,"stem":375},"6.11 Variant match","\u002Fdocs\u002Flearn\u002Fvariant-match","docs\u002F1.learn\u002F06.types\u002F11.variant-match",{"title":377,"path":378,"stem":379},"6.12 Type alias","\u002Fdocs\u002Flearn\u002Ftype-alias","docs\u002F1.learn\u002F06.types\u002F12.type-alias",{"title":381,"path":382,"stem":383},"6.13 Function field","\u002Fdocs\u002Flearn\u002Ffunction-field","docs\u002F1.learn\u002F06.types\u002F13.function-field",{"title":385,"path":386,"stem":387,"children":388,"icon":390},"Patterns","\u002Fdocs\u002Flearn\u002Fpatterns","docs\u002F1.learn\u002F07.patterns\u002F00.index",[389],{"title":49,"path":386,"stem":387},"i-lucide-scan-search",{"title":392,"path":393,"stem":394},"7.1 Guard","\u002Fdocs\u002Flearn\u002Fguard","docs\u002F1.learn\u002F07.patterns\u002F01.guard",{"title":396,"path":397,"stem":398},"7.2 Range pattern","\u002Fdocs\u002Flearn\u002Frange-pattern","docs\u002F1.learn\u002F07.patterns\u002F02.range-pattern",{"title":400,"path":401,"stem":402},"7.3 Tuple pattern","\u002Fdocs\u002Flearn\u002Ftuple-pattern","docs\u002F1.learn\u002F07.patterns\u002F03.tuple-pattern",{"title":404,"path":405,"stem":406},"7.4 Struct pattern","\u002Fdocs\u002Flearn\u002Fstruct-pattern","docs\u002F1.learn\u002F07.patterns\u002F04.struct-pattern",{"title":408,"path":409,"stem":410},"7.5 Character pattern","\u002Fdocs\u002Flearn\u002Fcharacter-pattern","docs\u002F1.learn\u002F07.patterns\u002F05.character-pattern",{"title":412,"path":413,"stem":414},"7.6 Exhaustive","\u002Fdocs\u002Flearn\u002Fexhaustive","docs\u002F1.learn\u002F07.patterns\u002F06.exhaustive",{"title":416,"path":417,"stem":418,"children":419,"icon":421},"Optionals","\u002Fdocs\u002Flearn\u002Foptionals","docs\u002F1.learn\u002F08.optionals\u002F00.index",[420],{"title":49,"path":417,"stem":418},"i-lucide-circle-dashed",{"title":423,"path":424,"stem":425},"8.1 Optional","\u002Fdocs\u002Flearn\u002Foptional","docs\u002F1.learn\u002F08.optionals\u002F01.optional",{"title":427,"path":428,"stem":429},"8.2 Presence","\u002Fdocs\u002Flearn\u002Fpresence","docs\u002F1.learn\u002F08.optionals\u002F02.presence",{"title":431,"path":432,"stem":433},"8.3 Coalesce","\u002Fdocs\u002Flearn\u002Fcoalesce","docs\u002F1.learn\u002F08.optionals\u002F03.coalesce",{"title":435,"path":436,"stem":437},"8.4 Coalesce exit","\u002Fdocs\u002Flearn\u002Fcoalesce-exit","docs\u002F1.learn\u002F08.optionals\u002F04.coalesce-exit",{"title":439,"path":440,"stem":441},"8.5 Optional propagate","\u002Fdocs\u002Flearn\u002Foptional-propagate","docs\u002F1.learn\u002F08.optionals\u002F05.optional-propagate",{"title":443,"path":444,"stem":445},"8.6 Nested optional","\u002Fdocs\u002Flearn\u002Fnested-optional","docs\u002F1.learn\u002F08.optionals\u002F06.nested-optional",{"title":447,"path":448,"stem":449,"children":450,"icon":452},"Errors","\u002Fdocs\u002Flearn\u002Ferrors","docs\u002F1.learn\u002F09.errors\u002F00.index",[451],{"title":49,"path":448,"stem":449},"i-lucide-triangle-alert",{"title":454,"path":455,"stem":456},"9.1 Fallible","\u002Fdocs\u002Flearn\u002Ffallible","docs\u002F1.learn\u002F09.errors\u002F01.fallible",{"title":458,"path":459,"stem":460},"9.2 Fail","\u002Fdocs\u002Flearn\u002Ffail","docs\u002F1.learn\u002F09.errors\u002F02.fail",{"title":462,"path":463,"stem":464},"9.3 Unit fallible","\u002Fdocs\u002Flearn\u002Funit-fallible","docs\u002F1.learn\u002F09.errors\u002F03.unit-fallible",{"title":466,"path":467,"stem":468},"9.4 Outcome","\u002Fdocs\u002Flearn\u002Foutcome","docs\u002F1.learn\u002F09.errors\u002F04.outcome",{"title":470,"path":471,"stem":472},"9.5 Discard","\u002Fdocs\u002Flearn\u002Fdiscard","docs\u002F1.learn\u002F09.errors\u002F05.discard",{"title":474,"path":475,"stem":476},"9.6 Catch","\u002Fdocs\u002Flearn\u002Fcatch","docs\u002F1.learn\u002F09.errors\u002F06.catch",{"title":478,"path":479,"stem":480},"9.7 Catch fallback","\u002Fdocs\u002Flearn\u002Fcatch-fallback","docs\u002F1.learn\u002F09.errors\u002F07.catch-fallback",{"title":482,"path":483,"stem":484},"9.8 Propagate","\u002Fdocs\u002Flearn\u002Fpropagate","docs\u002F1.learn\u002F09.errors\u002F08.propagate",{"title":486,"path":487,"stem":488},"9.9 Error variant","\u002Fdocs\u002Flearn\u002Ferror-variant","docs\u002F1.learn\u002F09.errors\u002F09.error-variant",{"title":490,"path":491,"stem":492},"9.10 Error mapping","\u002Fdocs\u002Flearn\u002Ferror-mapping","docs\u002F1.learn\u002F09.errors\u002F10.error-mapping",{"title":494,"path":495,"stem":496},"9.11 Error sum","\u002Fdocs\u002Flearn\u002Ferror-sum","docs\u002F1.learn\u002F09.errors\u002F11.error-sum",{"title":498,"path":499,"stem":500},"9.12 Fallible main","\u002Fdocs\u002Flearn\u002Ffallible-main","docs\u002F1.learn\u002F09.errors\u002F12.fallible-main",{"title":502,"path":503,"stem":504},"9.13 Absence to error","\u002Fdocs\u002Flearn\u002Fabsence-to-error","docs\u002F1.learn\u002F09.errors\u002F13.absence-to-error",{"title":506,"path":507,"stem":508},"9.14 Nested fallible","\u002Fdocs\u002Flearn\u002Fnested-fallible","docs\u002F1.learn\u002F09.errors\u002F14.nested-fallible",{"title":510,"path":511,"stem":512},"9.15 Panic","\u002Fdocs\u002Flearn\u002Fpanic","docs\u002F1.learn\u002F09.errors\u002F15.panic",{"title":514,"path":515,"stem":516},"9.16 Assert","\u002Fdocs\u002Flearn\u002Fassert","docs\u002F1.learn\u002F09.errors\u002F16.assert",{"title":518,"path":519,"stem":520,"children":521,"icon":523},"Sum types","\u002Fdocs\u002Flearn\u002Fsum-types","docs\u002F1.learn\u002F10.sum-types\u002F00.index",[522],{"title":49,"path":519,"stem":520},"i-lucide-combine",{"title":525,"path":526,"stem":527},"10.1 Sum type","\u002Fdocs\u002Flearn\u002Fsum-type","docs\u002F1.learn\u002F10.sum-types\u002F01.sum-type",{"title":529,"path":530,"stem":531},"10.2 Typed pattern","\u002Fdocs\u002Flearn\u002Ftyped-pattern","docs\u002F1.learn\u002F10.sum-types\u002F02.typed-pattern",{"title":533,"path":534,"stem":535},"10.3 Subset pattern","\u002Fdocs\u002Flearn\u002Fsubset-pattern","docs\u002F1.learn\u002F10.sum-types\u002F03.subset-pattern",{"title":537,"path":538,"stem":539},"10.4 The is operator","\u002Fdocs\u002Flearn\u002Fis","docs\u002F1.learn\u002F10.sum-types\u002F04.is",{"title":541,"path":542,"stem":543},"10.5 Sum widening","\u002Fdocs\u002Flearn\u002Fsum-widening","docs\u002F1.learn\u002F10.sum-types\u002F05.sum-widening",{"title":545,"path":546,"stem":547,"children":548,"icon":550},"Ownership","\u002Fdocs\u002Flearn\u002Fownership","docs\u002F1.learn\u002F11.ownership\u002F00.index",[549],{"title":49,"path":546,"stem":547},"i-lucide-key-round",{"title":552,"path":553,"stem":554},"11.1 Exclusivity","\u002Fdocs\u002Flearn\u002Fexclusivity","docs\u002F1.learn\u002F11.ownership\u002F01.exclusivity",{"title":556,"path":557,"stem":558},"11.2 Copy","\u002Fdocs\u002Flearn\u002Fcopy","docs\u002F1.learn\u002F11.ownership\u002F02.copy",{"title":560,"path":561,"stem":562},"11.3 Move","\u002Fdocs\u002Flearn\u002Fmove","docs\u002F1.learn\u002F11.ownership\u002F03.move",{"title":564,"path":565,"stem":566},"11.4 Destructor","\u002Fdocs\u002Flearn\u002Fdestructor","docs\u002F1.learn\u002F11.ownership\u002F04.destructor",{"title":568,"path":569,"stem":570},"11.5 Non-copyable types","\u002Fdocs\u002Flearn\u002Fno-copy","docs\u002F1.learn\u002F11.ownership\u002F05.no-copy",{"title":572,"path":573,"stem":574},"11.6 Custom copy","\u002Fdocs\u002Flearn\u002Fcustom-copy","docs\u002F1.learn\u002F11.ownership\u002F06.custom-copy",{"title":576,"path":577,"stem":578},"11.7 Partial move","\u002Fdocs\u002Flearn\u002Fpartial-move","docs\u002F1.learn\u002F11.ownership\u002F07.partial-move",{"title":580,"path":581,"stem":582},"11.8 Defer","\u002Fdocs\u002Flearn\u002Fdefer","docs\u002F1.learn\u002F11.ownership\u002F08.defer",{"title":584,"path":585,"stem":586},"11.9 Defer return","\u002Fdocs\u002Flearn\u002Fdefer-return","docs\u002F1.learn\u002F11.ownership\u002F09.defer-return",{"title":588,"path":589,"stem":590},"11.10 Initialization","\u002Fdocs\u002Flearn\u002Finitialization","docs\u002F1.learn\u002F11.ownership\u002F10.initialization",{"title":592,"path":593,"stem":594,"children":595,"icon":597},"Interfaces","\u002Fdocs\u002Flearn\u002Finterfaces","docs\u002F1.learn\u002F12.interfaces\u002F00.index",[596],{"title":49,"path":593,"stem":594},"i-lucide-plug",{"title":599,"path":600,"stem":601},"12.1 Interface","\u002Fdocs\u002Flearn\u002Finterface","docs\u002F1.learn\u002F12.interfaces\u002F01.interface",{"title":603,"path":604,"stem":605},"12.2 Interface value","\u002Fdocs\u002Flearn\u002Finterface-value","docs\u002F1.learn\u002F12.interfaces\u002F02.interface-value",{"title":607,"path":608,"stem":609},"12.3 Interface parameter","\u002Fdocs\u002Flearn\u002Finterface-parameter","docs\u002F1.learn\u002F12.interfaces\u002F03.interface-parameter",{"title":611,"path":612,"stem":613},"12.4 Display","\u002Fdocs\u002Flearn\u002Fdisplay","docs\u002F1.learn\u002F12.interfaces\u002F04.display",{"title":615,"path":616,"stem":617},"12.5 Equatable","\u002Fdocs\u002Flearn\u002Fequatable","docs\u002F1.learn\u002F12.interfaces\u002F05.equatable",{"title":619,"path":620,"stem":621},"12.6 Comparable","\u002Fdocs\u002Flearn\u002Fcomparable","docs\u002F1.learn\u002F12.interfaces\u002F06.comparable",{"title":623,"path":624,"stem":625},"12.7 Structural equality","\u002Fdocs\u002Flearn\u002Fstructural-equality","docs\u002F1.learn\u002F12.interfaces\u002F07.structural-equality",{"title":627,"path":628,"stem":629},"12.8 Operator overload","\u002Fdocs\u002Flearn\u002Foperator-overload","docs\u002F1.learn\u002F12.interfaces\u002F08.operator-overload",{"title":631,"path":632,"stem":633},"12.9 Derived operator","\u002Fdocs\u002Flearn\u002Fderived-operator","docs\u002F1.learn\u002F12.interfaces\u002F09.derived-operator",{"title":635,"path":636,"stem":637,"children":638},"12.10 Indexer","\u002Fdocs\u002Flearn\u002Findexer","docs\u002F1.learn\u002F12.interfaces\u002F10.indexer",[639],{"title":635,"path":636,"stem":637},{"title":641,"path":642,"stem":643},"12.11 Iterator","\u002Fdocs\u002Flearn\u002Fiterator","docs\u002F1.learn\u002F12.interfaces\u002F11.iterator",{"title":645,"path":646,"stem":647},"12.12 Iterable","\u002Fdocs\u002Flearn\u002Fiterable","docs\u002F1.learn\u002F12.interfaces\u002F12.iterable",{"title":649,"path":650,"stem":651,"children":652,"icon":654},"Generics","\u002Fdocs\u002Flearn\u002Fgenerics","docs\u002F1.learn\u002F13.generics\u002F00.index",[653],{"title":49,"path":650,"stem":651},"i-lucide-boxes",{"title":656,"path":657,"stem":658},"13.1 Generic type","\u002Fdocs\u002Flearn\u002Fgeneric-type","docs\u002F1.learn\u002F13.generics\u002F01.generic-type",{"title":660,"path":661,"stem":662},"13.2 Generic method","\u002Fdocs\u002Flearn\u002Fgeneric-method","docs\u002F1.learn\u002F13.generics\u002F02.generic-method",{"title":664,"path":665,"stem":666},"13.3 Generic bound","\u002Fdocs\u002Flearn\u002Fgeneric-bound","docs\u002F1.learn\u002F13.generics\u002F03.generic-bound",{"title":668,"path":669,"stem":670},"13.4 Multiple bounds","\u002Fdocs\u002Flearn\u002Fmultiple-bounds","docs\u002F1.learn\u002F13.generics\u002F04.multiple-bounds",{"title":672,"path":673,"stem":674},"13.5 Generic outcome","\u002Fdocs\u002Flearn\u002Fgeneric-outcome","docs\u002F1.learn\u002F13.generics\u002F05.generic-outcome",{"title":676,"path":677,"stem":678},"13.6 Generic sum","\u002Fdocs\u002Flearn\u002Fgeneric-sum","docs\u002F1.learn\u002F13.generics\u002F06.generic-sum",{"title":680,"path":681,"stem":682,"children":683,"icon":685},"Text","\u002Fdocs\u002Flearn\u002Ftext","docs\u002F1.learn\u002F14.text\u002F00.index",[684],{"title":49,"path":681,"stem":682},"i-lucide-type",{"title":687,"path":688,"stem":689},"14.1 String literal","\u002Fdocs\u002Flearn\u002Fstring-literal","docs\u002F1.learn\u002F14.text\u002F01.string-literal",{"title":691,"path":692,"stem":693},"14.2 Encoding","\u002Fdocs\u002Flearn\u002Fencoding","docs\u002F1.learn\u002F14.text\u002F02.encoding",{"title":695,"path":696,"stem":697},"14.3 String view","\u002Fdocs\u002Flearn\u002Fstring-view","docs\u002F1.learn\u002F14.text\u002F03.string-view",{"title":699,"path":700,"stem":701},"14.4 String","\u002Fdocs\u002Flearn\u002Fstring","docs\u002F1.learn\u002F14.text\u002F04.string",{"title":703,"path":704,"stem":705},"14.5 String builder","\u002Fdocs\u002Flearn\u002Fstring-builder","docs\u002F1.learn\u002F14.text\u002F05.string-builder",{"title":707,"path":708,"stem":709},"14.6 UTF-8","\u002Fdocs\u002Flearn\u002Futf8","docs\u002F1.learn\u002F14.text\u002F06.utf8",{"title":711,"path":712,"stem":713},"14.7 Unicode","\u002Fdocs\u002Flearn\u002Funicode","docs\u002F1.learn\u002F14.text\u002F07.unicode",{"title":715,"path":716,"stem":717},"14.8 Unicode case","\u002Fdocs\u002Flearn\u002Funicode-case","docs\u002F1.learn\u002F14.text\u002F08.unicode-case",{"title":719,"path":720,"stem":721},"14.9 Format","\u002Fdocs\u002Flearn\u002Fformat","docs\u002F1.learn\u002F14.text\u002F09.format",{"title":723,"path":724,"stem":725},"14.10 Format number","\u002Fdocs\u002Flearn\u002Fformat-number","docs\u002F1.learn\u002F14.text\u002F10.format-number",{"title":727,"path":728,"stem":729},"14.11 Render","\u002Fdocs\u002Flearn\u002Frender","docs\u002F1.learn\u002F14.text\u002F11.render",{"title":731,"path":732,"stem":733},"14.12 Parse","\u002Fdocs\u002Flearn\u002Fparse","docs\u002F1.learn\u002F14.text\u002F12.parse",{"title":735,"path":736,"stem":737},"14.13 Input","\u002Fdocs\u002Flearn\u002Finput","docs\u002F1.learn\u002F14.text\u002F13.input",{"title":739,"path":740,"stem":741},"14.14 Lines and joining","\u002Fdocs\u002Flearn\u002Fjoin-lines","docs\u002F1.learn\u002F14.text\u002F14.join-lines",{"title":743,"path":744,"stem":745},"14.15 Regular expressions","\u002Fdocs\u002Flearn\u002Fregex","docs\u002F1.learn\u002F14.text\u002F15.regex",{"title":747,"path":748,"stem":749},"14.16 Regex captures","\u002Fdocs\u002Flearn\u002Fregex-capture","docs\u002F1.learn\u002F14.text\u002F16.regex-capture",{"title":751,"path":752,"stem":753,"children":754,"icon":756},"Memory","\u002Fdocs\u002Flearn\u002Fmemory","docs\u002F1.learn\u002F15.memory\u002F00.index",[755],{"title":49,"path":752,"stem":753},"i-lucide-memory-stick",{"title":758,"path":759,"stem":760},"15.1 Pointer","\u002Fdocs\u002Flearn\u002Fpointer","docs\u002F1.learn\u002F15.memory\u002F01.pointer",{"title":762,"path":763,"stem":764},"15.2 Out parameter","\u002Fdocs\u002Flearn\u002Fout-parameter","docs\u002F1.learn\u002F15.memory\u002F02.out-parameter",{"title":766,"path":767,"stem":768},"15.3 Raw memory","\u002Fdocs\u002Flearn\u002Fraw-memory","docs\u002F1.learn\u002F15.memory\u002F03.raw-memory",{"title":770,"path":771,"stem":772},"15.4 Pointer arithmetic","\u002Fdocs\u002Flearn\u002Fpointer-arithmetic","docs\u002F1.learn\u002F15.memory\u002F04.pointer-arithmetic",{"title":774,"path":775,"stem":776},"15.5 Pointer slice","\u002Fdocs\u002Flearn\u002Fpointer-slice","docs\u002F1.learn\u002F15.memory\u002F05.pointer-slice",{"title":778,"path":779,"stem":780},"15.6 Optional pointer","\u002Fdocs\u002Flearn\u002Foptional-pointer","docs\u002F1.learn\u002F15.memory\u002F06.optional-pointer",{"title":782,"path":783,"stem":784},"15.7 Layout","\u002Fdocs\u002Flearn\u002Flayout","docs\u002F1.learn\u002F15.memory\u002F07.layout",{"title":786,"path":787,"stem":788},"15.8 Union","\u002Fdocs\u002Flearn\u002Funion","docs\u002F1.learn\u002F15.memory\u002F08.union",{"title":790,"path":791,"stem":792},"15.9 Allocator","\u002Fdocs\u002Flearn\u002Fallocator","docs\u002F1.learn\u002F15.memory\u002F09.allocator",{"title":794,"path":795,"stem":796},"15.10 Box","\u002Fdocs\u002Flearn\u002Fbox","docs\u002F1.learn\u002F15.memory\u002F10.box",{"title":798,"path":799,"stem":800},"15.11 Arena","\u002Fdocs\u002Flearn\u002Farena","docs\u002F1.learn\u002F15.memory\u002F11.arena",{"title":802,"path":803,"stem":804},"15.12 Fixed buffer","\u002Fdocs\u002Flearn\u002Ffixed-buffer","docs\u002F1.learn\u002F15.memory\u002F12.fixed-buffer",{"title":806,"path":807,"stem":808},"15.13 Pool","\u002Fdocs\u002Flearn\u002Fpool","docs\u002F1.learn\u002F15.memory\u002F13.pool",{"title":810,"path":811,"stem":812},"15.14 Zeroize","\u002Fdocs\u002Flearn\u002Fzeroize","docs\u002F1.learn\u002F15.memory\u002F14.zeroize",{"title":814,"path":815,"stem":816},"15.15 Rc","\u002Fdocs\u002Flearn\u002Frc","docs\u002F1.learn\u002F15.memory\u002F15.rc",{"title":818,"path":819,"stem":820,"children":821,"icon":823},"Numbers","\u002Fdocs\u002Flearn\u002Fnumbers","docs\u002F1.learn\u002F16.numbers\u002F00.index",[822],{"title":49,"path":819,"stem":820},"i-lucide-binary",{"title":825,"path":826,"stem":827},"16.1 Wide integer","\u002Fdocs\u002Flearn\u002Fwide-integer","docs\u002F1.learn\u002F16.numbers\u002F01.wide-integer",{"title":829,"path":830,"stem":831},"16.2 Number limit","\u002Fdocs\u002Flearn\u002Fnumber-limit","docs\u002F1.learn\u002F16.numbers\u002F02.number-limit",{"title":833,"path":834,"stem":835},"16.3 Float special","\u002Fdocs\u002Flearn\u002Ffloat-special","docs\u002F1.learn\u002F16.numbers\u002F03.float-special",{"title":837,"path":838,"stem":839},"16.4 Bitwise","\u002Fdocs\u002Flearn\u002Fbitwise","docs\u002F1.learn\u002F16.numbers\u002F04.bitwise",{"title":841,"path":842,"stem":843},"16.5 Shift","\u002Fdocs\u002Flearn\u002Fshift","docs\u002F1.learn\u002F16.numbers\u002F05.shift",{"title":845,"path":846,"stem":847},"16.6 Checked arithmetic","\u002Fdocs\u002Flearn\u002Fchecked-arithmetic","docs\u002F1.learn\u002F16.numbers\u002F06.checked-arithmetic",{"title":849,"path":850,"stem":851},"16.7 Wrapping arithmetic","\u002Fdocs\u002Flearn\u002Fwrapping-arithmetic","docs\u002F1.learn\u002F16.numbers\u002F07.wrapping-arithmetic",{"title":853,"path":854,"stem":855},"16.8 Checked convert","\u002Fdocs\u002Flearn\u002Fchecked-convert","docs\u002F1.learn\u002F16.numbers\u002F08.checked-convert",{"title":857,"path":858,"stem":859},"16.9 Bit operation","\u002Fdocs\u002Flearn\u002Fbit-operation","docs\u002F1.learn\u002F16.numbers\u002F09.bit-operation",{"title":861,"path":862,"stem":863},"16.10 Endian","\u002Fdocs\u002Flearn\u002Fendian","docs\u002F1.learn\u002F16.numbers\u002F10.endian",{"title":865,"path":866,"stem":867},"16.11 Math","\u002Fdocs\u002Flearn\u002Fmath","docs\u002F1.learn\u002F16.numbers\u002F11.math",{"title":869,"path":870,"stem":871},"16.12 Complex","\u002Fdocs\u002Flearn\u002Fcomplex","docs\u002F1.learn\u002F16.numbers\u002F12.complex",{"title":873,"path":874,"stem":875,"children":876,"icon":878},"Collections","\u002Fdocs\u002Flearn\u002Fcollections","docs\u002F1.learn\u002F17.collections\u002F00.index",[877],{"title":49,"path":874,"stem":875},"i-lucide-layers",{"title":880,"path":881,"stem":882},"17.1 Vector","\u002Fdocs\u002Flearn\u002Fvector","docs\u002F1.learn\u002F17.collections\u002F01.vector",{"title":884,"path":885,"stem":886},"17.2 Dynamic array","\u002Fdocs\u002Flearn\u002Fdynamic-array","docs\u002F1.learn\u002F17.collections\u002F02.dynamic-array",{"title":888,"path":889,"stem":890},"17.3 Deque","\u002Fdocs\u002Flearn\u002Fdeque","docs\u002F1.learn\u002F17.collections\u002F03.deque",{"title":892,"path":893,"stem":894},"17.4 Hash map","\u002Fdocs\u002Flearn\u002Fhash-map","docs\u002F1.learn\u002F17.collections\u002F04.hash-map",{"title":896,"path":897,"stem":898},"17.5 Hash set","\u002Fdocs\u002Flearn\u002Fhash-set","docs\u002F1.learn\u002F17.collections\u002F05.hash-set",{"title":900,"path":901,"stem":902},"17.6 Tree map","\u002Fdocs\u002Flearn\u002Ftree-map","docs\u002F1.learn\u002F17.collections\u002F06.tree-map",{"title":904,"path":905,"stem":906},"17.7 Tree set","\u002Fdocs\u002Flearn\u002Ftree-set","docs\u002F1.learn\u002F17.collections\u002F07.tree-set",{"title":908,"path":909,"stem":910},"17.8 Priority queue","\u002Fdocs\u002Flearn\u002Fpriority-queue","docs\u002F1.learn\u002F17.collections\u002F08.priority-queue",{"title":912,"path":913,"stem":914},"17.9 Bit set","\u002Fdocs\u002Flearn\u002Fbit-set","docs\u002F1.learn\u002F17.collections\u002F09.bit-set",{"title":916,"path":917,"stem":918},"17.10 Small vector","\u002Fdocs\u002Flearn\u002Fsmall-vector","docs\u002F1.learn\u002F17.collections\u002F10.small-vector",{"title":920,"path":921,"stem":922},"17.11 LRU cache","\u002Fdocs\u002Flearn\u002Flru-cache","docs\u002F1.learn\u002F17.collections\u002F11.lru-cache",{"title":924,"path":925,"stem":926,"children":927,"icon":929},"Algorithms","\u002Fdocs\u002Flearn\u002Falgorithms","docs\u002F1.learn\u002F18.algorithms\u002F00.index",[928],{"title":49,"path":925,"stem":926},"i-lucide-arrow-down-wide-narrow",{"title":931,"path":932,"stem":933},"18.1 Sort","\u002Fdocs\u002Flearn\u002Fsort","docs\u002F1.learn\u002F18.algorithms\u002F01.sort",{"title":935,"path":936,"stem":937},"18.2 Search","\u002Fdocs\u002Flearn\u002Fsearch","docs\u002F1.learn\u002F18.algorithms\u002F02.search",{"title":939,"path":940,"stem":941},"18.3 Binary search","\u002Fdocs\u002Flearn\u002Fbinary-search","docs\u002F1.learn\u002F18.algorithms\u002F03.binary-search",{"title":943,"path":944,"stem":945},"18.4 Min and max","\u002Fdocs\u002Flearn\u002Fmin-max","docs\u002F1.learn\u002F18.algorithms\u002F04.min-max",{"title":947,"path":948,"stem":949},"18.5 Fold","\u002Fdocs\u002Flearn\u002Ffold","docs\u002F1.learn\u002F18.algorithms\u002F05.fold",{"title":951,"path":952,"stem":953},"18.6 Iterator adaptors","\u002Fdocs\u002Flearn\u002Fiterator-adaptor","docs\u002F1.learn\u002F18.algorithms\u002F06.iterator-adaptor",{"title":955,"path":956,"stem":957},"18.7 Scan","\u002Fdocs\u002Flearn\u002Fscan","docs\u002F1.learn\u002F18.algorithms\u002F07.scan",{"title":959,"path":960,"stem":961,"children":962,"icon":964},"Files","\u002Fdocs\u002Flearn\u002Ffiles","docs\u002F1.learn\u002F19.files\u002F00.index",[963],{"title":49,"path":960,"stem":961},"i-lucide-folder-open",{"title":966,"path":967,"stem":968},"19.1 Path","\u002Fdocs\u002Flearn\u002Fpath","docs\u002F1.learn\u002F19.files\u002F01.path",{"title":970,"path":971,"stem":972},"19.2 Path join","\u002Fdocs\u002Flearn\u002Fpath-join","docs\u002F1.learn\u002F19.files\u002F02.path-join",{"title":974,"path":975,"stem":976},"19.3 Path normalize","\u002Fdocs\u002Flearn\u002Fpath-normalize","docs\u002F1.learn\u002F19.files\u002F03.path-normalize",{"title":978,"path":979,"stem":980},"19.4 File","\u002Fdocs\u002Flearn\u002Ffile","docs\u002F1.learn\u002F19.files\u002F04.file",{"title":982,"path":983,"stem":984},"19.5 Directory","\u002Fdocs\u002Flearn\u002Fdirectory","docs\u002F1.learn\u002F19.files\u002F05.directory",{"title":986,"path":987,"stem":988},"19.6 Metadata","\u002Fdocs\u002Flearn\u002Fmetadata","docs\u002F1.learn\u002F19.files\u002F06.metadata",{"title":990,"path":991,"stem":992},"19.7 Binary","\u002Fdocs\u002Flearn\u002Fbinary","docs\u002F1.learn\u002F19.files\u002F07.binary",{"title":994,"path":995,"stem":996},"19.8 Buffered I\u002FO","\u002Fdocs\u002Flearn\u002Fbuffered-io","docs\u002F1.learn\u002F19.files\u002F08.buffered-io",{"title":998,"path":999,"stem":1000},"19.9 Atomic file","\u002Fdocs\u002Flearn\u002Fatomic-file","docs\u002F1.learn\u002F19.files\u002F09.atomic-file",{"title":1002,"path":1003,"stem":1004},"19.10 Temporary file","\u002Fdocs\u002Flearn\u002Ftemporary-file","docs\u002F1.learn\u002F19.files\u002F10.temporary-file",{"title":1006,"path":1007,"stem":1008},"19.11 Memory streams","\u002Fdocs\u002Flearn\u002Fmemory-stream","docs\u002F1.learn\u002F19.files\u002F11.memory-stream",{"title":1010,"path":1011,"stem":1012,"children":1013,"icon":1015},"Utilities","\u002Fdocs\u002Flearn\u002Futilities","docs\u002F1.learn\u002F20.utilities\u002F00.index",[1014],{"title":49,"path":1011,"stem":1012},"i-lucide-wrench",{"title":1017,"path":1018,"stem":1019},"20.1 Duration","\u002Fdocs\u002Flearn\u002Fduration","docs\u002F1.learn\u002F20.utilities\u002F01.duration",{"title":1021,"path":1022,"stem":1023},"20.2 Stopwatch","\u002Fdocs\u002Flearn\u002Fstopwatch","docs\u002F1.learn\u002F20.utilities\u002F02.stopwatch",{"title":1025,"path":1026,"stem":1027},"20.3 Date","\u002Fdocs\u002Flearn\u002Fdate","docs\u002F1.learn\u002F20.utilities\u002F03.date",{"title":1029,"path":1030,"stem":1031},"20.4 Date and time","\u002Fdocs\u002Flearn\u002Fdate-time","docs\u002F1.learn\u002F20.utilities\u002F04.date-time",{"title":1033,"path":1034,"stem":1035},"20.5 Random","\u002Fdocs\u002Flearn\u002Frandom","docs\u002F1.learn\u002F20.utilities\u002F05.random",{"title":1037,"path":1038,"stem":1039},"20.6 Distribution","\u002Fdocs\u002Flearn\u002Fdistribution","docs\u002F1.learn\u002F20.utilities\u002F06.distribution",{"title":1041,"path":1042,"stem":1043},"20.7 Entropy","\u002Fdocs\u002Flearn\u002Fentropy","docs\u002F1.learn\u002F20.utilities\u002F07.entropy",{"title":1045,"path":1046,"stem":1047},"20.8 Hash","\u002Fdocs\u002Flearn\u002Fhash","docs\u002F1.learn\u002F20.utilities\u002F08.hash",{"title":1049,"path":1050,"stem":1051},"20.9 UUID","\u002Fdocs\u002Flearn\u002Fuuid","docs\u002F1.learn\u002F20.utilities\u002F09.uuid",{"title":1053,"path":1054,"stem":1055},"20.10 Nano ID","\u002Fdocs\u002Flearn\u002Fnano-id","docs\u002F1.learn\u002F20.utilities\u002F10.nano-id",{"title":1057,"path":1058,"stem":1059},"20.11 Time zone","\u002Fdocs\u002Flearn\u002Ftime-zone","docs\u002F1.learn\u002F20.utilities\u002F11.time-zone",{"title":1061,"path":1062,"stem":1063,"children":1064,"icon":1066},"Data formats","\u002Fdocs\u002Flearn\u002Fdata-formats","docs\u002F1.learn\u002F21.data-formats\u002F00.index",[1065],{"title":49,"path":1062,"stem":1063},"i-lucide-file-json",{"title":1068,"path":1069,"stem":1070},"21.1 JSON","\u002Fdocs\u002Flearn\u002Fjson","docs\u002F1.learn\u002F21.data-formats\u002F01.json",{"title":1072,"path":1073,"stem":1074},"21.2 Writing JSON","\u002Fdocs\u002Flearn\u002Fjson-write","docs\u002F1.learn\u002F21.data-formats\u002F02.json-write",{"title":1076,"path":1077,"stem":1078},"21.3 Streaming JSON","\u002Fdocs\u002Flearn\u002Fjson-stream","docs\u002F1.learn\u002F21.data-formats\u002F03.json-stream",{"title":1080,"path":1081,"stem":1082},"21.4 TOML","\u002Fdocs\u002Flearn\u002Ftoml","docs\u002F1.learn\u002F21.data-formats\u002F04.toml",{"title":1084,"path":1085,"stem":1086},"21.5 Writing TOML","\u002Fdocs\u002Flearn\u002Ftoml-write","docs\u002F1.learn\u002F21.data-formats\u002F05.toml-write",{"title":1088,"path":1089,"stem":1090},"21.6 Base64 and friends","\u002Fdocs\u002Flearn\u002Fbase-encoding","docs\u002F1.learn\u002F21.data-formats\u002F06.base-encoding",{"title":1092,"path":1093,"stem":1094},"21.7 URL","\u002Fdocs\u002Flearn\u002Furl","docs\u002F1.learn\u002F21.data-formats\u002F07.url",{"title":1096,"path":1097,"stem":1098},"21.8 Compress","\u002Fdocs\u002Flearn\u002Fcompress","docs\u002F1.learn\u002F21.data-formats\u002F08.compress",{"title":1100,"path":1101,"stem":1102,"children":1103,"icon":1105},"Packages","\u002Fdocs\u002Flearn\u002Fpackages","docs\u002F1.learn\u002F22.packages\u002F00.index",[1104],{"title":49,"path":1101,"stem":1102},"i-lucide-package",{"title":1107,"path":1108,"stem":1109},"22.1 Module","\u002Fdocs\u002Flearn\u002Fmodule","docs\u002F1.learn\u002F22.packages\u002F01.module",{"title":1111,"path":1112,"stem":1113},"22.2 Visibility","\u002Fdocs\u002Flearn\u002Fvisibility","docs\u002F1.learn\u002F22.packages\u002F02.visibility",{"title":1115,"path":1116,"stem":1117},"22.3 Package","\u002Fdocs\u002Flearn\u002Fpackage","docs\u002F1.learn\u002F22.packages\u002F03.package",{"title":1119,"path":1120,"stem":1121},"22.4 Dependency","\u002Fdocs\u002Flearn\u002Fdependency","docs\u002F1.learn\u002F22.packages\u002F04.dependency",{"title":1123,"path":1124,"stem":1125},"22.5 Workspace","\u002Fdocs\u002Flearn\u002Fworkspace","docs\u002F1.learn\u002F22.packages\u002F05.workspace",{"title":1127,"path":1128,"stem":1129},"22.6 Source library","\u002Fdocs\u002Flearn\u002Fsource-library","docs\u002F1.learn\u002F22.packages\u002F06.source-library",{"title":1131,"path":1132,"stem":1133},"22.7 Static library","\u002Fdocs\u002Flearn\u002Fstatic-library","docs\u002F1.learn\u002F22.packages\u002F07.static-library",{"title":1135,"path":1136,"stem":1137},"22.8 Shared library","\u002Fdocs\u002Flearn\u002Fshared-library","docs\u002F1.learn\u002F22.packages\u002F08.shared-library",{"title":1139,"path":1140,"stem":1141},"22.9 Documentation","\u002Fdocs\u002Flearn\u002Fdocumentation","docs\u002F1.learn\u002F22.packages\u002F09.documentation",{"title":1143,"path":1144,"stem":1145},"22.10 Tooling","\u002Fdocs\u002Flearn\u002Ftooling","docs\u002F1.learn\u002F22.packages\u002F10.tooling",{"title":1147,"path":1148,"stem":1149},"22.11 Unit tests","\u002Fdocs\u002Flearn\u002Funit-test","docs\u002F1.learn\u002F22.packages\u002F11.unit-test",{"title":1151,"path":1152,"stem":1153},"22.12 Benchmark","\u002Fdocs\u002Flearn\u002Fbenchmark","docs\u002F1.learn\u002F22.packages\u002F12.benchmark",{"title":1155,"path":1156,"stem":1157,"children":1158,"icon":1160},"Compile time","\u002Fdocs\u002Flearn\u002Fcompile-time","docs\u002F1.learn\u002F23.compile-time\u002F00.index",[1159],{"title":49,"path":1156,"stem":1157},"i-lucide-cpu",{"title":1162,"path":1163,"stem":1164},"23.1 When","\u002Fdocs\u002Flearn\u002Fwhen","docs\u002F1.learn\u002F23.compile-time\u002F01.when",{"title":1166,"path":1167,"stem":1168},"23.2 Target","\u002Fdocs\u002Flearn\u002Ftarget","docs\u002F1.learn\u002F23.compile-time\u002F02.target",{"title":1170,"path":1171,"stem":1172},"23.3 Build mode","\u002Fdocs\u002Flearn\u002Fbuild-mode","docs\u002F1.learn\u002F23.compile-time\u002F03.build-mode",{"title":1174,"path":1175,"stem":1176},"23.4 Source location","\u002Fdocs\u002Flearn\u002Fsource-location","docs\u002F1.learn\u002F23.compile-time\u002F04.source-location",{"title":1178,"path":1179,"stem":1180},"23.5 Compile error","\u002Fdocs\u002Flearn\u002Fcompile-error","docs\u002F1.learn\u002F23.compile-time\u002F05.compile-error",{"title":1182,"path":1183,"stem":1184},"23.6 Define","\u002Fdocs\u002Flearn\u002Fdefine","docs\u002F1.learn\u002F23.compile-time\u002F06.define",{"title":1186,"path":1187,"stem":1188},"23.7 Intrinsic","\u002Fdocs\u002Flearn\u002Fintrinsic","docs\u002F1.learn\u002F23.compile-time\u002F07.intrinsic",{"title":1190,"path":1191,"stem":1192,"children":1193,"icon":1195},"Platform","\u002Fdocs\u002Flearn\u002Fplatform","docs\u002F1.learn\u002F24.platform\u002F00.index",[1194],{"title":49,"path":1191,"stem":1192},"i-lucide-monitor-cog",{"title":1197,"path":1198,"stem":1199},"24.1 Extern","\u002Fdocs\u002Flearn\u002Fextern","docs\u002F1.learn\u002F24.platform\u002F01.extern",{"title":1201,"path":1202,"stem":1203},"24.2 C interop","\u002Fdocs\u002Flearn\u002Fc-interop","docs\u002F1.learn\u002F24.platform\u002F02.c-interop",{"title":1205,"path":1206,"stem":1207},"24.3 ABI","\u002Fdocs\u002Flearn\u002Fabi","docs\u002F1.learn\u002F24.platform\u002F03.abi",{"title":1209,"path":1210,"stem":1211},"24.4 Assembly","\u002Fdocs\u002Flearn\u002Fasm","docs\u002F1.learn\u002F24.platform\u002F04.asm",{"title":1213,"path":1214,"stem":1215},"24.5 ARM assembly","\u002Fdocs\u002Flearn\u002Fasm-arm","docs\u002F1.learn\u002F24.platform\u002F05.asm-arm",{"title":1217,"path":1218,"stem":1219,"children":1220,"icon":1222},"Concurrency","\u002Fdocs\u002Flearn\u002Fconcurrency","docs\u002F1.learn\u002F25.concurrency\u002F00.index",[1221],{"title":49,"path":1218,"stem":1219},"i-lucide-git-fork",{"title":1224,"path":1225,"stem":1226},"25.1 Thread","\u002Fdocs\u002Flearn\u002Fthread","docs\u002F1.learn\u002F25.concurrency\u002F01.thread",{"title":1228,"path":1229,"stem":1230},"25.2 Atomic","\u002Fdocs\u002Flearn\u002Fatomic","docs\u002F1.learn\u002F25.concurrency\u002F02.atomic",{"title":1232,"path":1233,"stem":1234},"25.3 Mutex","\u002Fdocs\u002Flearn\u002Fmutex","docs\u002F1.learn\u002F25.concurrency\u002F03.mutex",{"title":1236,"path":1237,"stem":1238},"25.4 Arc","\u002Fdocs\u002Flearn\u002Farc","docs\u002F1.learn\u002F25.concurrency\u002F04.arc",{"title":1240,"path":1241,"stem":1242},"25.5 Channel","\u002Fdocs\u002Flearn\u002Fchannel","docs\u002F1.learn\u002F25.concurrency\u002F05.channel",{"title":1244,"path":1245,"stem":1246},"25.6 Wait group","\u002Fdocs\u002Flearn\u002Fwait-group","docs\u002F1.learn\u002F25.concurrency\u002F06.wait-group",{"title":1248,"path":1249,"stem":1250},"25.7 Once","\u002Fdocs\u002Flearn\u002Fonce","docs\u002F1.learn\u002F25.concurrency\u002F07.once",{"title":1252,"path":1253,"stem":1254},"25.8 Read-write lock","\u002Fdocs\u002Flearn\u002Frw-lock","docs\u002F1.learn\u002F25.concurrency\u002F08.rw-lock",{"title":1256,"path":1257,"stem":1258,"children":1259,"icon":1261},"Systems","\u002Fdocs\u002Flearn\u002Fsystems","docs\u002F1.learn\u002F26.systems\u002F00.index",[1260],{"title":49,"path":1257,"stem":1258},"i-lucide-terminal",{"title":1263,"path":1264,"stem":1265},"26.1 Environment","\u002Fdocs\u002Flearn\u002Fenvironment","docs\u002F1.learn\u002F26.systems\u002F01.environment",{"title":1267,"path":1268,"stem":1269},"26.2 Child process","\u002Fdocs\u002Flearn\u002Fchild-process","docs\u002F1.learn\u002F26.systems\u002F02.child-process",{"title":1271,"path":1272,"stem":1273},"26.3 Command line","\u002Fdocs\u002Flearn\u002Fcommand-line","docs\u002F1.learn\u002F26.systems\u002F03.command-line",{"title":1275,"path":1276,"stem":1277},"26.4 Log","\u002Fdocs\u002Flearn\u002Flog","docs\u002F1.learn\u002F26.systems\u002F04.log",{"title":1279,"path":1280,"stem":1281},"26.5 IP addresses","\u002Fdocs\u002Flearn\u002Fip-address","docs\u002F1.learn\u002F26.systems\u002F05.ip-address",{"title":1283,"path":1284,"stem":1285},"26.6 TCP","\u002Fdocs\u002Flearn\u002Ftcp","docs\u002F1.learn\u002F26.systems\u002F06.tcp",{"title":1287,"path":1288,"stem":1289},"26.7 UDP","\u002Fdocs\u002Flearn\u002Fudp","docs\u002F1.learn\u002F26.systems\u002F07.udp",{"title":1291,"path":1292,"stem":1293,"children":1294,"icon":1296},"Projects","\u002Fdocs\u002Flearn\u002Fprojects","docs\u002F1.learn\u002F27.projects\u002F00.index",[1295],{"title":49,"path":1292,"stem":1293},"i-lucide-hammer",{"title":1298,"path":1299,"stem":1300},"27.1 Thanks","\u002Fdocs\u002Flearn\u002Fthanks","docs\u002F1.learn\u002F27.projects\u002F01.thanks",{"title":1302,"path":1303,"stem":1304},"27.2 FizzBuzz","\u002Fdocs\u002Flearn\u002Ffizz-buzz","docs\u002F1.learn\u002F27.projects\u002F02.fizz-buzz",{"title":1306,"path":1307,"stem":1308},"27.3 Temperature","\u002Fdocs\u002Flearn\u002Ftemperature","docs\u002F1.learn\u002F27.projects\u002F03.temperature",{"title":1310,"path":1311,"stem":1312},"27.4 Prime","\u002Fdocs\u002Flearn\u002Fprime","docs\u002F1.learn\u002F27.projects\u002F04.prime",{"title":1314,"path":1315,"stem":1316},"27.5 Calculator","\u002Fdocs\u002Flearn\u002Fcalculator","docs\u002F1.learn\u002F27.projects\u002F05.calculator",{"title":1318,"path":1319,"stem":1320},"27.6 Circle","\u002Fdocs\u002Flearn\u002Fcircle","docs\u002F1.learn\u002F27.projects\u002F06.circle",{"title":1322,"path":1323,"stem":1324},"27.7 Quadratic","\u002Fdocs\u002Flearn\u002Fquadratic","docs\u002F1.learn\u002F27.projects\u002F07.quadratic",{"title":1326,"path":1327,"stem":1328},"27.8 Word count","\u002Fdocs\u002Flearn\u002Fword-count","docs\u002F1.learn\u002F27.projects\u002F08.word-count",{"title":1330,"path":1331,"stem":1332},"27.9 Inventory","\u002Fdocs\u002Flearn\u002Finventory","docs\u002F1.learn\u002F27.projects\u002F09.inventory",{"title":1334,"path":1335,"stem":1336},"27.10 Statistics","\u002Fdocs\u002Flearn\u002Fstatistics","docs\u002F1.learn\u002F27.projects\u002F10.statistics",{"title":1338,"path":1339,"stem":1340},"27.11 Guess","\u002Fdocs\u002Flearn\u002Fguess","docs\u002F1.learn\u002F27.projects\u002F11.guess",{"title":1342,"path":1343,"stem":1344},"27.12 Age","\u002Fdocs\u002Flearn\u002Fage","docs\u002F1.learn\u002F27.projects\u002F12.age",{"title":1346,"path":1347,"stem":1348},"27.13 Password","\u002Fdocs\u002Flearn\u002Fpassword","docs\u002F1.learn\u002F27.projects\u002F13.password",{"title":1350,"path":1351,"stem":1352},"27.14 Launch","\u002Fdocs\u002Flearn\u002Flaunch","docs\u002F1.learn\u002F27.projects\u002F14.launch",{"title":1354,"path":1355,"stem":1356},"27.15 Notes","\u002Fdocs\u002Flearn\u002Fnotes","docs\u002F1.learn\u002F27.projects\u002F15.notes",{"title":1358,"path":1359,"stem":1360},"27.16 Melody","\u002Fdocs\u002Flearn\u002Fmelody","docs\u002F1.learn\u002F27.projects\u002F16.melody",{"title":1362,"path":1363,"stem":1364},"27.17 Grep","\u002Fdocs\u002Flearn\u002Fgrep","docs\u002F1.learn\u002F27.projects\u002F17.grep",{"title":1366,"path":1367,"stem":1368,"children":1369},"Rux Reference","\u002Fdocs\u002Flang","docs\u002F2.lang\u002Findex",[1370,1371,1375,1403,1433,1457,1497,1521,1532,1556,1576,1584,1596,1604,1612,1620,1628,1636,1648,1663,1678,1696,1711,1730,1758,1777,1793,1821,1865,1881,1893],{"title":49,"path":1367,"stem":1368},{"title":1372,"path":1373,"stem":1374},"Introduction","\u002Fdocs\u002Flang\u002Fintroduction","docs\u002F2.lang\u002F01.introduction",{"title":1376,"path":1377,"stem":1378,"children":1379,"page":29},"Lexical Structure","\u002Fdocs\u002Flang\u002Flexical","docs\u002F2.lang\u002F02.lexical",[1380,1384,1388,1392,1396,1400],{"title":1381,"path":1382,"stem":1383},"Source Files","\u002Fdocs\u002Flang\u002Flexical\u002Fsource-files","docs\u002F2.lang\u002F02.lexical\u002F1.source-files",{"title":1385,"path":1386,"stem":1387},"Comments","\u002Fdocs\u002Flang\u002Flexical\u002Fcomments","docs\u002F2.lang\u002F02.lexical\u002F2.comments",{"title":1389,"path":1390,"stem":1391},"Identifiers","\u002Fdocs\u002Flang\u002Flexical\u002Fidentifiers","docs\u002F2.lang\u002F02.lexical\u002F3.identifiers",{"title":1393,"path":1394,"stem":1395},"Keywords","\u002Fdocs\u002Flang\u002Flexical\u002Fkeywords","docs\u002F2.lang\u002F02.lexical\u002F4.keywords",{"title":1397,"path":1398,"stem":1399},"Literals","\u002Fdocs\u002Flang\u002Flexical\u002Fliterals","docs\u002F2.lang\u002F02.lexical\u002F5.literals",{"title":166,"path":1401,"stem":1402},"\u002Fdocs\u002Flang\u002Flexical\u002Foperators","docs\u002F2.lang\u002F02.lexical\u002F6.operators",{"title":326,"path":1404,"stem":1405,"children":1406,"page":29},"\u002Fdocs\u002Flang\u002Ftypes","docs\u002F2.lang\u002F03.types",[1407,1410,1414,1418,1422,1426,1429],{"title":49,"path":1408,"stem":1409},"\u002Fdocs\u002Flang\u002Ftypes\u002Foverview","docs\u002F2.lang\u002F03.types\u002F1.overview",{"title":1411,"path":1412,"stem":1413},"Integers","\u002Fdocs\u002Flang\u002Ftypes\u002Fintegers","docs\u002F2.lang\u002F03.types\u002F2.integers",{"title":1415,"path":1416,"stem":1417},"Floating-Point","\u002Fdocs\u002Flang\u002Ftypes\u002Ffloating-point","docs\u002F2.lang\u002F03.types\u002F3.floating-point",{"title":1419,"path":1420,"stem":1421},"Booleans","\u002Fdocs\u002Flang\u002Ftypes\u002Fbooleans","docs\u002F2.lang\u002F03.types\u002F4.booleans",{"title":1423,"path":1424,"stem":1425},"Characters","\u002Fdocs\u002Flang\u002Ftypes\u002Fcharacters","docs\u002F2.lang\u002F03.types\u002F5.characters",{"title":680,"path":1427,"stem":1428},"\u002Fdocs\u002Flang\u002Ftypes\u002Ftext","docs\u002F2.lang\u002F03.types\u002F6.text",{"title":1430,"path":1431,"stem":1432},"Aliases","\u002Fdocs\u002Flang\u002Ftypes\u002Faliases","docs\u002F2.lang\u002F03.types\u002F7.aliases",{"title":1434,"path":1435,"stem":1436,"children":1437,"page":29},"Bindings","\u002Fdocs\u002Flang\u002Fbindings","docs\u002F2.lang\u002F04.bindings",[1438,1441,1445,1449,1453],{"title":49,"path":1439,"stem":1440},"\u002Fdocs\u002Flang\u002Fbindings\u002Foverview","docs\u002F2.lang\u002F04.bindings\u002F1.overview",{"title":1442,"path":1443,"stem":1444},"Constants","\u002Fdocs\u002Flang\u002Fbindings\u002Fconstants","docs\u002F2.lang\u002F04.bindings\u002F2.constants",{"title":1446,"path":1447,"stem":1448},"Initialization","\u002Fdocs\u002Flang\u002Fbindings\u002Finitialization","docs\u002F2.lang\u002F04.bindings\u002F3.initialization",{"title":1450,"path":1451,"stem":1452},"Destructuring","\u002Fdocs\u002Flang\u002Fbindings\u002Fdestructuring","docs\u002F2.lang\u002F04.bindings\u002F4.destructuring",{"title":1454,"path":1455,"stem":1456},"Module variables","\u002Fdocs\u002Flang\u002Fbindings\u002Fmodule-variables","docs\u002F2.lang\u002F04.bindings\u002F5.module-variables",{"title":1458,"path":1459,"stem":1460,"children":1461,"page":29},"Expressions","\u002Fdocs\u002Flang\u002Fexpressions","docs\u002F2.lang\u002F05.expressions",[1462,1465,1469,1473,1477,1481,1485,1489,1493],{"title":49,"path":1463,"stem":1464},"\u002Fdocs\u002Flang\u002Fexpressions\u002Foverview","docs\u002F2.lang\u002F05.expressions\u002F1.overview",{"title":1466,"path":1467,"stem":1468},"Arithmetic","\u002Fdocs\u002Flang\u002Fexpressions\u002Farithmetic","docs\u002F2.lang\u002F05.expressions\u002F2.arithmetic",{"title":1470,"path":1471,"stem":1472},"Comparison","\u002Fdocs\u002Flang\u002Fexpressions\u002Fcomparison","docs\u002F2.lang\u002F05.expressions\u002F3.comparison",{"title":1474,"path":1475,"stem":1476},"Logical","\u002Fdocs\u002Flang\u002Fexpressions\u002Flogical","docs\u002F2.lang\u002F05.expressions\u002F4.logical",{"title":1478,"path":1479,"stem":1480},"Bitwise","\u002Fdocs\u002Flang\u002Fexpressions\u002Fbitwise","docs\u002F2.lang\u002F05.expressions\u002F5.bitwise",{"title":1482,"path":1483,"stem":1484},"Shift","\u002Fdocs\u002Flang\u002Fexpressions\u002Fshift","docs\u002F2.lang\u002F05.expressions\u002F6.shift",{"title":1486,"path":1487,"stem":1488},"Assignment","\u002Fdocs\u002Flang\u002Fexpressions\u002Fassignment","docs\u002F2.lang\u002F05.expressions\u002F7.assignment",{"title":1490,"path":1491,"stem":1492},"Conditional","\u002Fdocs\u002Flang\u002Fexpressions\u002Fconditional","docs\u002F2.lang\u002F05.expressions\u002F8.conditional",{"title":1494,"path":1495,"stem":1496},"Casts","\u002Fdocs\u002Flang\u002Fexpressions\u002Fcasts","docs\u002F2.lang\u002F05.expressions\u002F9.casts",{"title":1498,"path":1499,"stem":1500,"children":1501,"page":29},"Statements","\u002Fdocs\u002Flang\u002Fstatements","docs\u002F2.lang\u002F06.statements",[1502,1505,1509,1513,1517],{"title":49,"path":1503,"stem":1504},"\u002Fdocs\u002Flang\u002Fstatements\u002Foverview","docs\u002F2.lang\u002F06.statements\u002F1.overview",{"title":1506,"path":1507,"stem":1508},"if","\u002Fdocs\u002Flang\u002Fstatements\u002Fif","docs\u002F2.lang\u002F06.statements\u002F2.if",{"title":1510,"path":1511,"stem":1512},"Loops","\u002Fdocs\u002Flang\u002Fstatements\u002Floops","docs\u002F2.lang\u002F06.statements\u002F3.loops",{"title":1514,"path":1515,"stem":1516},"break \u002F continue","\u002Fdocs\u002Flang\u002Fstatements\u002Fbreak-continue","docs\u002F2.lang\u002F06.statements\u002F4.break-continue",{"title":1518,"path":1519,"stem":1520},"return","\u002Fdocs\u002Flang\u002Fstatements\u002Freturn","docs\u002F2.lang\u002F06.statements\u002F5.return",{"title":385,"path":1522,"stem":1523,"children":1524,"page":29},"\u002Fdocs\u002Flang\u002Fpatterns","docs\u002F2.lang\u002F07.patterns",[1525,1529],{"title":1526,"path":1527,"stem":1528},"match","\u002Fdocs\u002Flang\u002Fpatterns\u002Fmatch","docs\u002F2.lang\u002F07.patterns\u002F1.match",{"title":385,"path":1530,"stem":1531},"\u002Fdocs\u002Flang\u002Fpatterns\u002Fpatterns","docs\u002F2.lang\u002F07.patterns\u002F2.patterns",{"title":252,"path":1533,"stem":1534,"children":1535,"page":29},"\u002Fdocs\u002Flang\u002Ffunctions","docs\u002F2.lang\u002F08.functions",[1536,1540,1544,1548,1552],{"title":1537,"path":1538,"stem":1539},"Declaration","\u002Fdocs\u002Flang\u002Ffunctions\u002Fdeclaration","docs\u002F2.lang\u002F08.functions\u002F1.declaration",{"title":1541,"path":1542,"stem":1543},"Parameters","\u002Fdocs\u002Flang\u002Ffunctions\u002Fparameters","docs\u002F2.lang\u002F08.functions\u002F2.parameters",{"title":1545,"path":1546,"stem":1547},"Overloading","\u002Fdocs\u002Flang\u002Ffunctions\u002Foverloading","docs\u002F2.lang\u002F08.functions\u002F3.overloading",{"title":1549,"path":1550,"stem":1551},"Function types","\u002Fdocs\u002Flang\u002Ffunctions\u002Ffunction-types","docs\u002F2.lang\u002F08.functions\u002F4.function-types",{"title":1553,"path":1554,"stem":1555},"Main","\u002Fdocs\u002Flang\u002Ffunctions\u002Fmain","docs\u002F2.lang\u002F08.functions\u002F5.main",{"title":1557,"path":1558,"stem":1559,"children":1560,"page":29},"Structures","\u002Fdocs\u002Flang\u002Fstructs","docs\u002F2.lang\u002F09.structs",[1561,1564,1568,1572],{"title":49,"path":1562,"stem":1563},"\u002Fdocs\u002Flang\u002Fstructs\u002Foverview","docs\u002F2.lang\u002F09.structs\u002F1.overview",{"title":1565,"path":1566,"stem":1567},"Methods","\u002Fdocs\u002Flang\u002Fstructs\u002Fmethods","docs\u002F2.lang\u002F09.structs\u002F2.methods",{"title":1569,"path":1570,"stem":1571},"Constructors","\u002Fdocs\u002Flang\u002Fstructs\u002Fconstructors","docs\u002F2.lang\u002F09.structs\u002F3.constructors",{"title":1573,"path":1574,"stem":1575},"Extensions","\u002Fdocs\u002Flang\u002Fstructs\u002Fextensions","docs\u002F2.lang\u002F09.structs\u002F4.extensions",{"title":1577,"path":1578,"stem":1579,"children":1580,"page":29},"Enumerations","\u002Fdocs\u002Flang\u002Fenums","docs\u002F2.lang\u002F10.enums",[1581],{"title":49,"path":1582,"stem":1583},"\u002Fdocs\u002Flang\u002Fenums\u002Foverview","docs\u002F2.lang\u002F10.enums\u002F1.overview",{"title":1585,"path":1586,"stem":1587,"children":1588,"page":29},"Variants","\u002Fdocs\u002Flang\u002Fvariants","docs\u002F2.lang\u002F11.variants",[1589,1592],{"title":49,"path":1590,"stem":1591},"\u002Fdocs\u002Flang\u002Fvariants\u002Foverview","docs\u002F2.lang\u002F11.variants\u002F1.overview",{"title":1593,"path":1594,"stem":1595},"Matching","\u002Fdocs\u002Flang\u002Fvariants\u002Fmatching","docs\u002F2.lang\u002F11.variants\u002F2.matching",{"title":1597,"path":1598,"stem":1599,"children":1600,"page":29},"Unions","\u002Fdocs\u002Flang\u002Funions","docs\u002F2.lang\u002F12.unions",[1601],{"title":49,"path":1602,"stem":1603},"\u002Fdocs\u002Flang\u002Funions\u002Foverview","docs\u002F2.lang\u002F12.unions\u002F1.overview",{"title":1605,"path":1606,"stem":1607,"children":1608,"page":29},"Tuples","\u002Fdocs\u002Flang\u002Ftuples","docs\u002F2.lang\u002F13.tuples",[1609],{"title":49,"path":1610,"stem":1611},"\u002Fdocs\u002Flang\u002Ftuples\u002Foverview","docs\u002F2.lang\u002F13.tuples\u002F1.overview",{"title":1613,"path":1614,"stem":1615,"children":1616,"page":29},"Arrays","\u002Fdocs\u002Flang\u002Farrays","docs\u002F2.lang\u002F14.arrays",[1617],{"title":49,"path":1618,"stem":1619},"\u002Fdocs\u002Flang\u002Farrays\u002Foverview","docs\u002F2.lang\u002F14.arrays\u002F1.overview",{"title":1621,"path":1622,"stem":1623,"children":1624,"page":29},"Slices","\u002Fdocs\u002Flang\u002Fslices","docs\u002F2.lang\u002F15.slices",[1625],{"title":49,"path":1626,"stem":1627},"\u002Fdocs\u002Flang\u002Fslices\u002Foverview","docs\u002F2.lang\u002F15.slices\u002F1.overview",{"title":1629,"path":1630,"stem":1631,"children":1632,"page":29},"Ranges","\u002Fdocs\u002Flang\u002Franges","docs\u002F2.lang\u002F16.ranges",[1633],{"title":49,"path":1634,"stem":1635},"\u002Fdocs\u002Flang\u002Franges\u002Foverview","docs\u002F2.lang\u002F16.ranges\u002F1.overview",{"title":1637,"path":1638,"stem":1639,"children":1640,"page":29},"References","\u002Fdocs\u002Flang\u002Freferences","docs\u002F2.lang\u002F17.references",[1641,1644],{"title":49,"path":1642,"stem":1643},"\u002Fdocs\u002Flang\u002Freferences\u002Foverview","docs\u002F2.lang\u002F17.references\u002F1.overview",{"title":1645,"path":1646,"stem":1647},"Exclusivity","\u002Fdocs\u002Flang\u002Freferences\u002Fexclusivity","docs\u002F2.lang\u002F17.references\u002F2.exclusivity",{"title":1649,"path":1650,"stem":1651,"children":1652,"page":29},"Pointers","\u002Fdocs\u002Flang\u002Fpointers","docs\u002F2.lang\u002F18.pointers",[1653,1656,1659],{"title":49,"path":1654,"stem":1655},"\u002Fdocs\u002Flang\u002Fpointers\u002Foverview","docs\u002F2.lang\u002F18.pointers\u002F1.overview",{"title":1466,"path":1657,"stem":1658},"\u002Fdocs\u002Flang\u002Fpointers\u002Farithmetic","docs\u002F2.lang\u002F18.pointers\u002F2.arithmetic",{"title":1660,"path":1661,"stem":1662},"Slicing","\u002Fdocs\u002Flang\u002Fpointers\u002Fslicing","docs\u002F2.lang\u002F18.pointers\u002F3.slicing",{"title":416,"path":1664,"stem":1665,"children":1666,"page":29},"\u002Fdocs\u002Flang\u002Foptionals","docs\u002F2.lang\u002F19.optionals",[1667,1670,1674],{"title":49,"path":1668,"stem":1669},"\u002Fdocs\u002Flang\u002Foptionals\u002Foverview","docs\u002F2.lang\u002F19.optionals\u002F1.overview",{"title":1671,"path":1672,"stem":1673},"Coalescing","\u002Fdocs\u002Flang\u002Foptionals\u002Fcoalescing","docs\u002F2.lang\u002F19.optionals\u002F2.coalescing",{"title":1675,"path":1676,"stem":1677},"Propagation","\u002Fdocs\u002Flang\u002Foptionals\u002Fpropagation","docs\u002F2.lang\u002F19.optionals\u002F3.propagation",{"title":447,"path":1679,"stem":1680,"children":1681,"page":29},"\u002Fdocs\u002Flang\u002Ferrors","docs\u002F2.lang\u002F20.errors",[1682,1685,1689,1692],{"title":49,"path":1683,"stem":1684},"\u002Fdocs\u002Flang\u002Ferrors\u002Foverview","docs\u002F2.lang\u002F20.errors\u002F1.overview",{"title":1686,"path":1687,"stem":1688},"Handling","\u002Fdocs\u002Flang\u002Ferrors\u002Fhandling","docs\u002F2.lang\u002F20.errors\u002F2.handling",{"title":1675,"path":1690,"stem":1691},"\u002Fdocs\u002Flang\u002Ferrors\u002Fpropagation","docs\u002F2.lang\u002F20.errors\u002F3.propagation",{"title":1693,"path":1694,"stem":1695},"Panics","\u002Fdocs\u002Flang\u002Ferrors\u002Fpanics","docs\u002F2.lang\u002F20.errors\u002F4.panics",{"title":1697,"path":1698,"stem":1699,"children":1700,"page":29},"Sum Types","\u002Fdocs\u002Flang\u002Fsums","docs\u002F2.lang\u002F21.sums",[1701,1704,1707],{"title":49,"path":1702,"stem":1703},"\u002Fdocs\u002Flang\u002Fsums\u002Foverview","docs\u002F2.lang\u002F21.sums\u002F1.overview",{"title":385,"path":1705,"stem":1706},"\u002Fdocs\u002Flang\u002Fsums\u002Fpatterns","docs\u002F2.lang\u002F21.sums\u002F2.patterns",{"title":1708,"path":1709,"stem":1710},"Type Tests","\u002Fdocs\u002Flang\u002Fsums\u002Ftype-tests","docs\u002F2.lang\u002F21.sums\u002F3.type-tests",{"title":545,"path":1712,"stem":1713,"children":1714,"page":29},"\u002Fdocs\u002Flang\u002Fownership","docs\u002F2.lang\u002F22.ownership",[1715,1718,1722,1726],{"title":49,"path":1716,"stem":1717},"\u002Fdocs\u002Flang\u002Fownership\u002Foverview","docs\u002F2.lang\u002F22.ownership\u002F1.overview",{"title":1719,"path":1720,"stem":1721},"Copy and Move","\u002Fdocs\u002Flang\u002Fownership\u002Fcopy-and-move","docs\u002F2.lang\u002F22.ownership\u002F2.copy-and-move",{"title":1723,"path":1724,"stem":1725},"Destructors","\u002Fdocs\u002Flang\u002Fownership\u002Fdestructors","docs\u002F2.lang\u002F22.ownership\u002F3.destructors",{"title":1727,"path":1728,"stem":1729},"Defer","\u002Fdocs\u002Flang\u002Fownership\u002Fdefer","docs\u002F2.lang\u002F22.ownership\u002F4.defer",{"title":592,"path":1731,"stem":1732,"children":1733,"page":29},"\u002Fdocs\u002Flang\u002Finterfaces","docs\u002F2.lang\u002F23.interfaces",[1734,1737,1741,1745,1748,1754],{"title":49,"path":1735,"stem":1736},"\u002Fdocs\u002Flang\u002Finterfaces\u002Foverview","docs\u002F2.lang\u002F23.interfaces\u002F1.overview",{"title":1738,"path":1739,"stem":1740},"Interface Values","\u002Fdocs\u002Flang\u002Finterfaces\u002Finterface-values","docs\u002F2.lang\u002F23.interfaces\u002F2.interface-values",{"title":1742,"path":1743,"stem":1744},"Core Interfaces","\u002Fdocs\u002Flang\u002Finterfaces\u002Fcore-interfaces","docs\u002F2.lang\u002F23.interfaces\u002F3.core-interfaces",{"title":166,"path":1746,"stem":1747},"\u002Fdocs\u002Flang\u002Finterfaces\u002Foperators","docs\u002F2.lang\u002F23.interfaces\u002F4.operators",{"title":1749,"path":1750,"stem":1751,"children":1752},"Indexers","\u002Fdocs\u002Flang\u002Finterfaces\u002Findexers","docs\u002F2.lang\u002F23.interfaces\u002F5.indexers",[1753],{"title":1749,"path":1750,"stem":1751},{"title":1755,"path":1756,"stem":1757},"Iteration","\u002Fdocs\u002Flang\u002Finterfaces\u002Fiteration","docs\u002F2.lang\u002F23.interfaces\u002F6.iteration",{"title":649,"path":1759,"stem":1760,"children":1761,"page":29},"\u002Fdocs\u002Flang\u002Fgenerics","docs\u002F2.lang\u002F24.generics",[1762,1765,1769,1773],{"title":49,"path":1763,"stem":1764},"\u002Fdocs\u002Flang\u002Fgenerics\u002Foverview","docs\u002F2.lang\u002F24.generics\u002F1.overview",{"title":1766,"path":1767,"stem":1768},"Generic Types","\u002Fdocs\u002Flang\u002Fgenerics\u002Ftypes","docs\u002F2.lang\u002F24.generics\u002F2.types",{"title":1770,"path":1771,"stem":1772},"Generic Methods","\u002Fdocs\u002Flang\u002Fgenerics\u002Fmethods","docs\u002F2.lang\u002F24.generics\u002F3.methods",{"title":1774,"path":1775,"stem":1776},"Bounds","\u002Fdocs\u002Flang\u002Fgenerics\u002Fbounds","docs\u002F2.lang\u002F24.generics\u002F4.bounds",{"title":1778,"path":1779,"stem":1780,"children":1781,"page":29},"Modules","\u002Fdocs\u002Flang\u002Fmodules","docs\u002F2.lang\u002F25.modules",[1782,1785,1789],{"title":49,"path":1783,"stem":1784},"\u002Fdocs\u002Flang\u002Fmodules\u002Foverview","docs\u002F2.lang\u002F25.modules\u002F1.overview",{"title":1786,"path":1787,"stem":1788},"Imports","\u002Fdocs\u002Flang\u002Fmodules\u002Fimports","docs\u002F2.lang\u002F25.modules\u002F2.imports",{"title":1790,"path":1791,"stem":1792},"Visibility","\u002Fdocs\u002Flang\u002Fmodules\u002Fvisibility","docs\u002F2.lang\u002F25.modules\u002F3.visibility",{"title":1794,"path":1795,"stem":1796,"children":1797,"page":29},"Compile-Time","\u002Fdocs\u002Flang\u002Fcomptime","docs\u002F2.lang\u002F26.comptime",[1798,1801,1805,1809,1813,1817],{"title":49,"path":1799,"stem":1800},"\u002Fdocs\u002Flang\u002Fcomptime\u002Foverview","docs\u002F2.lang\u002F26.comptime\u002F1.overview",{"title":1802,"path":1803,"stem":1804},"Conditional Compilation","\u002Fdocs\u002Flang\u002Fcomptime\u002Fconditional","docs\u002F2.lang\u002F26.comptime\u002F2.conditional",{"title":1806,"path":1807,"stem":1808},"Context","\u002Fdocs\u002Flang\u002Fcomptime\u002Fcontext","docs\u002F2.lang\u002F26.comptime\u002F3.context",{"title":1810,"path":1811,"stem":1812},"Config","\u002Fdocs\u002Flang\u002Fcomptime\u002Fconfig","docs\u002F2.lang\u002F26.comptime\u002F4.config",{"title":1814,"path":1815,"stem":1816},"Intrinsics","\u002Fdocs\u002Flang\u002Fcomptime\u002Fintrinsics","docs\u002F2.lang\u002F26.comptime\u002F5.intrinsics",{"title":1818,"path":1819,"stem":1820},"Diagnostics","\u002Fdocs\u002Flang\u002Fcomptime\u002Fdiagnostics","docs\u002F2.lang\u002F26.comptime\u002F6.diagnostics",{"title":1822,"path":1823,"stem":1824,"children":1825,"page":29},"Attributes","\u002Fdocs\u002Flang\u002Fattributes","docs\u002F2.lang\u002F27.attributes",[1826,1829,1833,1837,1841,1845,1849,1853,1857,1861],{"title":49,"path":1827,"stem":1828},"\u002Fdocs\u002Flang\u002Fattributes\u002Foverview","docs\u002F2.lang\u002F27.attributes\u002F1.overview",{"title":1830,"path":1831,"stem":1832},"#Unsendable","\u002Fdocs\u002Flang\u002Fattributes\u002Funsendable","docs\u002F2.lang\u002F27.attributes\u002F10.unsendable",{"title":1834,"path":1835,"stem":1836},"#Link","\u002Fdocs\u002Flang\u002Fattributes\u002Flink","docs\u002F2.lang\u002F27.attributes\u002F2.link",{"title":1838,"path":1839,"stem":1840},"#Abi","\u002Fdocs\u002Flang\u002Fattributes\u002Fabi","docs\u002F2.lang\u002F27.attributes\u002F3.abi",{"title":1842,"path":1843,"stem":1844},"#NoReturn","\u002Fdocs\u002Flang\u002Fattributes\u002Fnoreturn","docs\u002F2.lang\u002F27.attributes\u002F4.noreturn",{"title":1846,"path":1847,"stem":1848},"#Warn","\u002Fdocs\u002Flang\u002Fattributes\u002Fwarn","docs\u002F2.lang\u002F27.attributes\u002F5.warn",{"title":1850,"path":1851,"stem":1852},"#Error","\u002Fdocs\u002Flang\u002Fattributes\u002Ferror","docs\u002F2.lang\u002F27.attributes\u002F6.error",{"title":1854,"path":1855,"stem":1856},"#Allow","\u002Fdocs\u002Flang\u002Fattributes\u002Fallow","docs\u002F2.lang\u002F27.attributes\u002F7.allow",{"title":1858,"path":1859,"stem":1860},"#Format","\u002Fdocs\u002Flang\u002Fattributes\u002Fformat","docs\u002F2.lang\u002F27.attributes\u002F8.format",{"title":1862,"path":1863,"stem":1864},"#Test","\u002Fdocs\u002Flang\u002Fattributes\u002Ftest","docs\u002F2.lang\u002F27.attributes\u002F9.test",{"title":1866,"path":1867,"stem":1868,"children":1869,"page":29},"Foreign Function Interface","\u002Fdocs\u002Flang\u002Fffi","docs\u002F2.lang\u002F28.ffi",[1870,1873,1877],{"title":49,"path":1871,"stem":1872},"\u002Fdocs\u002Flang\u002Fffi\u002Foverview","docs\u002F2.lang\u002F28.ffi\u002F1.overview",{"title":1874,"path":1875,"stem":1876},"Linking","\u002Fdocs\u002Flang\u002Fffi\u002Flinking","docs\u002F2.lang\u002F28.ffi\u002F2.linking",{"title":1878,"path":1879,"stem":1880},"Assembly","\u002Fdocs\u002Flang\u002Fffi\u002Fassembly","docs\u002F2.lang\u002F28.ffi\u002F3.assembly",{"title":751,"path":1882,"stem":1883,"children":1884,"page":29},"\u002Fdocs\u002Flang\u002Fmemory","docs\u002F2.lang\u002F29.memory",[1885,1889],{"title":1886,"path":1887,"stem":1888},"Layout","\u002Fdocs\u002Flang\u002Fmemory\u002Flayout","docs\u002F2.lang\u002F29.memory\u002F1.layout",{"title":1890,"path":1891,"stem":1892},"Atomics","\u002Fdocs\u002Flang\u002Fmemory\u002Fatomics","docs\u002F2.lang\u002F29.memory\u002F2.atomics",{"title":1894,"path":1895,"stem":1896,"children":1897,"page":29},"Appendix","\u002Fdocs\u002Flang\u002Fappendix","docs\u002F2.lang\u002F30.appendix",[1898,1902,1906],{"title":1899,"path":1900,"stem":1901},"Primitive Types","\u002Fdocs\u002Flang\u002Fappendix\u002Fprimitives","docs\u002F2.lang\u002F30.appendix\u002F1.primitives",{"title":1903,"path":1904,"stem":1905},"Tokens","\u002Fdocs\u002Flang\u002Fappendix\u002Ftokens","docs\u002F2.lang\u002F30.appendix\u002F2.tokens",{"title":1907,"path":1908,"stem":1909},"RCU Format","\u002Fdocs\u002Flang\u002Fappendix\u002Frcu","docs\u002F2.lang\u002F30.appendix\u002F3.rcu",{"title":1911,"path":1912,"stem":1913,"children":1914},"CLI Reference","\u002Fdocs\u002Fcli","docs\u002F3.cli\u002Findex",[1915,1916,1920,1924,1928,1932,1936,1940,1944,1948,1952,1956,1960,1964,1968,1972,1976,1980,1984,1988,1992,1996,2000,2004,2008],{"title":49,"path":1912,"stem":1913},{"title":1917,"path":1918,"stem":1919},"Global Options","\u002Fdocs\u002Fcli\u002Fglobal","docs\u002F3.cli\u002F01.global",{"title":1921,"path":1922,"stem":1923},"add","\u002Fdocs\u002Fcli\u002Fadd","docs\u002F3.cli\u002F02.add",{"title":1925,"path":1926,"stem":1927},"build","\u002Fdocs\u002Fcli\u002Fbuild","docs\u002F3.cli\u002F03.build",{"title":1929,"path":1930,"stem":1931},"check","\u002Fdocs\u002Fcli\u002Fcheck","docs\u002F3.cli\u002F04.check",{"title":1933,"path":1934,"stem":1935},"clean","\u002Fdocs\u002Fcli\u002Fclean","docs\u002F3.cli\u002F05.clean",{"title":1937,"path":1938,"stem":1939},"doc","\u002Fdocs\u002Fcli\u002Fdoc","docs\u002F3.cli\u002F06.doc",{"title":1941,"path":1942,"stem":1943},"fmt","\u002Fdocs\u002Fcli\u002Ffmt","docs\u002F3.cli\u002F07.fmt",{"title":1945,"path":1946,"stem":1947},"help","\u002Fdocs\u002Fcli\u002Fhelp","docs\u002F3.cli\u002F08.help",{"title":1949,"path":1950,"stem":1951},"info","\u002Fdocs\u002Fcli\u002Finfo","docs\u002F3.cli\u002F09.info",{"title":1953,"path":1954,"stem":1955},"init","\u002Fdocs\u002Fcli\u002Finit","docs\u002F3.cli\u002F10.init",{"title":1957,"path":1958,"stem":1959},"install","\u002Fdocs\u002Fcli\u002Finstall","docs\u002F3.cli\u002F11.install",{"title":1961,"path":1962,"stem":1963},"lint","\u002Fdocs\u002Fcli\u002Flint","docs\u002F3.cli\u002F12.lint",{"title":1965,"path":1966,"stem":1967},"list","\u002Fdocs\u002Fcli\u002Flist","docs\u002F3.cli\u002F13.list",{"title":1969,"path":1970,"stem":1971},"login","\u002Fdocs\u002Fcli\u002Flogin","docs\u002F3.cli\u002F14.login",{"title":1973,"path":1974,"stem":1975},"logout","\u002Fdocs\u002Fcli\u002Flogout","docs\u002F3.cli\u002F15.logout",{"title":1977,"path":1978,"stem":1979},"new","\u002Fdocs\u002Fcli\u002Fnew","docs\u002F3.cli\u002F16.new",{"title":1981,"path":1982,"stem":1983},"pack","\u002Fdocs\u002Fcli\u002Fpack","docs\u002F3.cli\u002F17.pack",{"title":1985,"path":1986,"stem":1987},"publish","\u002Fdocs\u002Fcli\u002Fpublish","docs\u002F3.cli\u002F18.publish",{"title":1989,"path":1990,"stem":1991},"remove","\u002Fdocs\u002Fcli\u002Fremove","docs\u002F3.cli\u002F19.remove",{"title":1993,"path":1994,"stem":1995},"run","\u002Fdocs\u002Fcli\u002Frun","docs\u002F3.cli\u002F20.run",{"title":1997,"path":1998,"stem":1999},"test","\u002Fdocs\u002Fcli\u002Ftest","docs\u002F3.cli\u002F21.test",{"title":2001,"path":2002,"stem":2003},"uninstall","\u002Fdocs\u002Fcli\u002Funinstall","docs\u002F3.cli\u002F22.uninstall",{"title":2005,"path":2006,"stem":2007},"update","\u002Fdocs\u002Fcli\u002Fupdate","docs\u002F3.cli\u002F23.update",{"title":2009,"path":2010,"stem":2011},"version","\u002Fdocs\u002Fcli\u002Fversion","docs\u002F3.cli\u002F24.version",{"title":2013,"path":2014,"stem":2015,"children":2016},"Packaging","\u002Fdocs\u002Fpackaging","docs\u002F4.packaging\u002Findex",[2017,2018,2022,2026,2030,2034,2038,2042,2046,2050,2054],{"title":49,"path":2014,"stem":2015},{"title":2019,"path":2020,"stem":2021},"Package Types","\u002Fdocs\u002Fpackaging\u002Ftypes","docs\u002F4.packaging\u002F1.types",{"title":2023,"path":2024,"stem":2025},"Yanking","\u002Fdocs\u002Fpackaging\u002Fyanking","docs\u002F4.packaging\u002F10.yanking",{"title":2027,"path":2028,"stem":2029},"Directory Layout","\u002Fdocs\u002Fpackaging\u002Flayout","docs\u002F4.packaging\u002F2.layout",{"title":2031,"path":2032,"stem":2033},"Package Manifest","\u002Fdocs\u002Fpackaging\u002Fmanifest","docs\u002F4.packaging\u002F3.manifest",{"title":2035,"path":2036,"stem":2037},"Dependencies","\u002Fdocs\u002Fpackaging\u002Fdependencies","docs\u002F4.packaging\u002F4.dependencies",{"title":2039,"path":2040,"stem":2041},"The Registry","\u002Fdocs\u002Fpackaging\u002Fregistry","docs\u002F4.packaging\u002F5.registry",{"title":2043,"path":2044,"stem":2045},"Namespaces","\u002Fdocs\u002Fpackaging\u002Fnamespaces","docs\u002F4.packaging\u002F6.namespaces",{"title":2047,"path":2048,"stem":2049},"API Tokens","\u002Fdocs\u002Fpackaging\u002Ftokens","docs\u002F4.packaging\u002F7.tokens",{"title":2051,"path":2052,"stem":2053},"Publishing","\u002Fdocs\u002Fpackaging\u002Fpublishing","docs\u002F4.packaging\u002F8.publishing",{"title":2055,"path":2056,"stem":2057},"Versioning","\u002Fdocs\u002Fpackaging\u002Fversioning","docs\u002F4.packaging\u002F9.versioning",{"title":2059,"path":2060,"stem":2061,"children":2062},"API Reference","\u002Fdocs\u002Fapi","docs\u002F5.api\u002Findex",[2063,2065,2179,2204,2244,2293,2358,2429,2468,2549,2590,2629,2668,2738,2793,2819,2874,2901,2944,2987,3012,3063,3104,3174,3232,3290,3369,3382,3416,3439,3474,3488,3518,3541,3558,3569,3596,3630,3648,3671],{"title":2064,"path":2060,"stem":2061},"Table of Contents",{"title":2066,"path":2067,"stem":2068,"children":2069,"icon":2178},"Core","\u002Fdocs\u002Fapi\u002Fcore","docs\u002F5.api\u002F01.core\u002F0.index",[2070,2071,2075,2079,2083,2087,2091,2095,2099,2102,2106,2109,2113,2116,2120,2123,2127,2131,2135,2139,2143,2147,2151,2155,2159,2162,2166,2170,2174],{"title":49,"path":2067,"stem":2068},{"title":2072,"path":2073,"stem":2074},"Comparable","\u002Fdocs\u002Fapi\u002Fcore\u002Fcomparable","docs\u002F5.api\u002F01.core\u002F1.interfaces\u002Fcomparable",{"title":2076,"path":2077,"stem":2078},"Equatable","\u002Fdocs\u002Fapi\u002Fcore\u002Fequatable","docs\u002F5.api\u002F01.core\u002F1.interfaces\u002Fequatable",{"title":2080,"path":2081,"stem":2082},"Hashable","\u002Fdocs\u002Fapi\u002Fcore\u002Fhashable","docs\u002F5.api\u002F01.core\u002F1.interfaces\u002Fhashable",{"title":2084,"path":2085,"stem":2086},"Iterable","\u002Fdocs\u002Fapi\u002Fcore\u002Fiterable","docs\u002F5.api\u002F01.core\u002F1.interfaces\u002Fiterable",{"title":2088,"path":2089,"stem":2090},"Iterator","\u002Fdocs\u002Fapi\u002Fcore\u002Fiterator","docs\u002F5.api\u002F01.core\u002F1.interfaces\u002Fiterator",{"title":2092,"path":2093,"stem":2094},"Sendable","\u002Fdocs\u002Fapi\u002Fcore\u002Fsendable","docs\u002F5.api\u002F01.core\u002F1.interfaces\u002Fsendable",{"title":2096,"path":2097,"stem":2098},"Iterator adaptors","\u002Fdocs\u002Fapi\u002Fcore\u002Fadaptors","docs\u002F5.api\u002F01.core\u002F2.types\u002Fadaptors",{"title":1419,"path":2100,"stem":2101},"\u002Fdocs\u002Fapi\u002Fcore\u002Fbooleans","docs\u002F5.api\u002F01.core\u002F2.types\u002Fbooleans",{"title":2103,"path":2104,"stem":2105},"Build","\u002Fdocs\u002Fapi\u002Fcore\u002Fbuild","docs\u002F5.api\u002F01.core\u002F2.types\u002Fbuild",{"title":1423,"path":2107,"stem":2108},"\u002Fdocs\u002Fapi\u002Fcore\u002Fcharacters","docs\u002F5.api\u002F01.core\u002F2.types\u002Fcharacters",{"title":2110,"path":2111,"stem":2112},"Compiler","\u002Fdocs\u002Fapi\u002Fcore\u002Fcompiler","docs\u002F5.api\u002F01.core\u002F2.types\u002Fcompiler",{"title":1810,"path":2114,"stem":2115},"\u002Fdocs\u002Fapi\u002Fcore\u002Fconfig","docs\u002F5.api\u002F01.core\u002F2.types\u002Fconfig",{"title":2117,"path":2118,"stem":2119},"Floating-point types","\u002Fdocs\u002Fapi\u002Fcore\u002Ffloating-point","docs\u002F5.api\u002F01.core\u002F2.types\u002Ffloating-point",{"title":1411,"path":2121,"stem":2122},"\u002Fdocs\u002Fapi\u002Fcore\u002Fintegers","docs\u002F5.api\u002F01.core\u002F2.types\u002Fintegers",{"title":2124,"path":2125,"stem":2126},"Ordering","\u002Fdocs\u002Fapi\u002Fcore\u002Fordering","docs\u002F5.api\u002F01.core\u002F2.types\u002Fordering",{"title":2128,"path":2129,"stem":2130},"SemanticVersion","\u002Fdocs\u002Fapi\u002Fcore\u002Fsemantic-version","docs\u002F5.api\u002F01.core\u002F2.types\u002Fsemantic-version",{"title":2132,"path":2133,"stem":2134},"Source","\u002Fdocs\u002Fapi\u002Fcore\u002Fsource","docs\u002F5.api\u002F01.core\u002F2.types\u002Fsource",{"title":2136,"path":2137,"stem":2138},"Target","\u002Fdocs\u002Fapi\u002Fcore\u002Ftarget","docs\u002F5.api\u002F01.core\u002F2.types\u002Ftarget",{"title":2140,"path":2141,"stem":2142},"Integer arithmetic","\u002Fdocs\u002Fapi\u002Fcore\u002Farithmetic","docs\u002F5.api\u002F01.core\u002F3.functions\u002Farithmetic",{"title":2144,"path":2145,"stem":2146},"Atomic intrinsics","\u002Fdocs\u002Fapi\u002Fcore\u002Fatomic","docs\u002F5.api\u002F01.core\u002F3.functions\u002Fatomic",{"title":2148,"path":2149,"stem":2150},"Bit operations","\u002Fdocs\u002Fapi\u002Fcore\u002Fbits","docs\u002F5.api\u002F01.core\u002F3.functions\u002Fbits",{"title":2152,"path":2153,"stem":2154},"Byte order","\u002Fdocs\u002Fapi\u002Fcore\u002Fbyte-order","docs\u002F5.api\u002F01.core\u002F3.functions\u002Fbyte-order",{"title":2156,"path":2157,"stem":2158},"Checked conversion","\u002Fdocs\u002Fapi\u002Fcore\u002Fconversion","docs\u002F5.api\u002F01.core\u002F3.functions\u002Fconversion",{"title":1818,"path":2160,"stem":2161},"\u002Fdocs\u002Fapi\u002Fcore\u002Fdiagnostics","docs\u002F5.api\u002F01.core\u002F3.functions\u002Fdiagnostics",{"title":2163,"path":2164,"stem":2165},"Float classification","\u002Fdocs\u002Fapi\u002Fcore\u002Ffloat-classification","docs\u002F5.api\u002F01.core\u002F3.functions\u002Ffloat-classification",{"title":2167,"path":2168,"stem":2169},"Outcomes","\u002Fdocs\u002Fapi\u002Fcore\u002Foutcomes","docs\u002F5.api\u002F01.core\u002F3.functions\u002Foutcomes",{"title":2171,"path":2172,"stem":2173},"Process start","\u002Fdocs\u002Fapi\u002Fcore\u002Fstartup","docs\u002F5.api\u002F01.core\u002F3.functions\u002Fstartup",{"title":2175,"path":2176,"stem":2177},"Zeroize","\u002Fdocs\u002Fapi\u002Fcore\u002Fzeroize","docs\u002F5.api\u002F01.core\u002F3.functions\u002Fzeroize","i-lucide-atom",{"title":751,"path":2180,"stem":2181,"children":2182,"icon":756},"\u002Fdocs\u002Fapi\u002Fmemory","docs\u002F5.api\u002F02.memory\u002F0.index",[2183,2184,2188,2192,2196,2200],{"title":49,"path":2180,"stem":2181},{"title":2185,"path":2186,"stem":2187},"Alignment","\u002Fdocs\u002Fapi\u002Fmemory\u002Falignment","docs\u002F5.api\u002F02.memory\u002F3.functions\u002Falignment",{"title":2189,"path":2190,"stem":2191},"Heap allocation","\u002Fdocs\u002Fapi\u002Fmemory\u002Fallocation","docs\u002F5.api\u002F02.memory\u002F3.functions\u002Fallocation",{"title":2193,"path":2194,"stem":2195},"Block operations","\u002Fdocs\u002Fapi\u002Fmemory\u002Fblocks","docs\u002F5.api\u002F02.memory\u002F3.functions\u002Fblocks",{"title":2197,"path":2198,"stem":2199},"Unaligned and byte-order access","\u002Fdocs\u002Fapi\u002Fmemory\u002Funaligned-access","docs\u002F5.api\u002F02.memory\u002F3.functions\u002Funaligned-access",{"title":2201,"path":2202,"stem":2203},"Pages","\u002Fdocs\u002Fapi\u002Fmemory\u002Fpages","docs\u002F5.api\u002F02.memory\u002F4.constants\u002Fpages",{"title":2205,"path":2206,"stem":2207,"children":2208,"icon":654},"Allocator","\u002Fdocs\u002Fapi\u002Fallocator","docs\u002F5.api\u002F03.allocator\u002F0.index",[2209,2210,2213,2217,2221,2225,2229,2232,2236,2240],{"title":49,"path":2206,"stem":2207},{"title":2205,"path":2211,"stem":2212},"\u002Fdocs\u002Fapi\u002Fallocator\u002Fallocator","docs\u002F5.api\u002F03.allocator\u002F1.interfaces\u002Fallocator",{"title":2214,"path":2215,"stem":2216},"AllocError","\u002Fdocs\u002Fapi\u002Fallocator\u002Falloc-error","docs\u002F5.api\u002F03.allocator\u002F2.types\u002Falloc-error",{"title":2218,"path":2219,"stem":2220},"Arena","\u002Fdocs\u002Fapi\u002Fallocator\u002Farena","docs\u002F5.api\u002F03.allocator\u002F2.types\u002Farena",{"title":2222,"path":2223,"stem":2224},"Box\u003CT>","\u002Fdocs\u002Fapi\u002Fallocator\u002Fbox","docs\u002F5.api\u002F03.allocator\u002F2.types\u002Fbox",{"title":2226,"path":2227,"stem":2228},"FixedBuffer","\u002Fdocs\u002Fapi\u002Fallocator\u002Ffixed-buffer","docs\u002F5.api\u002F03.allocator\u002F2.types\u002Ffixed-buffer",{"title":1886,"path":2230,"stem":2231},"\u002Fdocs\u002Fapi\u002Fallocator\u002Flayout","docs\u002F5.api\u002F03.allocator\u002F2.types\u002Flayout",{"title":2233,"path":2234,"stem":2235},"Pool","\u002Fdocs\u002Fapi\u002Fallocator\u002Fpool","docs\u002F5.api\u002F03.allocator\u002F2.types\u002Fpool",{"title":2237,"path":2238,"stem":2239},"Shared ownership","\u002Fdocs\u002Fapi\u002Fallocator\u002Fshared","docs\u002F5.api\u002F03.allocator\u002F2.types\u002Fshared",{"title":2241,"path":2242,"stem":2243},"SystemAllocator","\u002Fdocs\u002Fapi\u002Fallocator\u002Fsystem-allocator","docs\u002F5.api\u002F03.allocator\u002F2.types\u002Fsystem-allocator",{"title":2245,"path":2246,"stem":2247,"children":2248,"icon":2292},"Math","\u002Fdocs\u002Fapi\u002Fmath","docs\u002F5.api\u002F04.math\u002F0.index",[2249,2250,2254,2258,2262,2266,2270,2274,2277,2281,2285,2289],{"title":49,"path":2246,"stem":2247},{"title":2251,"path":2252,"stem":2253},"Complex numbers","\u002Fdocs\u002Fapi\u002Fmath\u002Fcomplex","docs\u002F5.api\u002F04.math\u002F2.types\u002Fcomplex",{"title":2255,"path":2256,"stem":2257},"Absolute value, minimum and maximum","\u002Fdocs\u002Fapi\u002Fmath\u002Fabs-min-max","docs\u002F5.api\u002F04.math\u002F3.functions\u002Fabs-min-max",{"title":2259,"path":2260,"stem":2261},"Classification and special values","\u002Fdocs\u002Fapi\u002Fmath\u002Fclassification","docs\u002F5.api\u002F04.math\u002F3.functions\u002Fclassification",{"title":2263,"path":2264,"stem":2265},"Exponentials and logarithms","\u002Fdocs\u002Fapi\u002Fmath\u002Fexponential","docs\u002F5.api\u002F04.math\u002F3.functions\u002Fexponential",{"title":2267,"path":2268,"stem":2269},"Floating-point representation","\u002Fdocs\u002Fapi\u002Fmath\u002Ffloat-representation","docs\u002F5.api\u002F04.math\u002F3.functions\u002Ffloat-representation",{"title":2271,"path":2272,"stem":2273},"Hyperbolic functions","\u002Fdocs\u002Fapi\u002Fmath\u002Fhyperbolic","docs\u002F5.api\u002F04.math\u002F3.functions\u002Fhyperbolic",{"title":2140,"path":2275,"stem":2276},"\u002Fdocs\u002Fapi\u002Fmath\u002Finteger","docs\u002F5.api\u002F04.math\u002F3.functions\u002Finteger",{"title":2278,"path":2279,"stem":2280},"Powers and roots","\u002Fdocs\u002Fapi\u002Fmath\u002Fpowers","docs\u002F5.api\u002F04.math\u002F3.functions\u002Fpowers",{"title":2282,"path":2283,"stem":2284},"Rounding and remainders","\u002Fdocs\u002Fapi\u002Fmath\u002Frounding","docs\u002F5.api\u002F04.math\u002F3.functions\u002Frounding",{"title":2286,"path":2287,"stem":2288},"Trigonometry","\u002Fdocs\u002Fapi\u002Fmath\u002Ftrigonometry","docs\u002F5.api\u002F04.math\u002F3.functions\u002Ftrigonometry",{"title":1442,"path":2290,"stem":2291},"\u002Fdocs\u002Fapi\u002Fmath\u002Fconstants","docs\u002F5.api\u002F04.math\u002F4.constants\u002Fconstants","i-lucide-sigma",{"title":680,"path":2294,"stem":2295,"children":2296,"icon":685},"\u002Fdocs\u002Fapi\u002Ftext","docs\u002F5.api\u002F05.text\u002F0.index",[2297,2298,2302,2306,2310,2314,2318,2322,2326,2330,2334,2338,2342,2346,2350,2354],{"title":49,"path":2294,"stem":2295},{"title":2299,"path":2300,"stem":2301},"Debug","\u002Fdocs\u002Fapi\u002Ftext\u002Fdebug","docs\u002F5.api\u002F05.text\u002F1.interfaces\u002Fdebug",{"title":2303,"path":2304,"stem":2305},"Display","\u002Fdocs\u002Fapi\u002Ftext\u002Fdisplay","docs\u002F5.api\u002F05.text\u002F1.interfaces\u002Fdisplay",{"title":2307,"path":2308,"stem":2309},"ParseFailure","\u002Fdocs\u002Fapi\u002Ftext\u002Fparse-failure","docs\u002F5.api\u002F05.text\u002F1.interfaces\u002Fparse-failure",{"title":2311,"path":2312,"stem":2313},"TextWriter","\u002Fdocs\u002Fapi\u002Ftext\u002Ftext-writer","docs\u002F5.api\u002F05.text\u002F1.interfaces\u002Ftext-writer",{"title":2315,"path":2316,"stem":2317},"BufferWriter","\u002Fdocs\u002Fapi\u002Ftext\u002Fbuffer-writer","docs\u002F5.api\u002F05.text\u002F2.types\u002Fbuffer-writer",{"title":2319,"path":2320,"stem":2321},"CString","\u002Fdocs\u002Fapi\u002Ftext\u002Fc-string","docs\u002F5.api\u002F05.text\u002F2.types\u002Fc-string",{"title":2323,"path":2324,"stem":2325},"FormatError","\u002Fdocs\u002Fapi\u002Ftext\u002Fformat-error","docs\u002F5.api\u002F05.text\u002F2.types\u002Fformat-error",{"title":2327,"path":2328,"stem":2329},"FormatSpec","\u002Fdocs\u002Fapi\u002Ftext\u002Fformat-spec","docs\u002F5.api\u002F05.text\u002F2.types\u002Fformat-spec",{"title":2331,"path":2332,"stem":2333},"String","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring","docs\u002F5.api\u002F05.text\u002F2.types\u002Fstring",{"title":2335,"path":2336,"stem":2337},"StringBuilder","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring-builder","docs\u002F5.api\u002F05.text\u002F2.types\u002Fstring-builder",{"title":2339,"path":2340,"stem":2341},"StringView","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring-view","docs\u002F5.api\u002F05.text\u002F2.types\u002Fstring-view",{"title":2343,"path":2344,"stem":2345},"TextError","\u002Fdocs\u002Fapi\u002Ftext\u002Ftext-error","docs\u002F5.api\u002F05.text\u002F2.types\u002Ftext-error",{"title":2347,"path":2348,"stem":2349},"Utf8Error","\u002Fdocs\u002Fapi\u002Ftext\u002Futf8-error","docs\u002F5.api\u002F05.text\u002F2.types\u002Futf8-error",{"title":2351,"path":2352,"stem":2353},"Transforming text","\u002Fdocs\u002Fapi\u002Ftext\u002Ftransform","docs\u002F5.api\u002F05.text\u002F3.functions\u002Ftransform",{"title":2355,"path":2356,"stem":2357},"UTF-8","\u002Fdocs\u002Fapi\u002Ftext\u002Futf8","docs\u002F5.api\u002F05.text\u002F3.functions\u002Futf8",{"title":2359,"path":2360,"stem":2361,"children":2362,"icon":2428},"Format","\u002Fdocs\u002Fapi\u002Fformat","docs\u002F5.api\u002F06.format\u002F0.index",[2363,2364,2368,2372,2376,2380,2384,2388,2392,2396,2400,2404,2408,2412,2416,2420,2424],{"title":49,"path":2360,"stem":2361},{"title":2365,"path":2366,"stem":2367},"ByteCursor","\u002Fdocs\u002Fapi\u002Fformat\u002Fbyte-cursor","docs\u002F5.api\u002F06.format\u002F2.types\u002Fbyte-cursor",{"title":2369,"path":2370,"stem":2371},"FixedNat","\u002Fdocs\u002Fapi\u002Fformat\u002Ffixed-nat","docs\u002F5.api\u002F06.format\u002F2.types\u002Ffixed-nat",{"title":2373,"path":2374,"stem":2375},"FloatLayout","\u002Fdocs\u002Fapi\u002Fformat\u002Ffloat-layout","docs\u002F5.api\u002F06.format\u002F2.types\u002Ffloat-layout",{"title":2377,"path":2378,"stem":2379},"Float128","\u002Fdocs\u002Fapi\u002Fformat\u002Ffloat128","docs\u002F5.api\u002F06.format\u002F2.types\u002Ffloat128",{"title":2381,"path":2382,"stem":2383},"Float256","\u002Fdocs\u002Fapi\u002Fformat\u002Ffloat256","docs\u002F5.api\u002F06.format\u002F2.types\u002Ffloat256",{"title":2385,"path":2386,"stem":2387},"Float512","\u002Fdocs\u002Fapi\u002Fformat\u002Ffloat512","docs\u002F5.api\u002F06.format\u002F2.types\u002Ffloat512",{"title":2389,"path":2390,"stem":2391},"Float80","\u002Fdocs\u002Fapi\u002Fformat\u002Ffloat80","docs\u002F5.api\u002F06.format\u002F2.types\u002Ffloat80",{"title":2393,"path":2394,"stem":2395},"ParseError","\u002Fdocs\u002Fapi\u002Fformat\u002Fparse-error","docs\u002F5.api\u002F06.format\u002F2.types\u002Fparse-error",{"title":2397,"path":2398,"stem":2399},"Writing characters and booleans","\u002Fdocs\u002Fapi\u002Fformat\u002Fcharacter-text","docs\u002F5.api\u002F06.format\u002F3.functions\u002Fcharacter-text",{"title":2401,"path":2402,"stem":2403},"Float classification and bits","\u002Fdocs\u002Fapi\u002Fformat\u002Ffloat-bits","docs\u002F5.api\u002F06.format\u002F3.functions\u002Ffloat-bits",{"title":2405,"path":2406,"stem":2407},"Writing floats","\u002Fdocs\u002Fapi\u002Fformat\u002Ffloat-text","docs\u002F5.api\u002F06.format\u002F3.functions\u002Ffloat-text",{"title":2409,"path":2410,"stem":2411},"Writing integers","\u002Fdocs\u002Fapi\u002Fformat\u002Finteger-text","docs\u002F5.api\u002F06.format\u002F3.functions\u002Finteger-text",{"title":2413,"path":2414,"stem":2415},"Parsing integers, booleans and characters","\u002Fdocs\u002Fapi\u002Fformat\u002Fparse","docs\u002F5.api\u002F06.format\u002F3.functions\u002Fparse",{"title":2417,"path":2418,"stem":2419},"Parsing floats","\u002Fdocs\u002Fapi\u002Fformat\u002Fparse-float","docs\u002F5.api\u002F06.format\u002F3.functions\u002Fparse-float",{"title":2421,"path":2422,"stem":2423},"Render","\u002Fdocs\u002Fapi\u002Fformat\u002Frender","docs\u002F5.api\u002F06.format\u002F3.functions\u002Frender",{"title":2425,"path":2426,"stem":2427},"WriteFormat","\u002Fdocs\u002Fapi\u002Fformat\u002Fwrite-format","docs\u002F5.api\u002F06.format\u002F3.functions\u002Fwrite-format","i-lucide-whole-word",{"title":2430,"path":2431,"stem":2432,"children":2433,"icon":2467},"Unicode","\u002Fdocs\u002Fapi\u002Funicode","docs\u002F5.api\u002F07.unicode\u002F0.index",[2434,2435,2439,2443,2447,2451,2455,2459,2463],{"title":49,"path":2431,"stem":2432},{"title":2436,"path":2437,"stem":2438},"GeneralCategory","\u002Fdocs\u002Fapi\u002Funicode\u002Fgeneral-category","docs\u002F5.api\u002F07.unicode\u002F2.types\u002Fgeneral-category",{"title":2440,"path":2441,"stem":2442},"GraphemeBreak","\u002Fdocs\u002Fapi\u002Funicode\u002Fgrapheme-break","docs\u002F5.api\u002F07.unicode\u002F2.types\u002Fgrapheme-break",{"title":2444,"path":2445,"stem":2446},"Case mapping","\u002Fdocs\u002Fapi\u002Funicode\u002Fcase","docs\u002F5.api\u002F07.unicode\u002F3.functions\u002Fcase",{"title":2448,"path":2449,"stem":2450},"Grapheme clusters","\u002Fdocs\u002Fapi\u002Funicode\u002Fgraphemes","docs\u002F5.api\u002F07.unicode\u002F3.functions\u002Fgraphemes",{"title":2452,"path":2453,"stem":2454},"Normalization","\u002Fdocs\u002Fapi\u002Funicode\u002Fnormalization","docs\u002F5.api\u002F07.unicode\u002F3.functions\u002Fnormalization",{"title":2456,"path":2457,"stem":2458},"Character properties","\u002Fdocs\u002Fapi\u002Funicode\u002Fproperties","docs\u002F5.api\u002F07.unicode\u002F3.functions\u002Fproperties",{"title":2460,"path":2461,"stem":2462},"Scripts","\u002Fdocs\u002Fapi\u002Funicode\u002Fscripts","docs\u002F5.api\u002F07.unicode\u002F3.functions\u002Fscripts",{"title":2464,"path":2465,"stem":2466},"Generated tables","\u002Fdocs\u002Fapi\u002Funicode\u002Ftables","docs\u002F5.api\u002F07.unicode\u002F4.constants\u002Ftables","i-lucide-languages",{"title":873,"path":2469,"stem":2470,"children":2471,"icon":878},"\u002Fdocs\u002Fapi\u002Fcollections","docs\u002F5.api\u002F08.collections\u002F0.index",[2472,2473,2477,2481,2485,2489,2493,2497,2501,2505,2509,2513,2517,2521,2525,2529,2533,2537,2541,2545],{"title":49,"path":2469,"stem":2470},{"title":2474,"path":2475,"stem":2476},"Array\u003CT>","\u002Fdocs\u002Fapi\u002Fcollections\u002Farray","docs\u002F5.api\u002F08.collections\u002F2.types\u002Farray",{"title":2478,"path":2479,"stem":2480},"BitSet","\u002Fdocs\u002Fapi\u002Fcollections\u002Fbit-set","docs\u002F5.api\u002F08.collections\u002F2.types\u002Fbit-set",{"title":2482,"path":2483,"stem":2484},"CollectionError","\u002Fdocs\u002Fapi\u002Fcollections\u002Fcollection-error","docs\u002F5.api\u002F08.collections\u002F2.types\u002Fcollection-error",{"title":2486,"path":2487,"stem":2488},"Deque\u003CT>","\u002Fdocs\u002Fapi\u002Fcollections\u002Fdeque","docs\u002F5.api\u002F08.collections\u002F2.types\u002Fdeque",{"title":2490,"path":2491,"stem":2492},"HashMap\u003CK, V>","\u002Fdocs\u002Fapi\u002Fcollections\u002Fhash-map","docs\u002F5.api\u002F08.collections\u002F2.types\u002Fhash-map",{"title":2494,"path":2495,"stem":2496},"HashSet\u003CT>","\u002Fdocs\u002Fapi\u002Fcollections\u002Fhash-set","docs\u002F5.api\u002F08.collections\u002F2.types\u002Fhash-set",{"title":2498,"path":2499,"stem":2500},"Slice iterators","\u002Fdocs\u002Fapi\u002Fcollections\u002Fiterators","docs\u002F5.api\u002F08.collections\u002F2.types\u002Fiterators",{"title":2502,"path":2503,"stem":2504},"KeyValue\u003CK, V>","\u002Fdocs\u002Fapi\u002Fcollections\u002Fkey-value","docs\u002F5.api\u002F08.collections\u002F2.types\u002Fkey-value",{"title":2506,"path":2507,"stem":2508},"LruCache\u003CK, V>","\u002Fdocs\u002Fapi\u002Fcollections\u002Flru-cache","docs\u002F5.api\u002F08.collections\u002F2.types\u002Flru-cache",{"title":2510,"path":2511,"stem":2512},"PriorityQueue\u003CT>","\u002Fdocs\u002Fapi\u002Fcollections\u002Fpriority-queue","docs\u002F5.api\u002F08.collections\u002F2.types\u002Fpriority-queue",{"title":2514,"path":2515,"stem":2516},"SmallVector\u003CT>","\u002Fdocs\u002Fapi\u002Fcollections\u002Fsmall-vector","docs\u002F5.api\u002F08.collections\u002F2.types\u002Fsmall-vector",{"title":2518,"path":2519,"stem":2520},"Table\u003CK, V>","\u002Fdocs\u002Fapi\u002Fcollections\u002Ftable","docs\u002F5.api\u002F08.collections\u002F2.types\u002Ftable",{"title":2522,"path":2523,"stem":2524},"TableSeed","\u002Fdocs\u002Fapi\u002Fcollections\u002Ftable-seed","docs\u002F5.api\u002F08.collections\u002F2.types\u002Ftable-seed",{"title":2526,"path":2527,"stem":2528},"Tree\u003CK, V>","\u002Fdocs\u002Fapi\u002Fcollections\u002Ftree","docs\u002F5.api\u002F08.collections\u002F2.types\u002Ftree",{"title":2530,"path":2531,"stem":2532},"TreeMap\u003CK, V>","\u002Fdocs\u002Fapi\u002Fcollections\u002Ftree-map","docs\u002F5.api\u002F08.collections\u002F2.types\u002Ftree-map",{"title":2534,"path":2535,"stem":2536},"TreeSet\u003CT>","\u002Fdocs\u002Fapi\u002Fcollections\u002Ftree-set","docs\u002F5.api\u002F08.collections\u002F2.types\u002Ftree-set",{"title":2538,"path":2539,"stem":2540},"Vector\u003CT>","\u002Fdocs\u002Fapi\u002Fcollections\u002Fvector","docs\u002F5.api\u002F08.collections\u002F2.types\u002Fvector",{"title":2542,"path":2543,"stem":2544},"Comparing","\u002Fdocs\u002Fapi\u002Fcollections\u002Fcomparing","docs\u002F5.api\u002F08.collections\u002F3.functions\u002Fcomparing",{"title":2546,"path":2547,"stem":2548},"Hashing","\u002Fdocs\u002Fapi\u002Fcollections\u002Fhashing","docs\u002F5.api\u002F08.collections\u002F3.functions\u002Fhashing",{"title":924,"path":2550,"stem":2551,"children":2552,"icon":929},"\u002Fdocs\u002Fapi\u002Falgorithms","docs\u002F5.api\u002F09.algorithms\u002F0.index",[2553,2554,2558,2562,2566,2570,2574,2578,2582,2586],{"title":49,"path":2550,"stem":2551},{"title":2555,"path":2556,"stem":2557},"Comparing slices","\u002Fdocs\u002Fapi\u002Falgorithms\u002Fcomparing","docs\u002F5.api\u002F09.algorithms\u002F3.functions\u002Fcomparing",{"title":2559,"path":2560,"stem":2561},"Folding","\u002Fdocs\u002Fapi\u002Falgorithms\u002Ffolding","docs\u002F5.api\u002F09.algorithms\u002F3.functions\u002Ffolding",{"title":2563,"path":2564,"stem":2565},"Heaps","\u002Fdocs\u002Fapi\u002Falgorithms\u002Fheaps","docs\u002F5.api\u002F09.algorithms\u002F3.functions\u002Fheaps",{"title":2567,"path":2568,"stem":2569},"Minimum and maximum","\u002Fdocs\u002Fapi\u002Falgorithms\u002Fmin-max","docs\u002F5.api\u002F09.algorithms\u002F3.functions\u002Fmin-max",{"title":2571,"path":2572,"stem":2573},"Modifying","\u002Fdocs\u002Fapi\u002Falgorithms\u002Fmodifying","docs\u002F5.api\u002F09.algorithms\u002F3.functions\u002Fmodifying",{"title":2575,"path":2576,"stem":2577},"Numeric sequences","\u002Fdocs\u002Fapi\u002Falgorithms\u002Fnumeric","docs\u002F5.api\u002F09.algorithms\u002F3.functions\u002Fnumeric",{"title":2579,"path":2580,"stem":2581},"Searching","\u002Fdocs\u002Fapi\u002Falgorithms\u002Fsearching","docs\u002F5.api\u002F09.algorithms\u002F3.functions\u002Fsearching",{"title":2583,"path":2584,"stem":2585},"Sorted slices","\u002Fdocs\u002Fapi\u002Falgorithms\u002Fsorted-slices","docs\u002F5.api\u002F09.algorithms\u002F3.functions\u002Fsorted-slices",{"title":2587,"path":2588,"stem":2589},"Sorting","\u002Fdocs\u002Fapi\u002Falgorithms\u002Fsorting","docs\u002F5.api\u002F09.algorithms\u002F3.functions\u002Fsorting",{"title":2591,"path":2592,"stem":2593,"children":2594,"icon":2628},"Hash","\u002Fdocs\u002Fapi\u002Fhash","docs\u002F5.api\u002F10.hash\u002F0.index",[2595,2596,2600,2604,2608,2612,2616,2620,2624],{"title":49,"path":2592,"stem":2593},{"title":2597,"path":2598,"stem":2599},"Hasher","\u002Fdocs\u002Fapi\u002Fhash\u002Fhasher","docs\u002F5.api\u002F10.hash\u002F1.interfaces\u002Fhasher",{"title":2601,"path":2602,"stem":2603},"Adler32","\u002Fdocs\u002Fapi\u002Fhash\u002Fadler32","docs\u002F5.api\u002F10.hash\u002F2.types\u002Fadler32",{"title":2605,"path":2606,"stem":2607},"Crc32","\u002Fdocs\u002Fapi\u002Fhash\u002Fcrc32","docs\u002F5.api\u002F10.hash\u002F2.types\u002Fcrc32",{"title":2609,"path":2610,"stem":2611},"Crc32c","\u002Fdocs\u002Fapi\u002Fhash\u002Fcrc32c","docs\u002F5.api\u002F10.hash\u002F2.types\u002Fcrc32c",{"title":2613,"path":2614,"stem":2615},"Fnv1a32","\u002Fdocs\u002Fapi\u002Fhash\u002Ffnv1a32","docs\u002F5.api\u002F10.hash\u002F2.types\u002Ffnv1a32",{"title":2617,"path":2618,"stem":2619},"Fnv1a64","\u002Fdocs\u002Fapi\u002Fhash\u002Ffnv1a64","docs\u002F5.api\u002F10.hash\u002F2.types\u002Ffnv1a64",{"title":2621,"path":2622,"stem":2623},"SipHash24","\u002Fdocs\u002Fapi\u002Fhash\u002Fsip-hash24","docs\u002F5.api\u002F10.hash\u002F2.types\u002Fsip-hash24",{"title":2625,"path":2626,"stem":2627},"XxHash64","\u002Fdocs\u002Fapi\u002Fhash\u002Fxx-hash64","docs\u002F5.api\u002F10.hash\u002F2.types\u002Fxx-hash64","i-lucide-hash",{"title":2630,"path":2631,"stem":2632,"children":2633,"icon":2667},"Random","\u002Fdocs\u002Fapi\u002Frandom","docs\u002F5.api\u002F11.random\u002F0.index",[2634,2635,2639,2643,2647,2651,2655,2659,2663],{"title":49,"path":2631,"stem":2632},{"title":2636,"path":2637,"stem":2638},"RandomGenerator","\u002Fdocs\u002Fapi\u002Frandom\u002Frandom-generator","docs\u002F5.api\u002F11.random\u002F1.interfaces\u002Frandom-generator",{"title":2640,"path":2641,"stem":2642},"Pcg64Dxsm","\u002Fdocs\u002Fapi\u002Frandom\u002Fpcg64-dxsm","docs\u002F5.api\u002F11.random\u002F2.types\u002Fpcg64-dxsm",{"title":2644,"path":2645,"stem":2646},"Reservoir\u003CT>","\u002Fdocs\u002Fapi\u002Frandom\u002Freservoir","docs\u002F5.api\u002F11.random\u002F2.types\u002Freservoir",{"title":2648,"path":2649,"stem":2650},"SplitMix64","\u002Fdocs\u002Fapi\u002Frandom\u002Fsplit-mix64","docs\u002F5.api\u002F11.random\u002F2.types\u002Fsplit-mix64",{"title":2652,"path":2653,"stem":2654},"Xoshiro256","\u002Fdocs\u002Fapi\u002Frandom\u002Fxoshiro256","docs\u002F5.api\u002F11.random\u002F2.types\u002Fxoshiro256",{"title":2656,"path":2657,"stem":2658},"Distributions","\u002Fdocs\u002Fapi\u002Frandom\u002Fdistributions","docs\u002F5.api\u002F11.random\u002F3.functions\u002Fdistributions",{"title":2660,"path":2661,"stem":2662},"Sampling and shuffling","\u002Fdocs\u002Fapi\u002Frandom\u002Fsampling","docs\u002F5.api\u002F11.random\u002F3.functions\u002Fsampling",{"title":2664,"path":2665,"stem":2666},"Uniform ranges","\u002Fdocs\u002Fapi\u002Frandom\u002Funiform","docs\u002F5.api\u002F11.random\u002F3.functions\u002Funiform","i-lucide-dices",{"title":2669,"path":2670,"stem":2671,"children":2672,"icon":1261},"Io","\u002Fdocs\u002Fapi\u002Fio","docs\u002F5.api\u002F12.io\u002F0.index",[2673,2674,2678,2682,2686,2690,2694,2698,2702,2706,2710,2714,2718,2722,2726,2730,2734],{"title":49,"path":2670,"stem":2671},{"title":2675,"path":2676,"stem":2677},"Reader","\u002Fdocs\u002Fapi\u002Fio\u002Freader","docs\u002F5.api\u002F12.io\u002F1.interfaces\u002Freader",{"title":2679,"path":2680,"stem":2681},"Seeker","\u002Fdocs\u002Fapi\u002Fio\u002Fseeker","docs\u002F5.api\u002F12.io\u002F1.interfaces\u002Fseeker",{"title":2683,"path":2684,"stem":2685},"Writer","\u002Fdocs\u002Fapi\u002Fio\u002Fwriter","docs\u002F5.api\u002F12.io\u002F1.interfaces\u002Fwriter",{"title":2687,"path":2688,"stem":2689},"BufferedReader","\u002Fdocs\u002Fapi\u002Fio\u002Fbuffered-reader","docs\u002F5.api\u002F12.io\u002F2.types\u002Fbuffered-reader",{"title":2691,"path":2692,"stem":2693},"BufferedWriter","\u002Fdocs\u002Fapi\u002Fio\u002Fbuffered-writer","docs\u002F5.api\u002F12.io\u002F2.types\u002Fbuffered-writer",{"title":2695,"path":2696,"stem":2697},"ConsoleWriter","\u002Fdocs\u002Fapi\u002Fio\u002Fconsole-writer","docs\u002F5.api\u002F12.io\u002F2.types\u002Fconsole-writer",{"title":2699,"path":2700,"stem":2701},"IoError","\u002Fdocs\u002Fapi\u002Fio\u002Fio-error","docs\u002F5.api\u002F12.io\u002F2.types\u002Fio-error",{"title":2703,"path":2704,"stem":2705},"Memory streams","\u002Fdocs\u002Fapi\u002Fio\u002Fmemory-stream","docs\u002F5.api\u002F12.io\u002F2.types\u002Fmemory-stream",{"title":2707,"path":2708,"stem":2709},"StandardError","\u002Fdocs\u002Fapi\u002Fio\u002Fstandard-error","docs\u002F5.api\u002F12.io\u002F2.types\u002Fstandard-error",{"title":2711,"path":2712,"stem":2713},"StandardIn","\u002Fdocs\u002Fapi\u002Fio\u002Fstandard-in","docs\u002F5.api\u002F12.io\u002F2.types\u002Fstandard-in",{"title":2715,"path":2716,"stem":2717},"StandardOut","\u002Fdocs\u002Fapi\u002Fio\u002Fstandard-out","docs\u002F5.api\u002F12.io\u002F2.types\u002Fstandard-out",{"title":2719,"path":2720,"stem":2721},"StreamWriter","\u002Fdocs\u002Fapi\u002Fio\u002Fstream-writer","docs\u002F5.api\u002F12.io\u002F2.types\u002Fstream-writer",{"title":2723,"path":2724,"stem":2725},"Binary encoding","\u002Fdocs\u002Fapi\u002Fio\u002Fbinary","docs\u002F5.api\u002F12.io\u002F3.functions\u002Fbinary",{"title":2727,"path":2728,"stem":2729},"Print","\u002Fdocs\u002Fapi\u002Fio\u002Fprint","docs\u002F5.api\u002F12.io\u002F3.functions\u002Fprint",{"title":2731,"path":2732,"stem":2733},"PrintLine","\u002Fdocs\u002Fapi\u002Fio\u002Fprint-line","docs\u002F5.api\u002F12.io\u002F3.functions\u002Fprint-line",{"title":2735,"path":2736,"stem":2737},"ReadLine","\u002Fdocs\u002Fapi\u002Fio\u002Fread-line","docs\u002F5.api\u002F12.io\u002F3.functions\u002Fread-line",{"title":2739,"path":2740,"stem":2741,"children":2742,"icon":2792},"FileSystem","\u002Fdocs\u002Fapi\u002Ffilesystem","docs\u002F5.api\u002F13.filesystem\u002F0.index",[2743,2744,2748,2752,2756,2760,2764,2768,2772,2776,2780,2784,2788],{"title":49,"path":2740,"stem":2741},{"title":2745,"path":2746,"stem":2747},"AtomicWrite","\u002Fdocs\u002Fapi\u002Ffilesystem\u002Fatomic-write","docs\u002F5.api\u002F13.filesystem\u002F2.types\u002Fatomic-write",{"title":2749,"path":2750,"stem":2751},"Capabilities","\u002Fdocs\u002Fapi\u002Ffilesystem\u002Fcapabilities","docs\u002F5.api\u002F13.filesystem\u002F2.types\u002Fcapabilities",{"title":2753,"path":2754,"stem":2755},"File","\u002Fdocs\u002Fapi\u002Ffilesystem\u002Ffile","docs\u002F5.api\u002F13.filesystem\u002F2.types\u002Ffile",{"title":2757,"path":2758,"stem":2759},"FileStream","\u002Fdocs\u002Fapi\u002Ffilesystem\u002Ffile-stream","docs\u002F5.api\u002F13.filesystem\u002F2.types\u002Ffile-stream",{"title":2761,"path":2762,"stem":2763},"Metadata","\u002Fdocs\u002Fapi\u002Ffilesystem\u002Fmetadata","docs\u002F5.api\u002F13.filesystem\u002F2.types\u002Fmetadata",{"title":2765,"path":2766,"stem":2767},"Permissions","\u002Fdocs\u002Fapi\u002Ffilesystem\u002Fpermissions","docs\u002F5.api\u002F13.filesystem\u002F2.types\u002Fpermissions",{"title":2769,"path":2770,"stem":2771},"TemporaryDirectoryHandle","\u002Fdocs\u002Fapi\u002Ffilesystem\u002Ftemporary-directory-handle","docs\u002F5.api\u002F13.filesystem\u002F2.types\u002Ftemporary-directory-handle",{"title":2773,"path":2774,"stem":2775},"TemporaryFile","\u002Fdocs\u002Fapi\u002Ffilesystem\u002Ftemporary-file","docs\u002F5.api\u002F13.filesystem\u002F2.types\u002Ftemporary-file",{"title":2777,"path":2778,"stem":2779},"Directories","\u002Fdocs\u002Fapi\u002Ffilesystem\u002Fdirectories","docs\u002F5.api\u002F13.filesystem\u002F3.functions\u002Fdirectories",{"title":2781,"path":2782,"stem":2783},"File operations","\u002Fdocs\u002Fapi\u002Ffilesystem\u002Ffile-operations","docs\u002F5.api\u002F13.filesystem\u002F3.functions\u002Ffile-operations",{"title":2785,"path":2786,"stem":2787},"Working directory","\u002Fdocs\u002Fapi\u002Ffilesystem\u002Flocation","docs\u002F5.api\u002F13.filesystem\u002F3.functions\u002Flocation",{"title":2789,"path":2790,"stem":2791},"Native error codes","\u002Fdocs\u002Fapi\u002Ffilesystem\u002Fnative-errors","docs\u002F5.api\u002F13.filesystem\u002F3.functions\u002Fnative-errors","i-lucide-folder-tree",{"title":2794,"path":2795,"stem":2796,"children":2797,"icon":2818},"Path","\u002Fdocs\u002Fapi\u002Fpath","docs\u002F5.api\u002F14.path\u002F0.index",[2798,2799,2803,2807,2810,2814],{"title":49,"path":2795,"stem":2796},{"title":2800,"path":2801,"stem":2802},"OsString","\u002Fdocs\u002Fapi\u002Fpath\u002Fos-string","docs\u002F5.api\u002F14.path\u002F2.types\u002Fos-string",{"title":2804,"path":2805,"stem":2806},"OsStringView","\u002Fdocs\u002Fapi\u002Fpath\u002Fos-string-view","docs\u002F5.api\u002F14.path\u002F2.types\u002Fos-string-view",{"title":2794,"path":2808,"stem":2809},"\u002Fdocs\u002Fapi\u002Fpath\u002Fpath","docs\u002F5.api\u002F14.path\u002F2.types\u002Fpath",{"title":2811,"path":2812,"stem":2813},"PathBuffer","\u002Fdocs\u002Fapi\u002Fpath\u002Fpath-buffer","docs\u002F5.api\u002F14.path\u002F2.types\u002Fpath-buffer",{"title":2815,"path":2816,"stem":2817},"Path syntax","\u002Fdocs\u002Fapi\u002Fpath\u002Fsyntax","docs\u002F5.api\u002F14.path\u002F3.functions\u002Fsyntax","i-lucide-route",{"title":2820,"path":2821,"stem":2822,"children":2823,"icon":2873},"Time","\u002Fdocs\u002Fapi\u002Ftime","docs\u002F5.api\u002F15.time\u002F0.index",[2824,2825,2829,2833,2837,2841,2845,2849,2853,2857,2861,2865,2869],{"title":49,"path":2821,"stem":2822},{"title":2826,"path":2827,"stem":2828},"Waiter","\u002Fdocs\u002Fapi\u002Ftime\u002Fwaiter","docs\u002F5.api\u002F15.time\u002F1.interfaces\u002Fwaiter",{"title":2830,"path":2831,"stem":2832},"Date","\u002Fdocs\u002Fapi\u002Ftime\u002Fdate","docs\u002F5.api\u002F15.time\u002F2.types\u002Fdate",{"title":2834,"path":2835,"stem":2836},"DateTime","\u002Fdocs\u002Fapi\u002Ftime\u002Fdate-time","docs\u002F5.api\u002F15.time\u002F2.types\u002Fdate-time",{"title":2838,"path":2839,"stem":2840},"Duration","\u002Fdocs\u002Fapi\u002Ftime\u002Fduration","docs\u002F5.api\u002F15.time\u002F2.types\u002Fduration",{"title":2842,"path":2843,"stem":2844},"Instant","\u002Fdocs\u002Fapi\u002Ftime\u002Finstant","docs\u002F5.api\u002F15.time\u002F2.types\u002Finstant",{"title":2846,"path":2847,"stem":2848},"OffsetDateTime","\u002Fdocs\u002Fapi\u002Ftime\u002Foffset-date-time","docs\u002F5.api\u002F15.time\u002F2.types\u002Foffset-date-time",{"title":2850,"path":2851,"stem":2852},"Stopwatch","\u002Fdocs\u002Fapi\u002Ftime\u002Fstopwatch","docs\u002F5.api\u002F15.time\u002F2.types\u002Fstopwatch",{"title":2854,"path":2855,"stem":2856},"TimeOfDay","\u002Fdocs\u002Fapi\u002Ftime\u002Ftime-of-day","docs\u002F5.api\u002F15.time\u002F2.types\u002Ftime-of-day",{"title":2858,"path":2859,"stem":2860},"TimeParseError","\u002Fdocs\u002Fapi\u002Ftime\u002Ftime-parse-error","docs\u002F5.api\u002F15.time\u002F2.types\u002Ftime-parse-error",{"title":2862,"path":2863,"stem":2864},"Timestamp","\u002Fdocs\u002Fapi\u002Ftime\u002Ftimestamp","docs\u002F5.api\u002F15.time\u002F2.types\u002Ftimestamp",{"title":2866,"path":2867,"stem":2868},"UtcOffset","\u002Fdocs\u002Fapi\u002Ftime\u002Futc-offset","docs\u002F5.api\u002F15.time\u002F2.types\u002Futc-offset",{"title":2870,"path":2871,"stem":2872},"SleepFor","\u002Fdocs\u002Fapi\u002Ftime\u002Fsleep","docs\u002F5.api\u002F15.time\u002F3.functions\u002Fsleep","i-lucide-clock",{"title":2875,"path":2876,"stem":2877,"children":2878,"icon":2900},"Entropy","\u002Fdocs\u002Fapi\u002Fentropy","docs\u002F5.api\u002F16.entropy\u002F0.index",[2879,2880,2884,2888,2892,2896],{"title":49,"path":2876,"stem":2877},{"title":2881,"path":2882,"stem":2883},"EntropySource","\u002Fdocs\u002Fapi\u002Fentropy\u002Fentropy-source","docs\u002F5.api\u002F16.entropy\u002F1.interfaces\u002Fentropy-source",{"title":2885,"path":2886,"stem":2887},"EntropyError","\u002Fdocs\u002Fapi\u002Fentropy\u002Fentropy-error","docs\u002F5.api\u002F16.entropy\u002F2.types\u002Fentropy-error",{"title":2889,"path":2890,"stem":2891},"SystemEntropy","\u002Fdocs\u002Fapi\u002Fentropy\u002Fsystem-entropy","docs\u002F5.api\u002F16.entropy\u002F2.types\u002Fsystem-entropy",{"title":2893,"path":2894,"stem":2895},"Fill","\u002Fdocs\u002Fapi\u002Fentropy\u002Ffill","docs\u002F5.api\u002F16.entropy\u002F3.functions\u002Ffill",{"title":2897,"path":2898,"stem":2899},"NextUint64","\u002Fdocs\u002Fapi\u002Fentropy\u002Fnext-uint64","docs\u002F5.api\u002F16.entropy\u002F3.functions\u002Fnext-uint64","i-lucide-sparkles",{"title":2902,"path":2903,"stem":2904,"children":2905,"icon":2943},"Json","\u002Fdocs\u002Fapi\u002Fjson","docs\u002F5.api\u002F17.json\u002F0.index",[2906,2907,2911,2915,2919,2923,2927,2931,2935,2939],{"title":49,"path":2903,"stem":2904},{"title":2908,"path":2909,"stem":2910},"JsonEventReader","\u002Fdocs\u002Fapi\u002Fjson\u002Fjson-event-reader","docs\u002F5.api\u002F17.json\u002F2.types\u002Fjson-event-reader",{"title":2912,"path":2913,"stem":2914},"JsonLexer","\u002Fdocs\u002Fapi\u002Fjson\u002Fjson-lexer","docs\u002F5.api\u002F17.json\u002F2.types\u002Fjson-lexer",{"title":2916,"path":2917,"stem":2918},"JsonLimits","\u002Fdocs\u002Fapi\u002Fjson\u002Fjson-limits","docs\u002F5.api\u002F17.json\u002F2.types\u002Fjson-limits",{"title":2920,"path":2921,"stem":2922},"JsonNumber","\u002Fdocs\u002Fapi\u002Fjson\u002Fjson-number","docs\u002F5.api\u002F17.json\u002F2.types\u002Fjson-number",{"title":2924,"path":2925,"stem":2926},"JsonParseError","\u002Fdocs\u002Fapi\u002Fjson\u002Fjson-parse-error","docs\u002F5.api\u002F17.json\u002F2.types\u002Fjson-parse-error",{"title":2928,"path":2929,"stem":2930},"JsonParser","\u002Fdocs\u002Fapi\u002Fjson\u002Fjson-parser","docs\u002F5.api\u002F17.json\u002F2.types\u002Fjson-parser",{"title":2932,"path":2933,"stem":2934},"JsonValue","\u002Fdocs\u002Fapi\u002Fjson\u002Fjson-value","docs\u002F5.api\u002F17.json\u002F2.types\u002Fjson-value",{"title":2936,"path":2937,"stem":2938},"Parse","\u002Fdocs\u002Fapi\u002Fjson\u002Fparse","docs\u002F5.api\u002F17.json\u002F3.functions\u002Fparse",{"title":2940,"path":2941,"stem":2942},"WriteValue","\u002Fdocs\u002Fapi\u002Fjson\u002Fwrite-value","docs\u002F5.api\u002F17.json\u002F3.functions\u002Fwrite-value","i-lucide-braces",{"title":2945,"path":2946,"stem":2947,"children":2948,"icon":2986},"Toml","\u002Fdocs\u002Fapi\u002Ftoml","docs\u002F5.api\u002F18.toml\u002F0.index",[2949,2950,2954,2958,2962,2966,2970,2974,2978,2982],{"title":49,"path":2946,"stem":2947},{"title":2951,"path":2952,"stem":2953},"TomlEventReader","\u002Fdocs\u002Fapi\u002Ftoml\u002Ftoml-event-reader","docs\u002F5.api\u002F18.toml\u002F2.types\u002Ftoml-event-reader",{"title":2955,"path":2956,"stem":2957},"TomlLexer","\u002Fdocs\u002Fapi\u002Ftoml\u002Ftoml-lexer","docs\u002F5.api\u002F18.toml\u002F2.types\u002Ftoml-lexer",{"title":2959,"path":2960,"stem":2961},"TomlParseFailure","\u002Fdocs\u002Fapi\u002Ftoml\u002Ftoml-parse-failure","docs\u002F5.api\u002F18.toml\u002F2.types\u002Ftoml-parse-failure",{"title":2963,"path":2964,"stem":2965},"TomlParser","\u002Fdocs\u002Fapi\u002Ftoml\u002Ftoml-parser","docs\u002F5.api\u002F18.toml\u002F2.types\u002Ftoml-parser",{"title":2967,"path":2968,"stem":2969},"TomlScalarError","\u002Fdocs\u002Fapi\u002Ftoml\u002Ftoml-scalar-error","docs\u002F5.api\u002F18.toml\u002F2.types\u002Ftoml-scalar-error",{"title":2971,"path":2972,"stem":2973},"TomlValue","\u002Fdocs\u002Fapi\u002Ftoml\u002Ftoml-value","docs\u002F5.api\u002F18.toml\u002F2.types\u002Ftoml-value",{"title":2975,"path":2976,"stem":2977},"Scalars","\u002Fdocs\u002Fapi\u002Ftoml\u002Fscalars","docs\u002F5.api\u002F18.toml\u002F3.functions\u002Fscalars",{"title":2979,"path":2980,"stem":2981},"TomlParse","\u002Fdocs\u002Fapi\u002Ftoml\u002Ftoml-parse","docs\u002F5.api\u002F18.toml\u002F3.functions\u002Ftoml-parse",{"title":2983,"path":2984,"stem":2985},"TomlWriteDocument","\u002Fdocs\u002Fapi\u002Ftoml\u002Ftoml-write-document","docs\u002F5.api\u002F18.toml\u002F3.functions\u002Ftoml-write-document","i-lucide-file-cog",{"title":2988,"path":2989,"stem":2990,"children":2991,"icon":3011},"Uuid","\u002Fdocs\u002Fapi\u002Fuuid","docs\u002F5.api\u002F19.uuid\u002F0.index",[2992,2993,2997,3000,3003,3007],{"title":49,"path":2989,"stem":2990},{"title":2994,"path":2995,"stem":2996},"MonotonicUuid","\u002Fdocs\u002Fapi\u002Fuuid\u002Fmonotonic-uuid","docs\u002F5.api\u002F19.uuid\u002F2.types\u002Fmonotonic-uuid",{"title":2988,"path":2998,"stem":2999},"\u002Fdocs\u002Fapi\u002Fuuid\u002Fuuid","docs\u002F5.api\u002F19.uuid\u002F2.types\u002Fuuid",{"title":2630,"path":3001,"stem":3002},"\u002Fdocs\u002Fapi\u002Fuuid\u002Frandom","docs\u002F5.api\u002F19.uuid\u002F3.functions\u002Frandom",{"title":3004,"path":3005,"stem":3006},"Text form","\u002Fdocs\u002Fapi\u002Fuuid\u002Ftext","docs\u002F5.api\u002F19.uuid\u002F3.functions\u002Ftext",{"title":3008,"path":3009,"stem":3010},"TimeOrdered","\u002Fdocs\u002Fapi\u002Fuuid\u002Ftime-ordered","docs\u002F5.api\u002F19.uuid\u002F3.functions\u002Ftime-ordered","i-lucide-fingerprint-pattern",{"title":3013,"path":3014,"stem":3015,"children":3016,"icon":3062},"Crypto","\u002Fdocs\u002Fapi\u002Fcrypto","docs\u002F5.api\u002F20.crypto\u002F0.index",[3017,3018,3022,3026,3030,3034,3038,3042,3046,3050,3054,3058],{"title":49,"path":3014,"stem":3015},{"title":3019,"path":3020,"stem":3021},"Digest","\u002Fdocs\u002Fapi\u002Fcrypto\u002Fdigest","docs\u002F5.api\u002F20.crypto\u002F1.interfaces\u002Fdigest",{"title":3023,"path":3024,"stem":3025},"Blake3","\u002Fdocs\u002Fapi\u002Fcrypto\u002Fblake3","docs\u002F5.api\u002F20.crypto\u002F2.types\u002Fblake3",{"title":3027,"path":3028,"stem":3029},"Hmac\u003CD>","\u002Fdocs\u002Fapi\u002Fcrypto\u002Fhmac","docs\u002F5.api\u002F20.crypto\u002F2.types\u002Fhmac",{"title":3031,"path":3032,"stem":3033},"LegacyMd5","\u002Fdocs\u002Fapi\u002Fcrypto\u002Flegacy-md5","docs\u002F5.api\u002F20.crypto\u002F2.types\u002Flegacy-md5",{"title":3035,"path":3036,"stem":3037},"LegacySha1","\u002Fdocs\u002Fapi\u002Fcrypto\u002Flegacy-sha1","docs\u002F5.api\u002F20.crypto\u002F2.types\u002Flegacy-sha1",{"title":3039,"path":3040,"stem":3041},"Sha256","\u002Fdocs\u002Fapi\u002Fcrypto\u002Fsha256","docs\u002F5.api\u002F20.crypto\u002F2.types\u002Fsha256",{"title":3043,"path":3044,"stem":3045},"Sha3","\u002Fdocs\u002Fapi\u002Fcrypto\u002Fsha3","docs\u002F5.api\u002F20.crypto\u002F2.types\u002Fsha3",{"title":3047,"path":3048,"stem":3049},"Sha512","\u002Fdocs\u002Fapi\u002Fcrypto\u002Fsha512","docs\u002F5.api\u002F20.crypto\u002F2.types\u002Fsha512",{"title":3051,"path":3052,"stem":3053},"Shake","\u002Fdocs\u002Fapi\u002Fcrypto\u002Fshake","docs\u002F5.api\u002F20.crypto\u002F2.types\u002Fshake",{"title":3055,"path":3056,"stem":3057},"Hkdf\u003CD>","\u002Fdocs\u002Fapi\u002Fcrypto\u002Fhkdf","docs\u002F5.api\u002F20.crypto\u002F3.functions\u002Fhkdf",{"title":3059,"path":3060,"stem":3061},"Secrets","\u002Fdocs\u002Fapi\u002Fcrypto\u002Fsecrets","docs\u002F5.api\u002F20.crypto\u002F3.functions\u002Fsecrets","i-lucide-lock",{"title":3064,"path":3065,"stem":3066,"children":3067,"icon":3103},"C","\u002Fdocs\u002Fapi\u002Fc","docs\u002F5.api\u002F21.c\u002F0.index",[3068,3069,3073,3077,3080,3084,3088,3092,3095,3099],{"title":49,"path":3065,"stem":3066},{"title":3070,"path":3071,"stem":3072},"timespec","\u002Fdocs\u002Fapi\u002Fc\u002Ftimespec","docs\u002F5.api\u002F21.c\u002F2.types\u002Ftimespec",{"title":3074,"path":3075,"stem":3076},"tm","\u002Fdocs\u002Fapi\u002Fc\u002Ftm","docs\u002F5.api\u002F21.c\u002F2.types\u002Ftm",{"title":326,"path":3078,"stem":3079},"\u002Fdocs\u002Fapi\u002Fc\u002Ftypes","docs\u002F5.api\u002F21.c\u002F2.types\u002Ftypes",{"title":3081,"path":3082,"stem":3083},"Mathematics","\u002Fdocs\u002Fapi\u002Fc\u002Fmath","docs\u002F5.api\u002F21.c\u002F3.functions\u002Fmath",{"title":3085,"path":3086,"stem":3087},"General utilities","\u002Fdocs\u002Fapi\u002Fc\u002Fstdlib","docs\u002F5.api\u002F21.c\u002F3.functions\u002Fstdlib",{"title":3089,"path":3090,"stem":3091},"Strings and memory","\u002Fdocs\u002Fapi\u002Fc\u002Fstring","docs\u002F5.api\u002F21.c\u002F3.functions\u002Fstring",{"title":2820,"path":3093,"stem":3094},"\u002Fdocs\u002Fapi\u002Fc\u002Ftime","docs\u002F5.api\u002F21.c\u002F3.functions\u002Ftime",{"title":3096,"path":3097,"stem":3098},"errno","\u002Fdocs\u002Fapi\u002Fc\u002Ferrno","docs\u002F5.api\u002F21.c\u002F4.constants\u002Ferrno",{"title":3100,"path":3101,"stem":3102},"Standard I\u002FO","\u002Fdocs\u002Fapi\u002Fc\u002Fstdio","docs\u002F5.api\u002F21.c\u002F4.constants\u002Fstdio","i-simple-icons-c",{"title":67,"path":3105,"stem":3106,"children":3107,"icon":3173},"\u002Fdocs\u002Fapi\u002Flinux","docs\u002F5.api\u002F22.linux\u002F0.index",[3108,3109,3113,3116,3120,3124,3128,3132,3136,3140,3144,3148,3152,3155,3158,3162,3165,3169],{"title":49,"path":3105,"stem":3106},{"title":3110,"path":3111,"stem":3112},"Timespec","\u002Fdocs\u002Fapi\u002Flinux\u002Ftimespec","docs\u002F5.api\u002F22.linux\u002F2.types\u002Ftimespec",{"title":326,"path":3114,"stem":3115},"\u002Fdocs\u002Fapi\u002Flinux\u002Ftypes","docs\u002F5.api\u002F22.linux\u002F2.types\u002Ftypes",{"title":3117,"path":3118,"stem":3119},"Directories and links","\u002Fdocs\u002Fapi\u002Flinux\u002Fdirectories","docs\u002F5.api\u002F22.linux\u002F3.functions\u002Fdirectories",{"title":3121,"path":3122,"stem":3123},"GetRandom","\u002Fdocs\u002Fapi\u002Flinux\u002Fget-random","docs\u002F5.api\u002F22.linux\u002F3.functions\u002Fget-random",{"title":3125,"path":3126,"stem":3127},"Process","\u002Fdocs\u002Fapi\u002Flinux\u002Fprocess","docs\u002F5.api\u002F22.linux\u002F3.functions\u002Fprocess",{"title":3129,"path":3130,"stem":3131},"Name resolution","\u002Fdocs\u002Fapi\u002Flinux\u002Fresolve","docs\u002F5.api\u002F22.linux\u002F3.functions\u002Fresolve",{"title":3133,"path":3134,"stem":3135},"Starting processes","\u002Fdocs\u002Fapi\u002Flinux\u002Fspawn","docs\u002F5.api\u002F22.linux\u002F3.functions\u002Fspawn",{"title":3137,"path":3138,"stem":3139},"System calls","\u002Fdocs\u002Fapi\u002Flinux\u002Fsyscalls","docs\u002F5.api\u002F22.linux\u002F3.functions\u002Fsyscalls",{"title":3141,"path":3142,"stem":3143},"Threads","\u002Fdocs\u002Fapi\u002Flinux\u002Fthread","docs\u002F5.api\u002F22.linux\u002F3.functions\u002Fthread",{"title":3145,"path":3146,"stem":3147},"Clocks","\u002Fdocs\u002Fapi\u002Flinux\u002Fclock","docs\u002F5.api\u002F22.linux\u002F4.constants\u002Fclock",{"title":3149,"path":3150,"stem":3151},"Dynamic loading","\u002Fdocs\u002Fapi\u002Flinux\u002Fdynamic","docs\u002F5.api\u002F22.linux\u002F4.constants\u002Fdynamic",{"title":447,"path":3153,"stem":3154},"\u002Fdocs\u002Fapi\u002Flinux\u002Ferrors","docs\u002F5.api\u002F22.linux\u002F4.constants\u002Ferrors",{"title":959,"path":3156,"stem":3157},"\u002Fdocs\u002Fapi\u002Flinux\u002Ffiles","docs\u002F5.api\u002F22.linux\u002F4.constants\u002Ffiles",{"title":3159,"path":3160,"stem":3161},"Futexes","\u002Fdocs\u002Fapi\u002Flinux\u002Ffutex","docs\u002F5.api\u002F22.linux\u002F4.constants\u002Ffutex",{"title":751,"path":3163,"stem":3164},"\u002Fdocs\u002Fapi\u002Flinux\u002Fmemory","docs\u002F5.api\u002F22.linux\u002F4.constants\u002Fmemory",{"title":3166,"path":3167,"stem":3168},"Polling","\u002Fdocs\u002Fapi\u002Flinux\u002Fpoll","docs\u002F5.api\u002F22.linux\u002F4.constants\u002Fpoll",{"title":3170,"path":3171,"stem":3172},"Sockets","\u002Fdocs\u002Fapi\u002Flinux\u002Fsocket","docs\u002F5.api\u002F22.linux\u002F4.constants\u002Fsocket","i-simple-icons-linux",{"title":63,"path":3175,"stem":3176,"children":3177,"icon":3231},"\u002Fdocs\u002Fapi\u002Ffreebsd","docs\u002F5.api\u002F23.freebsd\u002F0.index",[3178,3179,3182,3185,3188,3191,3194,3197,3200,3203,3206,3209,3212,3215,3218,3221,3224,3227],{"title":49,"path":3175,"stem":3176},{"title":3110,"path":3180,"stem":3181},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Ftimespec","docs\u002F5.api\u002F23.freebsd\u002F2.types\u002Ftimespec",{"title":326,"path":3183,"stem":3184},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Ftypes","docs\u002F5.api\u002F23.freebsd\u002F2.types\u002Ftypes",{"title":3117,"path":3186,"stem":3187},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fdirectories","docs\u002F5.api\u002F23.freebsd\u002F3.functions\u002Fdirectories",{"title":3121,"path":3189,"stem":3190},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fget-random","docs\u002F5.api\u002F23.freebsd\u002F3.functions\u002Fget-random",{"title":3125,"path":3192,"stem":3193},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fprocess","docs\u002F5.api\u002F23.freebsd\u002F3.functions\u002Fprocess",{"title":3129,"path":3195,"stem":3196},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fresolve","docs\u002F5.api\u002F23.freebsd\u002F3.functions\u002Fresolve",{"title":3133,"path":3198,"stem":3199},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fspawn","docs\u002F5.api\u002F23.freebsd\u002F3.functions\u002Fspawn",{"title":3137,"path":3201,"stem":3202},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fsyscalls","docs\u002F5.api\u002F23.freebsd\u002F3.functions\u002Fsyscalls",{"title":3141,"path":3204,"stem":3205},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fthread","docs\u002F5.api\u002F23.freebsd\u002F3.functions\u002Fthread",{"title":3145,"path":3207,"stem":3208},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fclock","docs\u002F5.api\u002F23.freebsd\u002F4.constants\u002Fclock",{"title":3149,"path":3210,"stem":3211},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fdynamic","docs\u002F5.api\u002F23.freebsd\u002F4.constants\u002Fdynamic",{"title":447,"path":3213,"stem":3214},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Ferrors","docs\u002F5.api\u002F23.freebsd\u002F4.constants\u002Ferrors",{"title":959,"path":3216,"stem":3217},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Ffiles","docs\u002F5.api\u002F23.freebsd\u002F4.constants\u002Ffiles",{"title":751,"path":3219,"stem":3220},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fmemory","docs\u002F5.api\u002F23.freebsd\u002F4.constants\u002Fmemory",{"title":3166,"path":3222,"stem":3223},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fpoll","docs\u002F5.api\u002F23.freebsd\u002F4.constants\u002Fpoll",{"title":3170,"path":3225,"stem":3226},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fsocket","docs\u002F5.api\u002F23.freebsd\u002F4.constants\u002Fsocket",{"title":3228,"path":3229,"stem":3230},"Address waits","\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fumtx","docs\u002F5.api\u002F23.freebsd\u002F4.constants\u002Fumtx","i-simple-icons-freebsd",{"title":71,"path":3233,"stem":3234,"children":3235,"icon":3289},"\u002Fdocs\u002Fapi\u002Fmacos","docs\u002F5.api\u002F24.macos\u002F0.index",[3236,3237,3240,3244,3247,3250,3253,3256,3259,3262,3265,3268,3271,3274,3277,3280,3283,3286],{"title":49,"path":3233,"stem":3234},{"title":3110,"path":3238,"stem":3239},"\u002Fdocs\u002Fapi\u002Fmacos\u002Ftimespec","docs\u002F5.api\u002F24.macos\u002F2.types\u002Ftimespec",{"title":3241,"path":3242,"stem":3243},"Timeval","\u002Fdocs\u002Fapi\u002Fmacos\u002Ftimeval","docs\u002F5.api\u002F24.macos\u002F2.types\u002Ftimeval",{"title":326,"path":3245,"stem":3246},"\u002Fdocs\u002Fapi\u002Fmacos\u002Ftypes","docs\u002F5.api\u002F24.macos\u002F2.types\u002Ftypes",{"title":3145,"path":3248,"stem":3249},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fclock","docs\u002F5.api\u002F24.macos\u002F3.functions\u002Fclock",{"title":3117,"path":3251,"stem":3252},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fdirectories","docs\u002F5.api\u002F24.macos\u002F3.functions\u002Fdirectories",{"title":3121,"path":3254,"stem":3255},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fget-random","docs\u002F5.api\u002F24.macos\u002F3.functions\u002Fget-random",{"title":3125,"path":3257,"stem":3258},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fprocess","docs\u002F5.api\u002F24.macos\u002F3.functions\u002Fprocess",{"title":3129,"path":3260,"stem":3261},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fresolve","docs\u002F5.api\u002F24.macos\u002F3.functions\u002Fresolve",{"title":3133,"path":3263,"stem":3264},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fspawn","docs\u002F5.api\u002F24.macos\u002F3.functions\u002Fspawn",{"title":3141,"path":3266,"stem":3267},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fthread","docs\u002F5.api\u002F24.macos\u002F3.functions\u002Fthread",{"title":3149,"path":3269,"stem":3270},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fdynamic","docs\u002F5.api\u002F24.macos\u002F4.constants\u002Fdynamic",{"title":447,"path":3272,"stem":3273},"\u002Fdocs\u002Fapi\u002Fmacos\u002Ferrors","docs\u002F5.api\u002F24.macos\u002F4.constants\u002Ferrors",{"title":959,"path":3275,"stem":3276},"\u002Fdocs\u002Fapi\u002Fmacos\u002Ffiles","docs\u002F5.api\u002F24.macos\u002F4.constants\u002Ffiles",{"title":751,"path":3278,"stem":3279},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fmemory","docs\u002F5.api\u002F24.macos\u002F4.constants\u002Fmemory",{"title":3166,"path":3281,"stem":3282},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fpoll","docs\u002F5.api\u002F24.macos\u002F4.constants\u002Fpoll",{"title":3170,"path":3284,"stem":3285},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fsocket","docs\u002F5.api\u002F24.macos\u002F4.constants\u002Fsocket",{"title":3228,"path":3287,"stem":3288},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fulock","docs\u002F5.api\u002F24.macos\u002F4.constants\u002Fulock","i-simple-icons-apple",{"title":75,"path":3291,"stem":3292,"children":3293,"icon":3368},"\u002Fdocs\u002Fapi\u002Fwindows","docs\u002F5.api\u002F25.windows\u002F0.index",[3294,3295,3299,3303,3307,3311,3315,3319,3322,3326,3329,3333,3337,3340,3343,3346,3350,3354,3357,3361,3364],{"title":49,"path":3291,"stem":3292},{"title":3296,"path":3297,"stem":3298},"CodePage","\u002Fdocs\u002Fapi\u002Fwindows\u002Fcode-page","docs\u002F5.api\u002F25.windows\u002F2.types\u002Fcode-page",{"title":3300,"path":3301,"stem":3302},"CreationDisposition","\u002Fdocs\u002Fapi\u002Fwindows\u002Fcreation-disposition","docs\u002F5.api\u002F25.windows\u002F2.types\u002Fcreation-disposition",{"title":3304,"path":3305,"stem":3306},"FileTime","\u002Fdocs\u002Fapi\u002Fwindows\u002Ffile-time","docs\u002F5.api\u002F25.windows\u002F2.types\u002Ffile-time",{"title":3308,"path":3309,"stem":3310},"SystemInfo","\u002Fdocs\u002Fapi\u002Fwindows\u002Fsystem-info","docs\u002F5.api\u002F25.windows\u002F2.types\u002Fsystem-info",{"title":3312,"path":3313,"stem":3314},"SystemTime","\u002Fdocs\u002Fapi\u002Fwindows\u002Fsystem-time","docs\u002F5.api\u002F25.windows\u002F2.types\u002Fsystem-time",{"title":3316,"path":3317,"stem":3318},"Time zone","\u002Fdocs\u002Fapi\u002Fwindows\u002Ftime-zone","docs\u002F5.api\u002F25.windows\u002F2.types\u002Ftime-zone",{"title":326,"path":3320,"stem":3321},"\u002Fdocs\u002Fapi\u002Fwindows\u002Ftypes","docs\u002F5.api\u002F25.windows\u002F2.types\u002Ftypes",{"title":3323,"path":3324,"stem":3325},"Win32FindDataA","\u002Fdocs\u002Fapi\u002Fwindows\u002Fwin32-find-data-a","docs\u002F5.api\u002F25.windows\u002F2.types\u002Fwin32-find-data-a",{"title":3145,"path":3327,"stem":3328},"\u002Fdocs\u002Fapi\u002Fwindows\u002Fclock","docs\u002F5.api\u002F25.windows\u002F3.functions\u002Fclock",{"title":3330,"path":3331,"stem":3332},"Console","\u002Fdocs\u002Fapi\u002Fwindows\u002Fconsole","docs\u002F5.api\u002F25.windows\u002F3.functions\u002Fconsole",{"title":3334,"path":3335,"stem":3336},"File system","\u002Fdocs\u002Fapi\u002Fwindows\u002Ffile-system","docs\u002F5.api\u002F25.windows\u002F3.functions\u002Ffile-system",{"title":959,"path":3338,"stem":3339},"\u002Fdocs\u002Fapi\u002Fwindows\u002Ffiles","docs\u002F5.api\u002F25.windows\u002F3.functions\u002Ffiles",{"title":3121,"path":3341,"stem":3342},"\u002Fdocs\u002Fapi\u002Fwindows\u002Fget-random","docs\u002F5.api\u002F25.windows\u002F3.functions\u002Fget-random",{"title":751,"path":3344,"stem":3345},"\u002Fdocs\u002Fapi\u002Fwindows\u002Fmemory","docs\u002F5.api\u002F25.windows\u002F3.functions\u002Fmemory",{"title":3347,"path":3348,"stem":3349},"Processes and threads","\u002Fdocs\u002Fapi\u002Fwindows\u002Fprocess","docs\u002F5.api\u002F25.windows\u002F3.functions\u002Fprocess",{"title":3351,"path":3352,"stem":3353},"Process control","\u002Fdocs\u002Fapi\u002Fwindows\u002Fprocess-control","docs\u002F5.api\u002F25.windows\u002F3.functions\u002Fprocess-control",{"title":3228,"path":3355,"stem":3356},"\u002Fdocs\u002Fapi\u002Fwindows\u002Fsynch","docs\u002F5.api\u002F25.windows\u002F3.functions\u002Fsynch",{"title":3358,"path":3359,"stem":3360},"Text conversion","\u002Fdocs\u002Fapi\u002Fwindows\u002Ftext","docs\u002F5.api\u002F25.windows\u002F3.functions\u002Ftext",{"title":447,"path":3362,"stem":3363},"\u002Fdocs\u002Fapi\u002Fwindows\u002Ferrors","docs\u002F5.api\u002F25.windows\u002F4.constants\u002Ferrors",{"title":3365,"path":3366,"stem":3367},"Winsock","\u002Fdocs\u002Fapi\u002Fwindows\u002Fwinsock","docs\u002F5.api\u002F25.windows\u002F4.constants\u002Fwinsock","i-simple-icons-windows",{"title":3370,"path":3371,"stem":3372,"children":3373,"icon":3381},"Regex","\u002Fdocs\u002Fapi\u002Fregex","docs\u002F5.api\u002F26.regex\u002F0.index",[3374,3375,3378],{"title":49,"path":3371,"stem":3372},{"title":447,"path":3376,"stem":3377},"\u002Fdocs\u002Fapi\u002Fregex\u002Ferror","docs\u002F5.api\u002F26.regex\u002F2.types\u002Ferror",{"title":3370,"path":3379,"stem":3380},"\u002Fdocs\u002Fapi\u002Fregex\u002Fregex","docs\u002F5.api\u002F26.regex\u002F2.types\u002Fregex","i-lucide-regex",{"title":3125,"path":3383,"stem":3384,"children":3385,"icon":3415},"\u002Fdocs\u002Fapi\u002Fprocess","docs\u002F5.api\u002F27.process\u002F0.index",[3386,3387,3391,3395,3399,3403,3407,3411],{"title":49,"path":3383,"stem":3384},{"title":3388,"path":3389,"stem":3390},"Captured output","\u002Fdocs\u002Fapi\u002Fprocess\u002Fcapture","docs\u002F5.api\u002F27.process\u002F2.types\u002Fcapture",{"title":3392,"path":3393,"stem":3394},"Child processes","\u002Fdocs\u002Fapi\u002Fprocess\u002Fchild","docs\u002F5.api\u002F27.process\u002F2.types\u002Fchild",{"title":3396,"path":3397,"stem":3398},"Commands","\u002Fdocs\u002Fapi\u002Fprocess\u002Fcommand","docs\u002F5.api\u002F27.process\u002F2.types\u002Fcommand",{"title":3400,"path":3401,"stem":3402},"Arguments","\u002Fdocs\u002Fapi\u002Fprocess\u002Farguments","docs\u002F5.api\u002F27.process\u002F3.functions\u002Farguments",{"title":3404,"path":3405,"stem":3406},"Environment","\u002Fdocs\u002Fapi\u002Fprocess\u002Fenvironment","docs\u002F5.api\u002F27.process\u002F3.functions\u002Fenvironment",{"title":3408,"path":3409,"stem":3410},"Executable","\u002Fdocs\u002Fapi\u002Fprocess\u002Fexecutable","docs\u002F5.api\u002F27.process\u002F3.functions\u002Fexecutable",{"title":3412,"path":3413,"stem":3414},"Exit","\u002Fdocs\u002Fapi\u002Fprocess\u002Fexit","docs\u002F5.api\u002F27.process\u002F3.functions\u002Fexit","i-lucide-square-terminal",{"title":3417,"path":3418,"stem":3419,"children":3420,"icon":3438},"CommandLine","\u002Fdocs\u002Fapi\u002Fcommandline","docs\u002F5.api\u002F28.commandline\u002F0.index",[3421,3422,3426,3430,3434],{"title":49,"path":3418,"stem":3419},{"title":3423,"path":3424,"stem":3425},"CommandLineError","\u002Fdocs\u002Fapi\u002Fcommandline\u002Fcommand-line-error","docs\u002F5.api\u002F28.commandline\u002F2.types\u002Fcommand-line-error",{"title":3427,"path":3428,"stem":3429},"Parsed","\u002Fdocs\u002Fapi\u002Fcommandline\u002Fparsed","docs\u002F5.api\u002F28.commandline\u002F2.types\u002Fparsed",{"title":3431,"path":3432,"stem":3433},"Help","\u002Fdocs\u002Fapi\u002Fcommandline\u002Fhelp","docs\u002F5.api\u002F28.commandline\u002F3.functions\u002Fhelp",{"title":3435,"path":3436,"stem":3437},"Specification","\u002Fdocs\u002Fapi\u002Fcommandline\u002Fspec","docs\u002F5.api\u002F28.commandline\u002F3.functions\u002Fspec","i-lucide-square-chevron-right",{"title":3440,"path":3441,"stem":3442,"children":3443,"icon":3473},"Log","\u002Fdocs\u002Fapi\u002Flog","docs\u002F5.api\u002F29.log\u002F0.index",[3444,3445,3449,3453,3457,3461,3465,3469],{"title":49,"path":3441,"stem":3442},{"title":3446,"path":3447,"stem":3448},"Fields","\u002Fdocs\u002Fapi\u002Flog\u002Ffield","docs\u002F5.api\u002F29.log\u002F2.types\u002Ffield",{"title":3450,"path":3451,"stem":3452},"Levels","\u002Fdocs\u002Fapi\u002Flog\u002Flevel","docs\u002F5.api\u002F29.log\u002F2.types\u002Flevel",{"title":3454,"path":3455,"stem":3456},"Logger","\u002Fdocs\u002Fapi\u002Flog\u002Flogger","docs\u002F5.api\u002F29.log\u002F2.types\u002Flogger",{"title":3458,"path":3459,"stem":3460},"Records","\u002Fdocs\u002Fapi\u002Flog\u002Frecord","docs\u002F5.api\u002F29.log\u002F2.types\u002Frecord",{"title":3462,"path":3463,"stem":3464},"RotatingFile","\u002Fdocs\u002Fapi\u002Flog\u002Frotating-file","docs\u002F5.api\u002F29.log\u002F2.types\u002Frotating-file",{"title":3466,"path":3467,"stem":3468},"RotatingStream","\u002Fdocs\u002Fapi\u002Flog\u002Frotating-stream","docs\u002F5.api\u002F29.log\u002F2.types\u002Frotating-stream",{"title":3470,"path":3471,"stem":3472},"Process-wide log","\u002Fdocs\u002Fapi\u002Flog\u002Fglobal","docs\u002F5.api\u002F29.log\u002F3.functions\u002Fglobal","i-lucide-scroll-text",{"title":3475,"path":3476,"stem":3477,"children":3478,"icon":3487},"TimeZone","\u002Fdocs\u002Fapi\u002Ftimezone","docs\u002F5.api\u002F30.timezone\u002F0.index",[3479,3480,3483],{"title":49,"path":3476,"stem":3477},{"title":447,"path":3481,"stem":3482},"\u002Fdocs\u002Fapi\u002Ftimezone\u002Ferror","docs\u002F5.api\u002F30.timezone\u002F2.types\u002Ferror",{"title":3484,"path":3485,"stem":3486},"Time zones","\u002Fdocs\u002Fapi\u002Ftimezone\u002Fzone","docs\u002F5.api\u002F30.timezone\u002F2.types\u002Fzone","i-lucide-globe",{"title":3489,"path":3490,"stem":3491,"children":3492,"icon":3517},"Net","\u002Fdocs\u002Fapi\u002Fnet","docs\u002F5.api\u002F31.net\u002F0.index",[3493,3494,3498,3502,3506,3510,3514],{"title":49,"path":3490,"stem":3491},{"title":3495,"path":3496,"stem":3497},"Addresses","\u002Fdocs\u002Fapi\u002Fnet\u002Faddress","docs\u002F5.api\u002F31.net\u002F2.types\u002Faddress",{"title":3499,"path":3500,"stem":3501},"Poller","\u002Fdocs\u002Fapi\u002Fnet\u002Fpoller","docs\u002F5.api\u002F31.net\u002F2.types\u002Fpoller",{"title":3503,"path":3504,"stem":3505},"Resolver","\u002Fdocs\u002Fapi\u002Fnet\u002Fresolver","docs\u002F5.api\u002F31.net\u002F2.types\u002Fresolver",{"title":3507,"path":3508,"stem":3509},"TCP","\u002Fdocs\u002Fapi\u002Fnet\u002Ftcp","docs\u002F5.api\u002F31.net\u002F2.types\u002Ftcp",{"title":3511,"path":3512,"stem":3513},"UDP","\u002Fdocs\u002Fapi\u002Fnet\u002Fudp","docs\u002F5.api\u002F31.net\u002F2.types\u002Fudp",{"title":3129,"path":3515,"stem":3516},"\u002Fdocs\u002Fapi\u002Fnet\u002Fresolve","docs\u002F5.api\u002F31.net\u002F3.functions\u002Fresolve","i-lucide-network",{"title":3519,"path":3520,"stem":3521,"children":3522,"icon":3540},"Test","\u002Fdocs\u002Fapi\u002Ftest","docs\u002F5.api\u002F32.test\u002F0.index",[3523,3524,3528,3532,3536],{"title":49,"path":3520,"stem":3521},{"title":3525,"path":3526,"stem":3527},"Failures","\u002Fdocs\u002Fapi\u002Ftest\u002Ffailure","docs\u002F5.api\u002F32.test\u002F2.types\u002Ffailure",{"title":3529,"path":3530,"stem":3531},"Runner","\u002Fdocs\u002Fapi\u002Ftest\u002Frunner","docs\u002F5.api\u002F32.test\u002F2.types\u002Frunner",{"title":3533,"path":3534,"stem":3535},"Benchmarks","\u002Fdocs\u002Fapi\u002Ftest\u002Fbenchmark","docs\u002F5.api\u002F32.test\u002F3.functions\u002Fbenchmark",{"title":3537,"path":3538,"stem":3539},"Checks","\u002Fdocs\u002Fapi\u002Ftest\u002Fexpect","docs\u002F5.api\u002F32.test\u002F3.functions\u002Fexpect","i-lucide-flask-conical",{"title":3542,"path":3543,"stem":3544,"children":3545,"icon":1222},"Thread","\u002Fdocs\u002Fapi\u002Fthread","docs\u002F5.api\u002F33.thread\u002F0.index",[3546,3547,3550,3554],{"title":49,"path":3543,"stem":3544},{"title":447,"path":3548,"stem":3549},"\u002Fdocs\u002Fapi\u002Fthread\u002Ferror","docs\u002F5.api\u002F33.thread\u002F2.types\u002Ferror",{"title":3551,"path":3552,"stem":3553},"Starting threads","\u002Fdocs\u002Fapi\u002Fthread\u002Fspawn","docs\u002F5.api\u002F33.thread\u002F2.types\u002Fspawn",{"title":3555,"path":3556,"stem":3557},"The current thread","\u002Fdocs\u002Fapi\u002Fthread\u002Fcurrent","docs\u002F5.api\u002F33.thread\u002F3.functions\u002Fcurrent",{"title":3559,"path":3560,"stem":3561,"children":3562,"icon":3568},"Atomic","\u002Fdocs\u002Fapi\u002Fatomic","docs\u002F5.api\u002F34.atomic\u002F0.index",[3563,3564],{"title":49,"path":3560,"stem":3561},{"title":3565,"path":3566,"stem":3567},"Atomic\u003CT>","\u002Fdocs\u002Fapi\u002Fatomic\u002Fatomic","docs\u002F5.api\u002F34.atomic\u002F2.types\u002Fatomic","i-lucide-zap",{"title":3570,"path":3571,"stem":3572,"children":3573,"icon":3595},"Sync","\u002Fdocs\u002Fapi\u002Fsync","docs\u002F5.api\u002F35.sync\u002F0.index",[3574,3575,3579,3583,3587,3591],{"title":49,"path":3571,"stem":3572},{"title":3576,"path":3577,"stem":3578},"Channels","\u002Fdocs\u002Fapi\u002Fsync\u002Fchannel","docs\u002F5.api\u002F35.sync\u002F2.types\u002Fchannel",{"title":3580,"path":3581,"stem":3582},"Counters","\u002Fdocs\u002Fapi\u002Fsync\u002Fcounters","docs\u002F5.api\u002F35.sync\u002F2.types\u002Fcounters",{"title":3584,"path":3585,"stem":3586},"Locks","\u002Fdocs\u002Fapi\u002Fsync\u002Flock","docs\u002F5.api\u002F35.sync\u002F2.types\u002Flock",{"title":3588,"path":3589,"stem":3590},"Mutexes","\u002Fdocs\u002Fapi\u002Fsync\u002Fmutex","docs\u002F5.api\u002F35.sync\u002F2.types\u002Fmutex",{"title":3592,"path":3593,"stem":3594},"Reader-writer locks","\u002Fdocs\u002Fapi\u002Fsync\u002Frw-lock","docs\u002F5.api\u002F35.sync\u002F2.types\u002Frw-lock","i-lucide-lock-keyhole",{"title":3597,"path":3598,"stem":3599,"children":3600,"icon":823},"Encoding","\u002Fdocs\u002Fapi\u002Fencoding","docs\u002F5.api\u002F36.encoding\u002F0.index",[3601,3602,3606,3610,3614,3618,3622,3626],{"title":49,"path":3598,"stem":3599},{"title":3603,"path":3604,"stem":3605},"DecodeError","\u002Fdocs\u002Fapi\u002Fencoding\u002Fdecode-error","docs\u002F5.api\u002F36.encoding\u002F2.types\u002Fdecode-error",{"title":3607,"path":3608,"stem":3609},"Streams","\u002Fdocs\u002Fapi\u002Fencoding\u002Fstream","docs\u002F5.api\u002F36.encoding\u002F2.types\u002Fstream",{"title":3611,"path":3612,"stem":3613},"Base32","\u002Fdocs\u002Fapi\u002Fencoding\u002Fbase32","docs\u002F5.api\u002F36.encoding\u002F3.functions\u002Fbase32",{"title":3615,"path":3616,"stem":3617},"Base58","\u002Fdocs\u002Fapi\u002Fencoding\u002Fbase58","docs\u002F5.api\u002F36.encoding\u002F3.functions\u002Fbase58",{"title":3619,"path":3620,"stem":3621},"Base64","\u002Fdocs\u002Fapi\u002Fencoding\u002Fbase64","docs\u002F5.api\u002F36.encoding\u002F3.functions\u002Fbase64",{"title":3623,"path":3624,"stem":3625},"Hexadecimal","\u002Fdocs\u002Fapi\u002Fencoding\u002Fhex","docs\u002F5.api\u002F36.encoding\u002F3.functions\u002Fhex",{"title":3627,"path":3628,"stem":3629},"Percent-encoding","\u002Fdocs\u002Fapi\u002Fencoding\u002Fpercent","docs\u002F5.api\u002F36.encoding\u002F3.functions\u002Fpercent",{"title":3631,"path":3632,"stem":3633,"children":3634,"icon":3647},"Url","\u002Fdocs\u002Fapi\u002Furl","docs\u002F5.api\u002F37.url\u002F0.index",[3635,3636,3639,3643],{"title":49,"path":3632,"stem":3633},{"title":447,"path":3637,"stem":3638},"\u002Fdocs\u002Fapi\u002Furl\u002Ferror","docs\u002F5.api\u002F37.url\u002F2.types\u002Ferror",{"title":3640,"path":3641,"stem":3642},"Query strings","\u002Fdocs\u002Fapi\u002Furl\u002Fquery","docs\u002F5.api\u002F37.url\u002F2.types\u002Fquery",{"title":3644,"path":3645,"stem":3646},"URLs","\u002Fdocs\u002Fapi\u002Furl\u002Furl","docs\u002F5.api\u002F37.url\u002F2.types\u002Furl","i-lucide-link",{"title":3649,"path":3650,"stem":3651,"children":3652,"icon":3670},"Compress","\u002Fdocs\u002Fapi\u002Fcompress","docs\u002F5.api\u002F38.compress\u002F0.index",[3653,3654,3658,3662,3666],{"title":49,"path":3650,"stem":3651},{"title":3655,"path":3656,"stem":3657},"Compressing","\u002Fdocs\u002Fapi\u002Fcompress\u002Fdeflate","docs\u002F5.api\u002F38.compress\u002F2.types\u002Fdeflate",{"title":3659,"path":3660,"stem":3661},"Formats and levels","\u002Fdocs\u002Fapi\u002Fcompress\u002Fformat","docs\u002F5.api\u002F38.compress\u002F2.types\u002Fformat",{"title":3663,"path":3664,"stem":3665},"Decompressing","\u002Fdocs\u002Fapi\u002Fcompress\u002Finflate","docs\u002F5.api\u002F38.compress\u002F2.types\u002Finflate",{"title":3667,"path":3668,"stem":3669},"Whole buffers","\u002Fdocs\u002Fapi\u002Fcompress\u002Fbuffers","docs\u002F5.api\u002F38.compress\u002F3.functions\u002Fbuffers","i-lucide-file-archive",{"title":3672,"path":3673,"stem":3674,"children":3675,"icon":2628},"NanoId","\u002Fdocs\u002Fapi\u002Fnanoid","docs\u002F5.api\u002F39.nanoid\u002F0.index",[3676,3677,3680,3684,3688],{"title":49,"path":3673,"stem":3674},{"title":3672,"path":3678,"stem":3679},"\u002Fdocs\u002Fapi\u002Fnanoid\u002Fnano-id","docs\u002F5.api\u002F39.nanoid\u002F2.types\u002Fnano-id",{"title":3681,"path":3682,"stem":3683},"NanoIdError","\u002Fdocs\u002Fapi\u002Fnanoid\u002Fnano-id-error","docs\u002F5.api\u002F39.nanoid\u002F2.types\u002Fnano-id-error",{"title":3685,"path":3686,"stem":3687},"Generating","\u002Fdocs\u002Fapi\u002Fnanoid\u002Fgenerate","docs\u002F5.api\u002F39.nanoid\u002F3.functions\u002Fgenerate",{"title":3689,"path":3690,"stem":3691},"Alphabets","\u002Fdocs\u002Fapi\u002Fnanoid\u002Falphabet","docs\u002F5.api\u002F39.nanoid\u002F4.constants\u002Falphabet",{"title":3693,"path":3694,"stem":3695},"Download","\u002Fdownload","download",{"title":3697,"path":3698,"stem":3699},"Frequently Asked Questions","\u002Ffaq","faq",{"title":3701,"path":3702,"stem":3703},"Privacy Policy","\u002Fprivacy","privacy",{"title":3705,"path":3706,"stem":3707},"Security Policy","\u002Fsecurity","security",{"title":3709,"path":3710,"stem":3711},"Support","\u002Fsupport","support",{"title":3713,"path":3714,"stem":3715},"Terms of Use","\u002Fterms","terms",{"id":3717,"title":3718,"api":3719,"authors":3719,"body":3720,"category":3719,"date":3719,"description":6127,"extension":6128,"hideToc":29,"image":3719,"lesson":6129,"meta":6135,"navigation":6136,"path":1054,"seo":6137,"stem":1055,"__hash__":6138},"docs\u002Fdocs\u002F1.learn\u002F20.utilities\u002F10.nano-id.md","Nano ID",null,{"type":3721,"value":3722,"toc":6116},"minimark",[3723,3727,3746,3760,3763,3828,3833,3862,3935,3950,3954,3967,4067,4089,4093,4103,4205,4258,4268,4272,4278,4364,4375,4378,4410,4429,4487,4491,4501,5894,5910,5914,5937,5944,5954,5958,5982,6003,6022,6032,6036,6073,6077,6112],[3724,3725,3718],"h1",{"id":3726},"nano-id",[3728,3729,3730],"note",{},[3731,3732,3733,3737,3738,3742,3743],"p",{},[3734,3735,3736],"strong",{},"You'll need",": ",[3739,3740,3741],"a",{"href":1050},"UUID",", ",[3739,3744,3745],{"href":311},"Writable slice",[3731,3747,3748,3749,3751,3752,3756,3757,3759],{},"A ",[3739,3750,3741],{"href":1050}," names a thing in 36 characters, and four of those are hyphens. When the identifier ends up in a URL, a file name or a short link — ",[3753,3754,3755],"code",{},"example.com\u002Fs\u002FV1StGXR8_Z5jdHi6B-myT"," — something shorter that needs no escaping is welcome. A ",[3734,3758,3718],{}," is exactly that: 21 characters, each one of the 64 that are safe in a URL, and still more random bits than a UUID.",[3731,3761,3762],{},"This lesson makes one, reads one back, and then fills a buffer of its own length from an alphabet of its own choosing — six digits for a confirmation code:",[3764,3765,3770],"pre",{"className":3766,"code":3767,"language":3768,"meta":3769,"style":3769},"language-rux shiki shiki-themes catppuccin-latte catppuccin-latte catppuccin-mocha","import NanoId::{ GenerateNanoId, NanoId, NanoIdAlphabet, NanoIdLength, NanoIdParseError,\n    ValidateAlphabet };\n","rux","",[3753,3771,3772,3819],{"__ignoreMap":3769},[3773,3774,3777,3781,3785,3789,3793,3796,3799,3801,3803,3806,3808,3811,3813,3816],"span",{"class":3775,"line":3776},"line",1,[3773,3778,3780],{"class":3779},"smXKV","import",[3773,3782,3784],{"class":3783},"sJT_S"," NanoId",[3773,3786,3788],{"class":3787},"sCFbw","::",[3773,3790,3792],{"class":3791},"sDi1i","{",[3773,3794,3795],{"class":3783}," GenerateNanoId",[3773,3797,3798],{"class":3791},",",[3773,3800,3784],{"class":3783},[3773,3802,3798],{"class":3791},[3773,3804,3805],{"class":3783}," NanoIdAlphabet",[3773,3807,3798],{"class":3791},[3773,3809,3810],{"class":3783}," NanoIdLength",[3773,3812,3798],{"class":3791},[3773,3814,3815],{"class":3783}," NanoIdParseError",[3773,3817,3818],{"class":3791},",\n",[3773,3820,3822,3825],{"class":3775,"line":3821},2,[3773,3823,3824],{"class":3783},"    ValidateAlphabet ",[3773,3826,3827],{"class":3791},"};\n",[3829,3830,3832],"h2",{"id":3831},"short-and-random","Short and random",[3731,3834,3835,3836,3839,3840,3742,3843,3839,3845,3742,3848,3839,3851,3742,3854,3857,3858,3861],{},"The default alphabet is ",[3753,3837,3838],{},"A","–",[3753,3841,3842],{},"Z",[3753,3844,3739],{},[3753,3846,3847],{},"z",[3753,3849,3850],{},"0",[3753,3852,3853],{},"9",[3753,3855,3856],{},"_"," and ",[3753,3859,3860],{},"-",": 64 characters, so each one carries exactly six random bits.",[3863,3864,3865,3879],"table",{},[3866,3867,3868],"thead",{},[3869,3870,3871,3874,3877],"tr",{},[3872,3873],"th",{},[3872,3875,3876],{},"UUID version 4",[3872,3878,3718],{},[3880,3881,3882,3893,3904,3914,3925],"tbody",{},[3869,3883,3884,3887,3890],{},[3885,3886,1423],"td",{},[3885,3888,3889],{},"36",[3885,3891,3892],{},"21",[3869,3894,3895,3898,3901],{},[3885,3896,3897],{},"Random bits",[3885,3899,3900],{},"122",[3885,3902,3903],{},"126",[3869,3905,3906,3909,3912],{},[3885,3907,3908],{},"Safe in a URL",[3885,3910,3911],{},"yes",[3885,3913,3911],{},[3869,3915,3916,3919,3922],{},[3885,3917,3918],{},"Fixed hyphens",[3885,3920,3921],{},"four",[3885,3923,3924],{},"none",[3869,3926,3927,3930,3933],{},[3885,3928,3929],{},"Case-sensitive",[3885,3931,3932],{},"no",[3885,3934,3911],{},[3731,3936,3937,3938,3857,3940,3942,3943,3857,3946,3949],{},"The last row matters: in a UUID ",[3753,3939,3838],{},[3753,3941,3739],{}," are the same digit, but in a Nano ID they are different characters, and ",[3753,3944,3945],{},"V1St…",[3753,3947,3948],{},"v1st…"," are two different identifiers.",[3829,3951,3953],{"id":3952},"making-one","Making one",[3731,3955,3956,3959,3960,3962,3963,3966],{},[3753,3957,3958],{},"NanoId::Generate()"," draws 21 random bytes from the operating system, as ",[3739,3961,2875],{"href":1042}," does, and so returns ",[3753,3964,3965],{},"NanoId ! EntropyError",":",[3764,3968,3970],{"className":3766,"code":3969,"language":3768,"meta":3769,"style":3769},"let id = NanoId::Generate() catch {\n    else => {\n        PrintLine(\"no entropy for a new identifier\");\n        return 1;\n    }\n};\nPrintLine(\"a new one:   {}\", id);\n",[3753,3971,3972,3999,4010,4026,4039,4045,4050],{"__ignoreMap":3769},[3773,3973,3974,3977,3980,3983,3985,3987,3990,3993,3996],{"class":3775,"line":3776},[3773,3975,3976],{"class":3779},"let",[3773,3978,3979],{"class":3783}," id ",[3773,3981,3982],{"class":3787},"=",[3773,3984,3784],{"class":3783},[3773,3986,3788],{"class":3787},[3773,3988,3989],{"class":3783},"Generate",[3773,3991,3992],{"class":3791},"()",[3773,3994,3995],{"class":3783}," catch ",[3773,3997,3998],{"class":3791},"{\n",[3773,4000,4001,4004,4007],{"class":3775,"line":3821},[3773,4002,4003],{"class":3779},"    else",[3773,4005,4006],{"class":3787}," =>",[3773,4008,4009],{"class":3791}," {\n",[3773,4011,4013,4016,4019,4023],{"class":3775,"line":4012},3,[3773,4014,4015],{"class":3783},"        PrintLine",[3773,4017,4018],{"class":3791},"(",[3773,4020,4022],{"class":4021},"sXpww","\"no entropy for a new identifier\"",[3773,4024,4025],{"class":3791},");\n",[3773,4027,4029,4032,4036],{"class":3775,"line":4028},4,[3773,4030,4031],{"class":3779},"        return",[3773,4033,4035],{"class":4034},"snhBn"," 1",[3773,4037,4038],{"class":3791},";\n",[3773,4040,4042],{"class":3775,"line":4041},5,[3773,4043,4044],{"class":3791},"    }\n",[3773,4046,4048],{"class":3775,"line":4047},6,[3773,4049,3827],{"class":3791},[3773,4051,4053,4055,4057,4060,4062,4065],{"class":3775,"line":4052},7,[3773,4054,2731],{"class":3783},[3773,4056,4018],{"class":3791},[3773,4058,4059],{"class":4021},"\"a new one:   {}\"",[3773,4061,3798],{"class":3791},[3773,4063,4064],{"class":3783}," id",[3773,4066,4025],{"class":3791},[3731,4068,4069,4070,4072,4073,4076,4077,4080,4081,4084,4085,4088],{},"If the system has no entropy there is no identifier at all — never a predictable one. A ",[3753,4071,3672],{}," is a small ",[3753,4074,4075],{},"Copy"," value holding its 21 characters inline; ",[3753,4078,4079],{},"{}"," prints them, and ",[3753,4082,4083],{},"Text()"," lends them out as a ",[3753,4086,4087],{},"char8[..]",".",[3829,4090,4092],{"id":4091},"reading-one-back","Reading one back",[3731,4094,4095,4098,4099,4102],{},[3753,4096,4097],{},"NanoId::Parse"," is as strict as the UUID parser: exactly 21 bytes, every one from the default alphabet. The error says why and, through ",[3753,4100,4101],{},"Offset()",", where:",[3764,4104,4106],{"className":3766,"code":4105,"language":3768,"meta":3769,"style":3769},"func Reason(error: NanoIdParseError) -> char8[..] {\n    return match error {\n        .WrongLength(_) => \"wrong length\",\n        .InvalidCharacter(_) => \"not in the alphabet\"\n    };\n}\n",[3753,4107,4108,4143,4156,4177,4195,4200],{"__ignoreMap":3769},[3773,4109,4110,4113,4117,4119,4123,4125,4129,4132,4135,4138,4141],{"class":3775,"line":3776},[3773,4111,4112],{"class":3779},"func",[3773,4114,4116],{"class":4115},"sptzg"," Reason",[3773,4118,4018],{"class":3791},[3773,4120,4122],{"class":4121},"sYR1E","error",[3773,4124,3737],{"class":3791},[3773,4126,4128],{"class":4127},"sqZDx","NanoIdParseError",[3773,4130,4131],{"class":3791},")",[3773,4133,4134],{"class":3791}," ->",[3773,4136,4137],{"class":3779}," char8",[3773,4139,4140],{"class":3783},"[..] ",[3773,4142,3998],{"class":3791},[3773,4144,4145,4148,4151,4154],{"class":3775,"line":3821},[3773,4146,4147],{"class":3779},"    return",[3773,4149,4150],{"class":3779}," match",[3773,4152,4153],{"class":3783}," error ",[3773,4155,3998],{"class":3791},[3773,4157,4158,4161,4164,4166,4168,4170,4172,4175],{"class":3775,"line":4012},[3773,4159,4160],{"class":3787},"        .",[3773,4162,4163],{"class":3783},"WrongLength",[3773,4165,4018],{"class":3791},[3773,4167,3856],{"class":3783},[3773,4169,4131],{"class":3791},[3773,4171,4006],{"class":3787},[3773,4173,4174],{"class":4021}," \"wrong length\"",[3773,4176,3818],{"class":3791},[3773,4178,4179,4181,4184,4186,4188,4190,4192],{"class":3775,"line":4028},[3773,4180,4160],{"class":3787},[3773,4182,4183],{"class":3783},"InvalidCharacter",[3773,4185,4018],{"class":3791},[3773,4187,3856],{"class":3783},[3773,4189,4131],{"class":3791},[3773,4191,4006],{"class":3787},[3773,4193,4194],{"class":4021}," \"not in the alphabet\"\n",[3773,4196,4197],{"class":3775,"line":4041},[3773,4198,4199],{"class":3791},"    };\n",[3773,4201,4202],{"class":3775,"line":4047},[3773,4203,4204],{"class":3791},"}\n",[3863,4206,4207,4216],{},[3866,4208,4209],{},[3869,4210,4211,4213],{},[3872,4212,680],{},[3872,4214,4215],{},"Result",[3880,4217,4218,4228,4238,4248],{},[3869,4219,4220,4225],{},[3885,4221,4222],{},[3753,4223,4224],{},"V1StGXR8_Z5jdHi6B-myT",[3885,4226,4227],{},"accepted",[3869,4229,4230,4235],{},[3885,4231,4232],{},[3753,4233,4234],{},"V1StGXR8_Z5jdHi6B",[3885,4236,4237],{},"wrong length, at byte 17 — the text ends",[3869,4239,4240,4245],{},[3885,4241,4242],{},[3753,4243,4244],{},"V1StGXR8_Z5jdHi6B-myT42",[3885,4246,4247],{},"wrong length, at byte 21 — the form ends",[3869,4249,4250,4255],{},[3885,4251,4252],{},[3753,4253,4254],{},"V1StGXR8+Z5jdHi6B-myT",[3885,4256,4257],{},"not in the alphabet, at byte 8",[3731,4259,4260,4261,4263,4264,4267],{},"Whatever ",[3753,4262,3989],{}," returns, its text parses back to an equal value. ",[3753,4265,4266],{},"Equals"," compares every byte whatever it finds, so the time it takes says nothing about how much of a guessed identifier was right — which matters when the identifier is a secret, such as a session token.",[3829,4269,4271],{"id":4270},"your-own-length-and-alphabet","Your own length and alphabet",[3731,4273,4274,4277],{},[3753,4275,4276],{},"GenerateNanoId"," fills a buffer you provide, of any length, from the default alphabet or from one you pass:",[3764,4279,4281],{"className":3766,"code":4280,"language":3768,"meta":3769,"style":3769},"var code: char8[6];\nGenerateNanoId(code[..], \"0123456789\") catch {\n    else => {\n        PrintLine(\"no entropy for a code\");\n        return 1;\n    }\n};\n",[3753,4282,4283,4304,4329,4337,4348,4356,4360],{"__ignoreMap":3769},[3773,4284,4285,4288,4291,4293,4295,4298,4301],{"class":3775,"line":3776},[3773,4286,4287],{"class":3779},"var",[3773,4289,4290],{"class":3783}," code",[3773,4292,3966],{"class":3791},[3773,4294,4137],{"class":4127},[3773,4296,4297],{"class":3791},"[",[3773,4299,4300],{"class":4034},"6",[3773,4302,4303],{"class":3791},"];\n",[3773,4305,4306,4308,4310,4312,4314,4317,4320,4323,4325,4327],{"class":3775,"line":3821},[3773,4307,4276],{"class":3783},[3773,4309,4018],{"class":3791},[3773,4311,3753],{"class":3783},[3773,4313,4297],{"class":3791},[3773,4315,4316],{"class":3787},"..",[3773,4318,4319],{"class":3791},"],",[3773,4321,4322],{"class":4021}," \"0123456789\"",[3773,4324,4131],{"class":3791},[3773,4326,3995],{"class":3783},[3773,4328,3998],{"class":3791},[3773,4330,4331,4333,4335],{"class":3775,"line":4012},[3773,4332,4003],{"class":3779},[3773,4334,4006],{"class":3787},[3773,4336,4009],{"class":3791},[3773,4338,4339,4341,4343,4346],{"class":3775,"line":4028},[3773,4340,4015],{"class":3783},[3773,4342,4018],{"class":3791},[3773,4344,4345],{"class":4021},"\"no entropy for a code\"",[3773,4347,4025],{"class":3791},[3773,4349,4350,4352,4354],{"class":3775,"line":4041},[3773,4351,4031],{"class":3779},[3773,4353,4035],{"class":4034},[3773,4355,4038],{"class":3791},[3773,4357,4358],{"class":3775,"line":4047},[3773,4359,4044],{"class":3791},[3773,4361,4362],{"class":3775,"line":4052},[3773,4363,3827],{"class":3791},[3731,4365,4366,4367,4370,4371,4374],{},"The buffer is a ",[3739,4368,4369],{"href":311},"writable slice"," of a local array, and the code is as long as the buffer. With an alphabet, the call returns ",[3753,4372,4373],{},"! NanoIdError",", which adds the ways an alphabet can be unusable to the entropy failure.",[3731,4376,4377],{},"The point of the rules is that every character must be equally likely. Each character starts as one random byte, masked down to the smallest power of two that covers the alphabet. For ten digits that is 0–15; a value from 10 to 15 is thrown away and another byte is used:",[3764,4379,4383],{"className":4380,"code":4381,"language":4382,"meta":3769,"style":3769},"language-mermaid shiki shiki-themes catppuccin-latte catppuccin-latte catppuccin-mocha","flowchart LR\n    b[\"random byte\"] --> m[\"keep the low bits:\u003Cbr\u002F>0 to 15\"]\n    m --> q{\"below 10?\"}\n    q -- \"yes\" --> c[\"that digit\"]\n    q -- \"no\" --> b\n","mermaid",[3753,4384,4385,4390,4395,4400,4405],{"__ignoreMap":3769},[3773,4386,4387],{"class":3775,"line":3776},[3773,4388,4389],{},"flowchart LR\n",[3773,4391,4392],{"class":3775,"line":3821},[3773,4393,4394],{},"    b[\"random byte\"] --> m[\"keep the low bits:\u003Cbr\u002F>0 to 15\"]\n",[3773,4396,4397],{"class":3775,"line":4012},[3773,4398,4399],{},"    m --> q{\"below 10?\"}\n",[3773,4401,4402],{"class":3775,"line":4028},[3773,4403,4404],{},"    q -- \"yes\" --> c[\"that digit\"]\n",[3773,4406,4407],{"class":3775,"line":4041},[3773,4408,4409],{},"    q -- \"no\" --> b\n",[3731,4411,4412,4413,4415,4416,4419,4420,4415,4422,4424,4425,4428],{},"Folding 10–15 back with a remainder instead would make ",[3753,4414,3850],{}," to ",[3753,4417,4418],{},"5"," likelier than ",[3753,4421,4300],{},[3753,4423,3853],{},". For the same reason an alphabet must have between 2 and 256 characters, all distinct and all ASCII. ",[3753,4426,4427],{},"ValidateAlphabet"," checks that, and the generators call it before spending any entropy:",[3863,4430,4431,4441],{},[3866,4432,4433],{},[3869,4434,4435,4438],{},[3872,4436,4437],{},"Alphabet",[3872,4439,4440],{},"Verdict",[3880,4442,4443,4453,4463,4473],{},[3869,4444,4445,4450],{},[3885,4446,4447],{},[3753,4448,4449],{},"0123456789abcdef",[3885,4451,4452],{},"usable",[3869,4454,4455,4460],{},[3885,4456,4457],{},[3753,4458,4459],{},"x",[3885,4461,4462],{},"too few characters — one carries no information",[3869,4464,4465,4470],{},[3885,4466,4467],{},[3753,4468,4469],{},"abcabc",[3885,4471,4472],{},"a duplicate at byte 3, which would be likelier",[3869,4474,4475,4480],{},[3885,4476,4477],{},[3753,4478,4479],{},"abé",[3885,4481,4482,4483,4486],{},"not ASCII at byte 2 — ",[3753,4484,4485],{},"é"," is two bytes in UTF-8",[3829,4488,4490],{"id":4489},"the-program","The program",[3731,4492,4493,4494,4500],{},"The whole lesson is one package in the ",[3739,4495,4499],{"href":4496,"rel":4497},"https:\u002F\u002Fgithub.com\u002Frux-lang\u002FExamples\u002Ftree\u002Fmain\u002FUtilities\u002FNanoId",[4498],"nofollow","Examples repository",". Its comments explain every step.",[3764,4502,4505],{"className":3766,"code":4503,"filename":4504,"language":3768,"meta":3769,"style":3769},"\u002F\u002F A Nano ID is a short random identifier, such as V1StGXR8_Z5jdHi6B-myT. It does the job of a\n\u002F\u002F UUID in less space: twenty-one characters drawn from the sixty-four that are safe in a URL or a\n\u002F\u002F file name, A-Z, a-z, 0-9, `_` and `-`. Each character carries six random bits, so a standard\n\u002F\u002F identifier carries 126, more than a version 4 UUID, in twenty-one characters instead of 36.\n\u002F\u002F\n\u002F\u002F `NanoId::Generate()` makes one from the operating system's entropy and returns\n\u002F\u002F `NanoId ! EntropyError`. `NanoId::Parse` reads the text form back, strictly: exactly twenty-one\n\u002F\u002F characters, every one from the default alphabet.\n\u002F\u002F\n\u002F\u002F `GenerateNanoId` fills a buffer you provide instead, of any length and from any alphabet, such\n\u002F\u002F as six digits for a confirmation code. An alphabet must be two to 256 distinct ASCII\n\u002F\u002F characters, so that every character is equally likely; `ValidateAlphabet` says which rule a bad\n\u002F\u002F one breaks, before any entropy is spent.\nimport Io::PrintLine;\nimport NanoId::{ GenerateNanoId, NanoId, NanoIdAlphabet, NanoIdLength, NanoIdParseError,\n    ValidateAlphabet };\n\nfunc Reason(error: NanoIdParseError) -> char8[..] {\n    return match error {\n        .WrongLength(_) => \"wrong length\",\n        .InvalidCharacter(_) => \"not in the alphabet\"\n    };\n}\n\nfunc Show(text: char8[..]) {\n    match NanoId::Parse(text) {\n        .Success(id) => PrintLine(\"{:\u003C23} -> {}\", text, id),\n        .Failure(error) => PrintLine(\"{:\u003C23} -> {} at byte {}\", text, Reason(error), error.Offset())\n    }\n}\n\nfunc Check(alphabet: char8[..]) {\n    match ValidateAlphabet(alphabet) {\n        .Success(_) => PrintLine(\"{:\u003C16} -> usable\", alphabet),\n        .Failure(error) => match error {\n            .AlphabetTooSmall => PrintLine(\"{:\u003C16} -> too few characters\", alphabet),\n            .AlphabetTooLarge => PrintLine(\"{:\u003C16} -> too many characters\", alphabet),\n            .DuplicateCharacter(at) => PrintLine(\"{:\u003C16} -> a duplicate at byte {}\", alphabet, at),\n            .NonAsciiCharacter(at) => PrintLine(\"{:\u003C16} -> not ASCII at byte {}\", alphabet, at),\n            .Entropy(_) => PrintLine(\"{:\u003C16} -> no entropy\", alphabet)\n        }\n    }\n}\n\n\u002F\u002F Whether every character of `text` appears in `alphabet`.\nfunc AllFrom(text: char8[..], alphabet: char8[..]) -> bool {\n    for c in text {\n        var found = false;\n        for member in alphabet {\n            if member == c { found = true; }\n        }\n        if !found { return false; }\n    }\n    return true;\n}\n\nfunc Main() -> int {\n    PrintLine(\"default alphabet: {} characters, {} per identifier\", NanoIdAlphabet.length,\n        NanoIdLength);\n\n    \u002F\u002F Reading the text form. The first is the example from Nano ID's own documentation.\n    Show(\"V1StGXR8_Z5jdHi6B-myT\");\n    Show(\"V1StGXR8_Z5jdHi6B\");\n    Show(\"V1StGXR8_Z5jdHi6B-myT42\");\n    Show(\"V1StGXR8+Z5jdHi6B-myT\");\n\n    \u002F\u002F A new identifier, different on every run. Generating can fail when the system has no\n    \u002F\u002F entropy, and then there is no identifier at all, never a predictable one. So the outcome is\n    \u002F\u002F not the identifier itself:\n    \u002F\u002F\n    \u002F\u002F     let id: NanoId = NanoId::Generate();\n    \u002F\u002F         error: cannot assign 'NanoId ! EntropyError' to 'NanoId'\n    let id = NanoId::Generate() catch {\n        else => {\n            PrintLine(\"no entropy for a new identifier\");\n            return 1;\n        }\n    };\n    PrintLine(\"a new one:   {}\", id);\n    \u002F\u002F Whatever it is, its shape is fixed: twenty-one characters that parse back to the same value.\n    match NanoId::Parse(id.Text()) {\n        .Success(back) => PrintLine(\"length {}, parses back to itself: {}\", id.Text().length,\n            back.Equals(id)),\n        .Failure(_) => PrintLine(\"does not parse back\")\n    }\n\n    \u002F\u002F A six-digit code from a custom alphabet, in a buffer of exactly the length wanted. This\n    \u002F\u002F call returns `! NanoIdError`, since the alphabet could be unusable, and that failure must be\n    \u002F\u002F handled too:\n    \u002F\u002F\n    \u002F\u002F     GenerateNanoId(code[..], \"0123456789\");\n    \u002F\u002F         error: fallible result of type '! NanoIdError' is discarded\n    var code: char8[6];\n    GenerateNanoId(code[..], \"0123456789\") catch {\n        else => {\n            PrintLine(\"no entropy for a code\");\n            return 1;\n        }\n    };\n    PrintLine(\"a code:      {}\", code[..]);\n    PrintLine(\"length {}, digits only: {}\", code.length, AllFrom(code[..], \"0123456789\"));\n\n    \u002F\u002F Alphabets that would make some characters likelier than others are refused.\n    Check(\"0123456789abcdef\");\n    Check(\"x\");\n    Check(\"abcabc\");\n    Check(\"abé\");\n    return 0;\n}\n","Src\u002FMain.rux",[3753,4506,4507,4513,4518,4523,4528,4533,4538,4543,4549,4554,4560,4566,4572,4578,4592,4623,4630,4637,4662,4673,4692,4709,4714,4719,4724,4749,4769,4806,4855,4860,4865,4870,4893,4909,4938,4959,4984,5007,5042,5075,5104,5110,5115,5120,5125,5131,5168,5185,5202,5218,5246,5251,5274,5279,5288,5293,5298,5315,5337,5345,5350,5356,5369,5381,5393,5405,5410,5416,5422,5428,5434,5440,5446,5468,5478,5490,5500,5505,5510,5525,5531,5555,5594,5611,5635,5640,5645,5651,5657,5663,5668,5674,5680,5698,5722,5731,5742,5751,5756,5761,5782,5819,5824,5830,5843,5855,5867,5879,5889],{"__ignoreMap":3769},[3773,4508,4509],{"class":3775,"line":3776},[3773,4510,4512],{"class":4511},"sY9YT","\u002F\u002F A Nano ID is a short random identifier, such as V1StGXR8_Z5jdHi6B-myT. It does the job of a\n",[3773,4514,4515],{"class":3775,"line":3821},[3773,4516,4517],{"class":4511},"\u002F\u002F UUID in less space: twenty-one characters drawn from the sixty-four that are safe in a URL or a\n",[3773,4519,4520],{"class":3775,"line":4012},[3773,4521,4522],{"class":4511},"\u002F\u002F file name, A-Z, a-z, 0-9, `_` and `-`. Each character carries six random bits, so a standard\n",[3773,4524,4525],{"class":3775,"line":4028},[3773,4526,4527],{"class":4511},"\u002F\u002F identifier carries 126, more than a version 4 UUID, in twenty-one characters instead of 36.\n",[3773,4529,4530],{"class":3775,"line":4041},[3773,4531,4532],{"class":4511},"\u002F\u002F\n",[3773,4534,4535],{"class":3775,"line":4047},[3773,4536,4537],{"class":4511},"\u002F\u002F `NanoId::Generate()` makes one from the operating system's entropy and returns\n",[3773,4539,4540],{"class":3775,"line":4052},[3773,4541,4542],{"class":4511},"\u002F\u002F `NanoId ! EntropyError`. `NanoId::Parse` reads the text form back, strictly: exactly twenty-one\n",[3773,4544,4546],{"class":3775,"line":4545},8,[3773,4547,4548],{"class":4511},"\u002F\u002F characters, every one from the default alphabet.\n",[3773,4550,4552],{"class":3775,"line":4551},9,[3773,4553,4532],{"class":4511},[3773,4555,4557],{"class":3775,"line":4556},10,[3773,4558,4559],{"class":4511},"\u002F\u002F `GenerateNanoId` fills a buffer you provide instead, of any length and from any alphabet, such\n",[3773,4561,4563],{"class":3775,"line":4562},11,[3773,4564,4565],{"class":4511},"\u002F\u002F as six digits for a confirmation code. An alphabet must be two to 256 distinct ASCII\n",[3773,4567,4569],{"class":3775,"line":4568},12,[3773,4570,4571],{"class":4511},"\u002F\u002F characters, so that every character is equally likely; `ValidateAlphabet` says which rule a bad\n",[3773,4573,4575],{"class":3775,"line":4574},13,[3773,4576,4577],{"class":4511},"\u002F\u002F one breaks, before any entropy is spent.\n",[3773,4579,4581,4583,4586,4588,4590],{"class":3775,"line":4580},14,[3773,4582,3780],{"class":3779},[3773,4584,4585],{"class":3783}," Io",[3773,4587,3788],{"class":3787},[3773,4589,2731],{"class":3783},[3773,4591,4038],{"class":3791},[3773,4593,4595,4597,4599,4601,4603,4605,4607,4609,4611,4613,4615,4617,4619,4621],{"class":3775,"line":4594},15,[3773,4596,3780],{"class":3779},[3773,4598,3784],{"class":3783},[3773,4600,3788],{"class":3787},[3773,4602,3792],{"class":3791},[3773,4604,3795],{"class":3783},[3773,4606,3798],{"class":3791},[3773,4608,3784],{"class":3783},[3773,4610,3798],{"class":3791},[3773,4612,3805],{"class":3783},[3773,4614,3798],{"class":3791},[3773,4616,3810],{"class":3783},[3773,4618,3798],{"class":3791},[3773,4620,3815],{"class":3783},[3773,4622,3818],{"class":3791},[3773,4624,4626,4628],{"class":3775,"line":4625},16,[3773,4627,3824],{"class":3783},[3773,4629,3827],{"class":3791},[3773,4631,4633],{"class":3775,"line":4632},17,[3773,4634,4636],{"emptyLinePlaceholder":4635},true,"\n",[3773,4638,4640,4642,4644,4646,4648,4650,4652,4654,4656,4658,4660],{"class":3775,"line":4639},18,[3773,4641,4112],{"class":3779},[3773,4643,4116],{"class":4115},[3773,4645,4018],{"class":3791},[3773,4647,4122],{"class":4121},[3773,4649,3737],{"class":3791},[3773,4651,4128],{"class":4127},[3773,4653,4131],{"class":3791},[3773,4655,4134],{"class":3791},[3773,4657,4137],{"class":3779},[3773,4659,4140],{"class":3783},[3773,4661,3998],{"class":3791},[3773,4663,4665,4667,4669,4671],{"class":3775,"line":4664},19,[3773,4666,4147],{"class":3779},[3773,4668,4150],{"class":3779},[3773,4670,4153],{"class":3783},[3773,4672,3998],{"class":3791},[3773,4674,4676,4678,4680,4682,4684,4686,4688,4690],{"class":3775,"line":4675},20,[3773,4677,4160],{"class":3787},[3773,4679,4163],{"class":3783},[3773,4681,4018],{"class":3791},[3773,4683,3856],{"class":3783},[3773,4685,4131],{"class":3791},[3773,4687,4006],{"class":3787},[3773,4689,4174],{"class":4021},[3773,4691,3818],{"class":3791},[3773,4693,4695,4697,4699,4701,4703,4705,4707],{"class":3775,"line":4694},21,[3773,4696,4160],{"class":3787},[3773,4698,4183],{"class":3783},[3773,4700,4018],{"class":3791},[3773,4702,3856],{"class":3783},[3773,4704,4131],{"class":3791},[3773,4706,4006],{"class":3787},[3773,4708,4194],{"class":4021},[3773,4710,4712],{"class":3775,"line":4711},22,[3773,4713,4199],{"class":3791},[3773,4715,4717],{"class":3775,"line":4716},23,[3773,4718,4204],{"class":3791},[3773,4720,4722],{"class":3775,"line":4721},24,[3773,4723,4636],{"emptyLinePlaceholder":4635},[3773,4725,4727,4729,4732,4734,4737,4739,4742,4745,4747],{"class":3775,"line":4726},25,[3773,4728,4112],{"class":3779},[3773,4730,4731],{"class":4115}," Show",[3773,4733,4018],{"class":3791},[3773,4735,4736],{"class":4121},"text",[3773,4738,3737],{"class":3791},[3773,4740,4741],{"class":4127},"char8",[3773,4743,4744],{"class":3783},"[..]",[3773,4746,4131],{"class":3791},[3773,4748,4009],{"class":3791},[3773,4750,4752,4755,4757,4759,4761,4763,4765,4767],{"class":3775,"line":4751},26,[3773,4753,4754],{"class":3779},"    match",[3773,4756,3784],{"class":3783},[3773,4758,3788],{"class":3787},[3773,4760,2936],{"class":3783},[3773,4762,4018],{"class":3791},[3773,4764,4736],{"class":3783},[3773,4766,4131],{"class":3791},[3773,4768,4009],{"class":3791},[3773,4770,4772,4774,4777,4779,4782,4784,4786,4789,4791,4794,4796,4799,4801,4803],{"class":3775,"line":4771},27,[3773,4773,4160],{"class":3787},[3773,4775,4776],{"class":3783},"Success",[3773,4778,4018],{"class":3791},[3773,4780,4781],{"class":3783},"id",[3773,4783,4131],{"class":3791},[3773,4785,4006],{"class":3787},[3773,4787,4788],{"class":3783}," PrintLine",[3773,4790,4018],{"class":3791},[3773,4792,4793],{"class":4021},"\"{:\u003C23} -> {}\"",[3773,4795,3798],{"class":3791},[3773,4797,4798],{"class":3783}," text",[3773,4800,3798],{"class":3791},[3773,4802,4064],{"class":3783},[3773,4804,4805],{"class":3791},"),\n",[3773,4807,4809,4811,4814,4816,4818,4820,4822,4824,4826,4829,4831,4833,4835,4837,4839,4841,4844,4847,4849,4852],{"class":3775,"line":4808},28,[3773,4810,4160],{"class":3787},[3773,4812,4813],{"class":3783},"Failure",[3773,4815,4018],{"class":3791},[3773,4817,4122],{"class":3783},[3773,4819,4131],{"class":3791},[3773,4821,4006],{"class":3787},[3773,4823,4788],{"class":3783},[3773,4825,4018],{"class":3791},[3773,4827,4828],{"class":4021},"\"{:\u003C23} -> {} at byte {}\"",[3773,4830,3798],{"class":3791},[3773,4832,4798],{"class":3783},[3773,4834,3798],{"class":3791},[3773,4836,4116],{"class":3783},[3773,4838,4018],{"class":3791},[3773,4840,4122],{"class":3783},[3773,4842,4843],{"class":3791},"),",[3773,4845,4846],{"class":3783}," error",[3773,4848,4088],{"class":3787},[3773,4850,4851],{"class":3783},"Offset",[3773,4853,4854],{"class":3791},"())\n",[3773,4856,4858],{"class":3775,"line":4857},29,[3773,4859,4044],{"class":3791},[3773,4861,4863],{"class":3775,"line":4862},30,[3773,4864,4204],{"class":3791},[3773,4866,4868],{"class":3775,"line":4867},31,[3773,4869,4636],{"emptyLinePlaceholder":4635},[3773,4871,4873,4875,4878,4880,4883,4885,4887,4889,4891],{"class":3775,"line":4872},32,[3773,4874,4112],{"class":3779},[3773,4876,4877],{"class":4115}," Check",[3773,4879,4018],{"class":3791},[3773,4881,4882],{"class":4121},"alphabet",[3773,4884,3737],{"class":3791},[3773,4886,4741],{"class":4127},[3773,4888,4744],{"class":3783},[3773,4890,4131],{"class":3791},[3773,4892,4009],{"class":3791},[3773,4894,4896,4898,4901,4903,4905,4907],{"class":3775,"line":4895},33,[3773,4897,4754],{"class":3779},[3773,4899,4900],{"class":3783}," ValidateAlphabet",[3773,4902,4018],{"class":3791},[3773,4904,4882],{"class":3783},[3773,4906,4131],{"class":3791},[3773,4908,4009],{"class":3791},[3773,4910,4912,4914,4916,4918,4920,4922,4924,4926,4928,4931,4933,4936],{"class":3775,"line":4911},34,[3773,4913,4160],{"class":3787},[3773,4915,4776],{"class":3783},[3773,4917,4018],{"class":3791},[3773,4919,3856],{"class":3783},[3773,4921,4131],{"class":3791},[3773,4923,4006],{"class":3787},[3773,4925,4788],{"class":3783},[3773,4927,4018],{"class":3791},[3773,4929,4930],{"class":4021},"\"{:\u003C16} -> usable\"",[3773,4932,3798],{"class":3791},[3773,4934,4935],{"class":3783}," alphabet",[3773,4937,4805],{"class":3791},[3773,4939,4941,4943,4945,4947,4949,4951,4953,4955,4957],{"class":3775,"line":4940},35,[3773,4942,4160],{"class":3787},[3773,4944,4813],{"class":3783},[3773,4946,4018],{"class":3791},[3773,4948,4122],{"class":3783},[3773,4950,4131],{"class":3791},[3773,4952,4006],{"class":3787},[3773,4954,4150],{"class":3779},[3773,4956,4153],{"class":3783},[3773,4958,3998],{"class":3791},[3773,4960,4962,4965,4968,4971,4973,4975,4978,4980,4982],{"class":3775,"line":4961},36,[3773,4963,4964],{"class":3787},"            .",[3773,4966,4967],{"class":3783},"AlphabetTooSmall ",[3773,4969,4970],{"class":3787},"=>",[3773,4972,4788],{"class":3783},[3773,4974,4018],{"class":3791},[3773,4976,4977],{"class":4021},"\"{:\u003C16} -> too few characters\"",[3773,4979,3798],{"class":3791},[3773,4981,4935],{"class":3783},[3773,4983,4805],{"class":3791},[3773,4985,4987,4989,4992,4994,4996,4998,5001,5003,5005],{"class":3775,"line":4986},37,[3773,4988,4964],{"class":3787},[3773,4990,4991],{"class":3783},"AlphabetTooLarge ",[3773,4993,4970],{"class":3787},[3773,4995,4788],{"class":3783},[3773,4997,4018],{"class":3791},[3773,4999,5000],{"class":4021},"\"{:\u003C16} -> too many characters\"",[3773,5002,3798],{"class":3791},[3773,5004,4935],{"class":3783},[3773,5006,4805],{"class":3791},[3773,5008,5010,5012,5015,5017,5020,5022,5024,5026,5028,5031,5033,5035,5037,5040],{"class":3775,"line":5009},38,[3773,5011,4964],{"class":3787},[3773,5013,5014],{"class":3783},"DuplicateCharacter",[3773,5016,4018],{"class":3791},[3773,5018,5019],{"class":3783},"at",[3773,5021,4131],{"class":3791},[3773,5023,4006],{"class":3787},[3773,5025,4788],{"class":3783},[3773,5027,4018],{"class":3791},[3773,5029,5030],{"class":4021},"\"{:\u003C16} -> a duplicate at byte {}\"",[3773,5032,3798],{"class":3791},[3773,5034,4935],{"class":3783},[3773,5036,3798],{"class":3791},[3773,5038,5039],{"class":3783}," at",[3773,5041,4805],{"class":3791},[3773,5043,5045,5047,5050,5052,5054,5056,5058,5060,5062,5065,5067,5069,5071,5073],{"class":3775,"line":5044},39,[3773,5046,4964],{"class":3787},[3773,5048,5049],{"class":3783},"NonAsciiCharacter",[3773,5051,4018],{"class":3791},[3773,5053,5019],{"class":3783},[3773,5055,4131],{"class":3791},[3773,5057,4006],{"class":3787},[3773,5059,4788],{"class":3783},[3773,5061,4018],{"class":3791},[3773,5063,5064],{"class":4021},"\"{:\u003C16} -> not ASCII at byte {}\"",[3773,5066,3798],{"class":3791},[3773,5068,4935],{"class":3783},[3773,5070,3798],{"class":3791},[3773,5072,5039],{"class":3783},[3773,5074,4805],{"class":3791},[3773,5076,5078,5080,5082,5084,5086,5088,5090,5092,5094,5097,5099,5101],{"class":3775,"line":5077},40,[3773,5079,4964],{"class":3787},[3773,5081,2875],{"class":3783},[3773,5083,4018],{"class":3791},[3773,5085,3856],{"class":3783},[3773,5087,4131],{"class":3791},[3773,5089,4006],{"class":3787},[3773,5091,4788],{"class":3783},[3773,5093,4018],{"class":3791},[3773,5095,5096],{"class":4021},"\"{:\u003C16} -> no entropy\"",[3773,5098,3798],{"class":3791},[3773,5100,4935],{"class":3783},[3773,5102,5103],{"class":3791},")\n",[3773,5105,5107],{"class":3775,"line":5106},41,[3773,5108,5109],{"class":3791},"        }\n",[3773,5111,5113],{"class":3775,"line":5112},42,[3773,5114,4044],{"class":3791},[3773,5116,5118],{"class":3775,"line":5117},43,[3773,5119,4204],{"class":3791},[3773,5121,5123],{"class":3775,"line":5122},44,[3773,5124,4636],{"emptyLinePlaceholder":4635},[3773,5126,5128],{"class":3775,"line":5127},45,[3773,5129,5130],{"class":4511},"\u002F\u002F Whether every character of `text` appears in `alphabet`.\n",[3773,5132,5134,5136,5139,5141,5143,5145,5147,5149,5151,5153,5155,5157,5159,5161,5163,5166],{"class":3775,"line":5133},46,[3773,5135,4112],{"class":3779},[3773,5137,5138],{"class":4115}," AllFrom",[3773,5140,4018],{"class":3791},[3773,5142,4736],{"class":4121},[3773,5144,3737],{"class":3791},[3773,5146,4741],{"class":4127},[3773,5148,4744],{"class":3783},[3773,5150,3798],{"class":3791},[3773,5152,4935],{"class":4121},[3773,5154,3737],{"class":3791},[3773,5156,4741],{"class":4127},[3773,5158,4744],{"class":3783},[3773,5160,4131],{"class":3791},[3773,5162,4134],{"class":3791},[3773,5164,5165],{"class":3779}," bool",[3773,5167,4009],{"class":3791},[3773,5169,5171,5174,5177,5180,5183],{"class":3775,"line":5170},47,[3773,5172,5173],{"class":3779},"    for",[3773,5175,5176],{"class":3783}," c ",[3773,5178,5179],{"class":3779},"in",[3773,5181,5182],{"class":3783}," text ",[3773,5184,3998],{"class":3791},[3773,5186,5188,5191,5194,5196,5200],{"class":3775,"line":5187},48,[3773,5189,5190],{"class":3779},"        var",[3773,5192,5193],{"class":3783}," found ",[3773,5195,3982],{"class":3787},[3773,5197,5199],{"class":5198},"sRT_P"," false",[3773,5201,4038],{"class":3791},[3773,5203,5205,5208,5211,5213,5216],{"class":3775,"line":5204},49,[3773,5206,5207],{"class":3779},"        for",[3773,5209,5210],{"class":3783}," member ",[3773,5212,5179],{"class":3779},[3773,5214,5215],{"class":3783}," alphabet ",[3773,5217,3998],{"class":3791},[3773,5219,5221,5224,5226,5229,5231,5233,5235,5237,5240,5243],{"class":3775,"line":5220},50,[3773,5222,5223],{"class":3779},"            if",[3773,5225,5210],{"class":3783},[3773,5227,5228],{"class":3787},"==",[3773,5230,5176],{"class":3783},[3773,5232,3792],{"class":3791},[3773,5234,5193],{"class":3783},[3773,5236,3982],{"class":3787},[3773,5238,5239],{"class":5198}," true",[3773,5241,5242],{"class":3791},";",[3773,5244,5245],{"class":3791}," }\n",[3773,5247,5249],{"class":3775,"line":5248},51,[3773,5250,5109],{"class":3791},[3773,5252,5254,5257,5260,5263,5265,5268,5270,5272],{"class":3775,"line":5253},52,[3773,5255,5256],{"class":3779},"        if",[3773,5258,5259],{"class":3787}," !",[3773,5261,5262],{"class":3783},"found ",[3773,5264,3792],{"class":3791},[3773,5266,5267],{"class":3779}," return",[3773,5269,5199],{"class":5198},[3773,5271,5242],{"class":3791},[3773,5273,5245],{"class":3791},[3773,5275,5277],{"class":3775,"line":5276},53,[3773,5278,4044],{"class":3791},[3773,5280,5282,5284,5286],{"class":3775,"line":5281},54,[3773,5283,4147],{"class":3779},[3773,5285,5239],{"class":5198},[3773,5287,4038],{"class":3791},[3773,5289,5291],{"class":3775,"line":5290},55,[3773,5292,4204],{"class":3791},[3773,5294,5296],{"class":3775,"line":5295},56,[3773,5297,4636],{"emptyLinePlaceholder":4635},[3773,5299,5301,5303,5306,5308,5310,5313],{"class":3775,"line":5300},57,[3773,5302,4112],{"class":3779},[3773,5304,5305],{"class":4115}," Main",[3773,5307,3992],{"class":3791},[3773,5309,4134],{"class":3791},[3773,5311,5312],{"class":3779}," int",[3773,5314,4009],{"class":3791},[3773,5316,5318,5321,5323,5326,5328,5330,5332,5335],{"class":3775,"line":5317},58,[3773,5319,5320],{"class":3783},"    PrintLine",[3773,5322,4018],{"class":3791},[3773,5324,5325],{"class":4021},"\"default alphabet: {} characters, {} per identifier\"",[3773,5327,3798],{"class":3791},[3773,5329,3805],{"class":3783},[3773,5331,4088],{"class":3787},[3773,5333,5334],{"class":3783},"length",[3773,5336,3818],{"class":3791},[3773,5338,5340,5343],{"class":3775,"line":5339},59,[3773,5341,5342],{"class":3783},"        NanoIdLength",[3773,5344,4025],{"class":3791},[3773,5346,5348],{"class":3775,"line":5347},60,[3773,5349,4636],{"emptyLinePlaceholder":4635},[3773,5351,5353],{"class":3775,"line":5352},61,[3773,5354,5355],{"class":4511},"    \u002F\u002F Reading the text form. The first is the example from Nano ID's own documentation.\n",[3773,5357,5359,5362,5364,5367],{"class":3775,"line":5358},62,[3773,5360,5361],{"class":3783},"    Show",[3773,5363,4018],{"class":3791},[3773,5365,5366],{"class":4021},"\"V1StGXR8_Z5jdHi6B-myT\"",[3773,5368,4025],{"class":3791},[3773,5370,5372,5374,5376,5379],{"class":3775,"line":5371},63,[3773,5373,5361],{"class":3783},[3773,5375,4018],{"class":3791},[3773,5377,5378],{"class":4021},"\"V1StGXR8_Z5jdHi6B\"",[3773,5380,4025],{"class":3791},[3773,5382,5384,5386,5388,5391],{"class":3775,"line":5383},64,[3773,5385,5361],{"class":3783},[3773,5387,4018],{"class":3791},[3773,5389,5390],{"class":4021},"\"V1StGXR8_Z5jdHi6B-myT42\"",[3773,5392,4025],{"class":3791},[3773,5394,5396,5398,5400,5403],{"class":3775,"line":5395},65,[3773,5397,5361],{"class":3783},[3773,5399,4018],{"class":3791},[3773,5401,5402],{"class":4021},"\"V1StGXR8+Z5jdHi6B-myT\"",[3773,5404,4025],{"class":3791},[3773,5406,5408],{"class":3775,"line":5407},66,[3773,5409,4636],{"emptyLinePlaceholder":4635},[3773,5411,5413],{"class":3775,"line":5412},67,[3773,5414,5415],{"class":4511},"    \u002F\u002F A new identifier, different on every run. Generating can fail when the system has no\n",[3773,5417,5419],{"class":3775,"line":5418},68,[3773,5420,5421],{"class":4511},"    \u002F\u002F entropy, and then there is no identifier at all, never a predictable one. So the outcome is\n",[3773,5423,5425],{"class":3775,"line":5424},69,[3773,5426,5427],{"class":4511},"    \u002F\u002F not the identifier itself:\n",[3773,5429,5431],{"class":3775,"line":5430},70,[3773,5432,5433],{"class":4511},"    \u002F\u002F\n",[3773,5435,5437],{"class":3775,"line":5436},71,[3773,5438,5439],{"class":4511},"    \u002F\u002F     let id: NanoId = NanoId::Generate();\n",[3773,5441,5443],{"class":3775,"line":5442},72,[3773,5444,5445],{"class":4511},"    \u002F\u002F         error: cannot assign 'NanoId ! EntropyError' to 'NanoId'\n",[3773,5447,5449,5452,5454,5456,5458,5460,5462,5464,5466],{"class":3775,"line":5448},73,[3773,5450,5451],{"class":3779},"    let",[3773,5453,3979],{"class":3783},[3773,5455,3982],{"class":3787},[3773,5457,3784],{"class":3783},[3773,5459,3788],{"class":3787},[3773,5461,3989],{"class":3783},[3773,5463,3992],{"class":3791},[3773,5465,3995],{"class":3783},[3773,5467,3998],{"class":3791},[3773,5469,5471,5474,5476],{"class":3775,"line":5470},74,[3773,5472,5473],{"class":3779},"        else",[3773,5475,4006],{"class":3787},[3773,5477,4009],{"class":3791},[3773,5479,5481,5484,5486,5488],{"class":3775,"line":5480},75,[3773,5482,5483],{"class":3783},"            PrintLine",[3773,5485,4018],{"class":3791},[3773,5487,4022],{"class":4021},[3773,5489,4025],{"class":3791},[3773,5491,5493,5496,5498],{"class":3775,"line":5492},76,[3773,5494,5495],{"class":3779},"            return",[3773,5497,4035],{"class":4034},[3773,5499,4038],{"class":3791},[3773,5501,5503],{"class":3775,"line":5502},77,[3773,5504,5109],{"class":3791},[3773,5506,5508],{"class":3775,"line":5507},78,[3773,5509,4199],{"class":3791},[3773,5511,5513,5515,5517,5519,5521,5523],{"class":3775,"line":5512},79,[3773,5514,5320],{"class":3783},[3773,5516,4018],{"class":3791},[3773,5518,4059],{"class":4021},[3773,5520,3798],{"class":3791},[3773,5522,4064],{"class":3783},[3773,5524,4025],{"class":3791},[3773,5526,5528],{"class":3775,"line":5527},80,[3773,5529,5530],{"class":4511},"    \u002F\u002F Whatever it is, its shape is fixed: twenty-one characters that parse back to the same value.\n",[3773,5532,5534,5536,5538,5540,5542,5544,5546,5548,5550,5553],{"class":3775,"line":5533},81,[3773,5535,4754],{"class":3779},[3773,5537,3784],{"class":3783},[3773,5539,3788],{"class":3787},[3773,5541,2936],{"class":3783},[3773,5543,4018],{"class":3791},[3773,5545,4781],{"class":3783},[3773,5547,4088],{"class":3787},[3773,5549,680],{"class":3783},[3773,5551,5552],{"class":3791},"())",[3773,5554,4009],{"class":3791},[3773,5556,5558,5560,5562,5564,5567,5569,5571,5573,5575,5578,5580,5582,5584,5586,5588,5590,5592],{"class":3775,"line":5557},82,[3773,5559,4160],{"class":3787},[3773,5561,4776],{"class":3783},[3773,5563,4018],{"class":3791},[3773,5565,5566],{"class":3783},"back",[3773,5568,4131],{"class":3791},[3773,5570,4006],{"class":3787},[3773,5572,4788],{"class":3783},[3773,5574,4018],{"class":3791},[3773,5576,5577],{"class":4021},"\"length {}, parses back to itself: {}\"",[3773,5579,3798],{"class":3791},[3773,5581,4064],{"class":3783},[3773,5583,4088],{"class":3787},[3773,5585,680],{"class":3783},[3773,5587,3992],{"class":3791},[3773,5589,4088],{"class":3787},[3773,5591,5334],{"class":3783},[3773,5593,3818],{"class":3791},[3773,5595,5597,5600,5602,5604,5606,5608],{"class":3775,"line":5596},83,[3773,5598,5599],{"class":3783},"            back",[3773,5601,4088],{"class":3787},[3773,5603,4266],{"class":3783},[3773,5605,4018],{"class":3791},[3773,5607,4781],{"class":3783},[3773,5609,5610],{"class":3791},")),\n",[3773,5612,5614,5616,5618,5620,5622,5624,5626,5628,5630,5633],{"class":3775,"line":5613},84,[3773,5615,4160],{"class":3787},[3773,5617,4813],{"class":3783},[3773,5619,4018],{"class":3791},[3773,5621,3856],{"class":3783},[3773,5623,4131],{"class":3791},[3773,5625,4006],{"class":3787},[3773,5627,4788],{"class":3783},[3773,5629,4018],{"class":3791},[3773,5631,5632],{"class":4021},"\"does not parse back\"",[3773,5634,5103],{"class":3791},[3773,5636,5638],{"class":3775,"line":5637},85,[3773,5639,4044],{"class":3791},[3773,5641,5643],{"class":3775,"line":5642},86,[3773,5644,4636],{"emptyLinePlaceholder":4635},[3773,5646,5648],{"class":3775,"line":5647},87,[3773,5649,5650],{"class":4511},"    \u002F\u002F A six-digit code from a custom alphabet, in a buffer of exactly the length wanted. This\n",[3773,5652,5654],{"class":3775,"line":5653},88,[3773,5655,5656],{"class":4511},"    \u002F\u002F call returns `! NanoIdError`, since the alphabet could be unusable, and that failure must be\n",[3773,5658,5660],{"class":3775,"line":5659},89,[3773,5661,5662],{"class":4511},"    \u002F\u002F handled too:\n",[3773,5664,5666],{"class":3775,"line":5665},90,[3773,5667,5433],{"class":4511},[3773,5669,5671],{"class":3775,"line":5670},91,[3773,5672,5673],{"class":4511},"    \u002F\u002F     GenerateNanoId(code[..], \"0123456789\");\n",[3773,5675,5677],{"class":3775,"line":5676},92,[3773,5678,5679],{"class":4511},"    \u002F\u002F         error: fallible result of type '! NanoIdError' is discarded\n",[3773,5681,5683,5686,5688,5690,5692,5694,5696],{"class":3775,"line":5682},93,[3773,5684,5685],{"class":3779},"    var",[3773,5687,4290],{"class":3783},[3773,5689,3966],{"class":3791},[3773,5691,4137],{"class":4127},[3773,5693,4297],{"class":3791},[3773,5695,4300],{"class":4034},[3773,5697,4303],{"class":3791},[3773,5699,5701,5704,5706,5708,5710,5712,5714,5716,5718,5720],{"class":3775,"line":5700},94,[3773,5702,5703],{"class":3783},"    GenerateNanoId",[3773,5705,4018],{"class":3791},[3773,5707,3753],{"class":3783},[3773,5709,4297],{"class":3791},[3773,5711,4316],{"class":3787},[3773,5713,4319],{"class":3791},[3773,5715,4322],{"class":4021},[3773,5717,4131],{"class":3791},[3773,5719,3995],{"class":3783},[3773,5721,3998],{"class":3791},[3773,5723,5725,5727,5729],{"class":3775,"line":5724},95,[3773,5726,5473],{"class":3779},[3773,5728,4006],{"class":3787},[3773,5730,4009],{"class":3791},[3773,5732,5734,5736,5738,5740],{"class":3775,"line":5733},96,[3773,5735,5483],{"class":3783},[3773,5737,4018],{"class":3791},[3773,5739,4345],{"class":4021},[3773,5741,4025],{"class":3791},[3773,5743,5745,5747,5749],{"class":3775,"line":5744},97,[3773,5746,5495],{"class":3779},[3773,5748,4035],{"class":4034},[3773,5750,4038],{"class":3791},[3773,5752,5754],{"class":3775,"line":5753},98,[3773,5755,5109],{"class":3791},[3773,5757,5759],{"class":3775,"line":5758},99,[3773,5760,4199],{"class":3791},[3773,5762,5764,5766,5768,5771,5773,5775,5777,5779],{"class":3775,"line":5763},100,[3773,5765,5320],{"class":3783},[3773,5767,4018],{"class":3791},[3773,5769,5770],{"class":4021},"\"a code:      {}\"",[3773,5772,3798],{"class":3791},[3773,5774,4290],{"class":3783},[3773,5776,4297],{"class":3791},[3773,5778,4316],{"class":3787},[3773,5780,5781],{"class":3791},"]);\n",[3773,5783,5785,5787,5789,5792,5794,5796,5798,5800,5802,5804,5806,5808,5810,5812,5814,5816],{"class":3775,"line":5784},101,[3773,5786,5320],{"class":3783},[3773,5788,4018],{"class":3791},[3773,5790,5791],{"class":4021},"\"length {}, digits only: {}\"",[3773,5793,3798],{"class":3791},[3773,5795,4290],{"class":3783},[3773,5797,4088],{"class":3787},[3773,5799,5334],{"class":3783},[3773,5801,3798],{"class":3791},[3773,5803,5138],{"class":3783},[3773,5805,4018],{"class":3791},[3773,5807,3753],{"class":3783},[3773,5809,4297],{"class":3791},[3773,5811,4316],{"class":3787},[3773,5813,4319],{"class":3791},[3773,5815,4322],{"class":4021},[3773,5817,5818],{"class":3791},"));\n",[3773,5820,5822],{"class":3775,"line":5821},102,[3773,5823,4636],{"emptyLinePlaceholder":4635},[3773,5825,5827],{"class":3775,"line":5826},103,[3773,5828,5829],{"class":4511},"    \u002F\u002F Alphabets that would make some characters likelier than others are refused.\n",[3773,5831,5833,5836,5838,5841],{"class":3775,"line":5832},104,[3773,5834,5835],{"class":3783},"    Check",[3773,5837,4018],{"class":3791},[3773,5839,5840],{"class":4021},"\"0123456789abcdef\"",[3773,5842,4025],{"class":3791},[3773,5844,5846,5848,5850,5853],{"class":3775,"line":5845},105,[3773,5847,5835],{"class":3783},[3773,5849,4018],{"class":3791},[3773,5851,5852],{"class":4021},"\"x\"",[3773,5854,4025],{"class":3791},[3773,5856,5858,5860,5862,5865],{"class":3775,"line":5857},106,[3773,5859,5835],{"class":3783},[3773,5861,4018],{"class":3791},[3773,5863,5864],{"class":4021},"\"abcabc\"",[3773,5866,4025],{"class":3791},[3773,5868,5870,5872,5874,5877],{"class":3775,"line":5869},107,[3773,5871,5835],{"class":3783},[3773,5873,4018],{"class":3791},[3773,5875,5876],{"class":4021},"\"abé\"",[3773,5878,4025],{"class":3791},[3773,5880,5882,5884,5887],{"class":3775,"line":5881},108,[3773,5883,4147],{"class":3779},[3773,5885,5886],{"class":4034}," 0",[3773,5888,4038],{"class":3791},[3773,5890,5892],{"class":3775,"line":5891},109,[3773,5893,4204],{"class":3791},[3731,5895,5896,5897,5899,5900,5903,5904,5906,5907,4088],{},"Besides ",[3753,5898,2669],{},", its ",[3753,5901,5902],{},"Rux.toml"," lists ",[3753,5905,3672],{}," under ",[3753,5908,5909],{},"[Dependencies]",[3829,5911,5913],{"id":5912},"run-it","Run it",[3764,5915,5919],{"className":5916,"code":5917,"language":5918,"meta":3769,"style":3769},"language-sh shiki shiki-themes catppuccin-latte catppuccin-latte catppuccin-mocha","cd Examples\u002FUtilities\u002FNanoId\nrux run\n","sh",[3753,5920,5921,5930],{"__ignoreMap":3769},[3773,5922,5923,5927],{"class":3775,"line":3776},[3773,5924,5926],{"class":5925},"s0rF6","cd",[3773,5928,5929],{"class":4021}," Examples\u002FUtilities\u002FNanoId\n",[3773,5931,5932,5934],{"class":3775,"line":3821},[3773,5933,3768],{"class":4115},[3773,5935,5936],{"class":4021}," run\n",[3764,5938,5942],{"className":5939,"code":5941,"language":4736},[5940],"language-text","default alphabet: 64 characters, 21 per identifier\nV1StGXR8_Z5jdHi6B-myT   -> V1StGXR8_Z5jdHi6B-myT\nV1StGXR8_Z5jdHi6B       -> wrong length at byte 17\nV1StGXR8_Z5jdHi6B-myT42 -> wrong length at byte 21\nV1StGXR8+Z5jdHi6B-myT   -> not in the alphabet at byte 8\na new one:   wjQ9BAvSAUonmlZf6TfIw\nlength 21, parses back to itself: true\na code:      198099\nlength 6, digits only: true\n0123456789abcdef -> usable\nx                -> too few characters\nabcabc           -> a duplicate at byte 3\nabé              -> not ASCII at byte 2\n",[3753,5943,5941],{"__ignoreMap":3769},[3731,5945,5946,5947,3857,5950,5953],{},"The ",[3753,5948,5949],{},"a new one",[3753,5951,5952],{},"a code"," lines are samples: each run draws a new identifier and a new code.\nEvery other line is the same on each run.",[3829,5955,5957],{"id":5956},"common-mistakes","Common mistakes",[5959,5960,5961,5973,5979],"mistake",{},[3731,5962,5963,5966,5969,5972],{},[3734,5964,5965],{},"Using the outcome as the identifier.",[5967,5968],"br",{},[3753,5970,5971],{},"let id: NanoId = NanoId::Generate();"," fails with:",[3764,5974,5977],{"className":5975,"code":5976,"language":4736,"meta":3769},[5940],"error: cannot assign 'NanoId ! EntropyError' to 'NanoId'\n",[3753,5978,5976],{"__ignoreMap":3769},[3731,5980,5981],{},"Generating can fail when the system has no entropy; handle that first.",[5959,5983,5984,5994,6000],{},[3731,5985,5986,5991,5993],{},[3734,5987,5988,5989,4088],{},"Ignoring the result of ",[3753,5990,4276],{},[5967,5992],{},"\nThe call fills the buffer, so it is tempting to write it as a statement on its own. It fails with:",[3764,5995,5998],{"className":5996,"code":5997,"language":4736,"meta":3769},[5940],"error: fallible result of type '! NanoIdError' is discarded\n",[3753,5999,5997],{"__ignoreMap":3769},[3731,6001,6002],{},"If it failed, the buffer holds no code — never even the start of one — so the failure must be handled.",[5959,6004,6005],{},[3731,6006,6007,6012,6014,6015,6017,6018,6021],{},[3734,6008,6009,6010,4088],{},"Keeping a custom code in a ",[3753,6011,3672],{},[5967,6013],{},"\nA ",[3753,6016,3672],{}," is the standard form only. ",[3753,6019,6020],{},"NanoId::Parse(\"198099\")"," is refused as the wrong length at byte 6. A code of another length or alphabet stays in its own buffer.",[5959,6023,6024],{},[3731,6025,6026,6029,6031],{},[3734,6027,6028],{},"Treating Nano IDs as case-insensitive.",[5967,6030],{},"\nLower-casing an identifier, or storing it in a column that ignores case, merges different identifiers. Compare them exactly.",[3829,6033,6035],{"id":6034},"try-it-yourself","Try it yourself",[6037,6038,6039,6053,6059,6066],"ol",{},[6040,6041,6042,6043,6045,6046,6049,6050,4088],"li",{},"Make a ten-character identifier from the default alphabet: ",[3753,6044,4276],{}," without an alphabet fills a ",[3753,6047,6048],{},"char8[10]"," and returns ",[3753,6051,6052],{},"! EntropyError",[6040,6054,6055,6056,6058],{},"Make a 32-character code from ",[3753,6057,5840],{},". How many random bits does it carry, and how does that compare with a UUID?",[6040,6060,6061,6062,6065],{},"Show ",[3753,6063,6064],{},"\"V1StGXR8 Z5jdHi6B-myT\"",", with a space. Which reason and byte do you get?",[6040,6067,6068,6069,6072],{},"Check the alphabet ",[3753,6070,6071],{},"\"01\"",". Is it usable? How long must an identifier from it be to carry 126 bits?",[3829,6074,6076],{"id":6075},"learn-more","Learn more",[6078,6079,6080,6086,6091,6096,6101,6107],"ul",{},[6040,6081,6082,6085],{},[3739,6083,6084],{"href":3673},"NanoId API"," — every function and error case",[6040,6087,6088,6090],{},[3739,6089,3741],{"href":1050}," — the longer, case-insensitive identifier with a fixed layout",[6040,6092,6093,6095],{},[3739,6094,2875],{"href":1042}," — where the random bytes come from, and why asking can fail",[6040,6097,6098,6100],{},[3739,6099,3745],{"href":311}," — a function filling a buffer it was lent",[6040,6102,6103,6106],{},[3739,6104,6105],{"href":1347},"Password"," — a checkpoint project that draws characters from entropy without bias",[6040,6108,6109,6111],{},[3739,6110,1621],{"href":1626}," in the Rux Reference",[6113,6114,6115],"style",{},"html pre.shiki code .smXKV, html code.shiki .smXKV{--shiki-light:#8839EF;--shiki-default:#8839EF;--shiki-dark:#CBA6F7}html pre.shiki code .sJT_S, html code.shiki .sJT_S{--shiki-light:#4C4F69;--shiki-default:#4C4F69;--shiki-dark:#CDD6F4}html pre.shiki code .sCFbw, html code.shiki .sCFbw{--shiki-light:#179299;--shiki-default:#179299;--shiki-dark:#94E2D5}html pre.shiki code .sDi1i, html code.shiki .sDi1i{--shiki-light:#7C7F93;--shiki-default:#7C7F93;--shiki-dark:#9399B2}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sXpww, html code.shiki .sXpww{--shiki-light:#40A02B;--shiki-default:#40A02B;--shiki-dark:#A6E3A1}html pre.shiki code .snhBn, html code.shiki .snhBn{--shiki-light:#FE640B;--shiki-default:#FE640B;--shiki-dark:#FAB387}html pre.shiki code .sptzg, html code.shiki .sptzg{--shiki-light:#1E66F5;--shiki-light-font-style:italic;--shiki-default:#1E66F5;--shiki-default-font-style:italic;--shiki-dark:#89B4FA;--shiki-dark-font-style:italic}html pre.shiki code .sYR1E, html code.shiki .sYR1E{--shiki-light:#E64553;--shiki-light-font-style:italic;--shiki-default:#E64553;--shiki-default-font-style:italic;--shiki-dark:#EBA0AC;--shiki-dark-font-style:italic}html pre.shiki code .sqZDx, html code.shiki .sqZDx{--shiki-light:#DF8E1D;--shiki-light-font-style:italic;--shiki-default:#DF8E1D;--shiki-default-font-style:italic;--shiki-dark:#F9E2AF;--shiki-dark-font-style:italic}html pre.shiki code .sY9YT, html code.shiki .sY9YT{--shiki-light:#7C7F93;--shiki-light-font-style:italic;--shiki-default:#7C7F93;--shiki-default-font-style:italic;--shiki-dark:#9399B2;--shiki-dark-font-style:italic}html pre.shiki code .sRT_P, html code.shiki .sRT_P{--shiki-light:#D20F39;--shiki-default:#D20F39;--shiki-dark:#F38BA8}html pre.shiki code .s0rF6, html code.shiki .s0rF6{--shiki-light:#D20F39;--shiki-light-font-style:italic;--shiki-default:#D20F39;--shiki-default-font-style:italic;--shiki-dark:#F38BA8;--shiki-dark-font-style:italic}",{"title":3769,"searchDepth":3821,"depth":3821,"links":6117},[6118,6119,6120,6121,6122,6123,6124,6125,6126],{"id":3831,"depth":3821,"text":3832},{"id":3952,"depth":3821,"text":3953},{"id":4091,"depth":3821,"text":4092},{"id":4270,"depth":3821,"text":4271},{"id":4489,"depth":3821,"text":4490},{"id":5912,"depth":3821,"text":5913},{"id":5956,"depth":3821,"text":5957},{"id":6034,"depth":3821,"text":6035},{"id":6075,"depth":3821,"text":6076},"Make short, URL-safe random identifiers with NanoId::Generate, read them back strictly with NanoId::Parse, and fill a buffer of your own length from a custom alphabet with GenerateNanoId.","md",{"number":6130,"source":6131,"requires":6132},"20.10","Utilities\u002FNanoId",[6133,6134],"uuid","writable-slice",{},{"title":1053},{"title":3718,"description":6127},"kC-vcstsyYGTCmHEOaZXZnAAjvXGU6bzegSp5-y0I0c",[6140,6142],{"title":1049,"path":1050,"stem":1051,"description":6141,"children":-1},"Make a random identifier with Random, which returns Uuid ! EntropyError, and read and write its strict text form with Parse and {}.",{"title":1057,"path":1058,"stem":1059,"description":6143,"children":-1},"Build time zones from POSIX TZ rules with TimeZone::FromRule, read one moment on several clocks with StateAt and ToLocal, and turn a local time back into a moment with Resolve, which tells a time that happened once from one that happened twice or never.",1792235734234]