[{"data":1,"prerenderedAt":8138},["ShallowReactive",2],{"navigation":3,"page-\u002Fdocs\u002Flearn\u002Fgrep":3716,"surround-\u002Fdocs\u002Flearn\u002Fgrep":8133},[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":8119,"extension":8120,"hideToc":29,"image":3719,"lesson":8121,"meta":8129,"navigation":8130,"path":1363,"seo":8131,"stem":1364,"__hash__":8132},"docs\u002Fdocs\u002F1.learn\u002F27.projects\u002F17.grep.md","Grep",null,{"type":3721,"value":3722,"toc":8105},"minimark",[3723,3727,3753,3759,3793,3807,3812,3835,3839,3887,3998,4002,4009,4155,4159,4178,4355,4375,4379,4391,4571,4577,4581,4593,4717,4733,4737,4742,4779,4785,4789,4799,7859,7887,7891,7912,7919,7929,7935,7939,7976,7992,8019,8023,8066,8070,8101],[3724,3725,3718],"h1",{"id":3726},"grep",[3728,3729,3730],"note",{},[3731,3732,3733,3737,3738,3742,3743,3742,3746,3748,3749,3752],"p",{},[3734,3735,3736],"strong",{},"You'll need",": Parts 1–26 — this project is the checkpoint for Systems, and leans on ",[3739,3740,3741],"a",{"href":1272},"Command line",", ",[3739,3744,3745],{"href":744},"Regular expressions",[3739,3747,2753],{"href":979}," and ",[3739,3750,3751],{"href":995},"Buffered I\u002FO",".",[3731,3754,3755,3758],{},[3756,3757,3726],"code",{}," is one of the oldest tools on Unix and still one of the most used: give it a pattern and some files, and it prints every line that matches. This project builds a small one — a real command-line tool, with options, a help text, error messages and an exit status that scripts can rely on:",[3760,3761,3766],"pre",{"className":3762,"code":3763,"language":3764,"meta":3765,"style":3765},"language-sh shiki shiki-themes catppuccin-latte catppuccin-latte catppuccin-mocha","rux run -- -in \"name\" Rux.toml\n","sh","",[3756,3767,3768],{"__ignoreMap":3765},[3769,3770,3773,3777,3781,3784,3787,3790],"span",{"class":3771,"line":3772},"line",1,[3769,3774,3776],{"class":3775},"sptzg","rux",[3769,3778,3780],{"class":3779},"sXpww"," run",[3769,3782,3783],{"class":3779}," --",[3769,3785,3786],{"class":3779}," -in",[3769,3788,3789],{"class":3779}," \"name\"",[3769,3791,3792],{"class":3779}," Rux.toml\n",[3731,3794,3795,3796,3799,3800,3803,3804,3752],{},"It is the checkpoint for ",[3739,3797,3798],{"href":1257},"Part 26: Systems",", and it brings three parts of the course together: reading the command line from Part 26, regular expressions from ",[3739,3801,3802],{"href":681},"Part 14: Text",", and files read line by line from ",[3739,3805,3806],{"href":960},"Part 19: Files",[3808,3809,3811],"h2",{"id":3810},"try-it-first","Try it first",[3731,3813,3814,3815,3818,3819,3822,3823,3826,3827,3830,3831,3834],{},"Before reading on, try writing it yourself. Start with the smallest version that works — ",[3756,3816,3817],{},"grep \u003Cpattern> \u003Cfile>",", printing matching lines — then add one option at a time: ",[3756,3820,3821],{},"-n"," for line numbers, ",[3756,3824,3825],{},"-c"," for a count, ",[3756,3828,3829],{},"-i"," to ignore case, ",[3756,3832,3833],{},"-v"," to invert the match, and more than one file. Everything you need has appeared in a lesson, and the table below says which.",[3808,3836,3838],{"id":3837},"how-it-is-put-together","How it is put together",[3760,3840,3844],{"className":3841,"code":3842,"language":3843,"meta":3765,"style":3765},"language-mermaid shiki shiki-themes catppuccin-latte catppuccin-latte catppuccin-mocha","flowchart LR\n    args[\"arguments\"] -- \"ParseProcess\" --> parsed[\"Parsed\"]\n    parsed -- \"Pattern\" --> regex[\"Regex\"]\n    parsed -- \"paths\" --> files[\"each file\"]\n    files -- \"SearchFile\u003Cbr\u002F>BufferedReader\" --> lines[\"lines\"]\n    regex --> lines\n    lines --> out[\"printed lines\u003Cbr\u002F>and exit status\"]\n","mermaid",[3756,3845,3846,3851,3857,3863,3869,3875,3881],{"__ignoreMap":3765},[3769,3847,3848],{"class":3771,"line":3772},[3769,3849,3850],{},"flowchart LR\n",[3769,3852,3854],{"class":3771,"line":3853},2,[3769,3855,3856],{},"    args[\"arguments\"] -- \"ParseProcess\" --> parsed[\"Parsed\"]\n",[3769,3858,3860],{"class":3771,"line":3859},3,[3769,3861,3862],{},"    parsed -- \"Pattern\" --> regex[\"Regex\"]\n",[3769,3864,3866],{"class":3771,"line":3865},4,[3769,3867,3868],{},"    parsed -- \"paths\" --> files[\"each file\"]\n",[3769,3870,3872],{"class":3771,"line":3871},5,[3769,3873,3874],{},"    files -- \"SearchFile\u003Cbr\u002F>BufferedReader\" --> lines[\"lines\"]\n",[3769,3876,3878],{"class":3771,"line":3877},6,[3769,3879,3880],{},"    regex --> lines\n",[3769,3882,3884],{"class":3771,"line":3883},7,[3769,3885,3886],{},"    lines --> out[\"printed lines\u003Cbr\u002F>and exit status\"]\n",[3888,3889,3890,3906],"table",{},[3891,3892,3893],"thead",{},[3894,3895,3896,3900,3903],"tr",{},[3897,3898,3899],"th",{},"Function",[3897,3901,3902],{},"Its job",[3897,3904,3905],{},"Lessons it uses",[3907,3908,3909,3925,3941,3964,3983],"tbody",{},[3894,3910,3911,3916,3919],{},[3912,3913,3914],"td",{},[3756,3915,1553],{},[3912,3917,3918],{},"Describes the command and picks real or tour mode",[3912,3920,3921,3742,3923],{},[3739,3922,3741],{"href":1272},[3739,3924,3404],{"href":1264},[3894,3926,3927,3932,3935],{},[3912,3928,3929],{},[3756,3930,3931],{},"Run",[3912,3933,3934],{},"Turns one parsed command line into a search",[3912,3936,3937,3742,3939],{},[3739,3938,3741],{"href":1272},[3739,3940,3745],{"href":744},[3894,3942,3943,3948,3957],{},[3912,3944,3945],{},[3756,3946,3947],{},"Pattern",[3912,3949,3950,3951,3954,3955],{},"The pattern as text, with ",[3756,3952,3953],{},"(?i)"," in front for ",[3756,3956,3829],{},[3912,3958,3959,3742,3961],{},[3739,3960,2794],{"href":967},[3739,3962,3963],{"href":561},"Move",[3894,3965,3966,3971,3974],{},[3912,3967,3968],{},[3756,3969,3970],{},"SearchFile",[3912,3972,3973],{},"Reads one file line by line and prints what matches",[3912,3975,3976,3742,3978,3742,3980],{},[3739,3977,2753],{"href":979},[3739,3979,3751],{"href":995},[3739,3981,3982],{"href":495},"Error sum",[3894,3984,3985,3990,3993],{},[3912,3986,3987],{},[3756,3988,3989],{},"Split",[3912,3991,3992],{},"Cuts a fixed command line into arguments",[3912,3994,3995],{},[3739,3996,3997],{"href":311},"Writable slice",[3808,3999,4001],{"id":4000},"the-command-described","The command, described",[3731,4003,4004,4005,4008],{},"The options and arguments are a ",[3756,4006,4007],{},"CommandSpec",", so the help text and the error messages come from the same place as the parsing. Four flags, a required pattern, and any number of paths:",[3760,4010,4013],{"className":4011,"code":4012,"language":3776,"meta":3765,"style":3765},"language-rux shiki shiki-themes catppuccin-latte catppuccin-latte catppuccin-mocha","let positionals: PositionalSpec[2] = [\n    Required(\"pattern\", \"The regular expression to look for\"),\n    Remaining(\"paths\", \"The files to search\")\n];\nlet grep = Command(\"grep\", \"Print the lines of files that match a pattern\")\n    .WithOptions(options[..]).WithPositionals(positionals[..]);\n",[3756,4014,4015,4049,4069,4087,4092,4117],{"__ignoreMap":3765},[3769,4016,4017,4021,4025,4029,4032,4035,4039,4042,4046],{"class":3771,"line":3772},[3769,4018,4020],{"class":4019},"smXKV","let",[3769,4022,4024],{"class":4023},"sJT_S"," positionals",[3769,4026,4028],{"class":4027},"sDi1i",":",[3769,4030,4031],{"class":4023}," PositionalSpec",[3769,4033,4034],{"class":4027},"[",[3769,4036,4038],{"class":4037},"snhBn","2",[3769,4040,4041],{"class":4027},"]",[3769,4043,4045],{"class":4044},"sCFbw"," =",[3769,4047,4048],{"class":4027}," [\n",[3769,4050,4051,4054,4057,4060,4063,4066],{"class":3771,"line":3853},[3769,4052,4053],{"class":4023},"    Required",[3769,4055,4056],{"class":4027},"(",[3769,4058,4059],{"class":3779},"\"pattern\"",[3769,4061,4062],{"class":4027},",",[3769,4064,4065],{"class":3779}," \"The regular expression to look for\"",[3769,4067,4068],{"class":4027},"),\n",[3769,4070,4071,4074,4076,4079,4081,4084],{"class":3771,"line":3859},[3769,4072,4073],{"class":4023},"    Remaining",[3769,4075,4056],{"class":4027},[3769,4077,4078],{"class":3779},"\"paths\"",[3769,4080,4062],{"class":4027},[3769,4082,4083],{"class":3779}," \"The files to search\"",[3769,4085,4086],{"class":4027},")\n",[3769,4088,4089],{"class":3771,"line":3865},[3769,4090,4091],{"class":4027},"];\n",[3769,4093,4094,4096,4099,4102,4105,4107,4110,4112,4115],{"class":3771,"line":3871},[3769,4095,4020],{"class":4019},[3769,4097,4098],{"class":4023}," grep ",[3769,4100,4101],{"class":4044},"=",[3769,4103,4104],{"class":4023}," Command",[3769,4106,4056],{"class":4027},[3769,4108,4109],{"class":3779},"\"grep\"",[3769,4111,4062],{"class":4027},[3769,4113,4114],{"class":3779}," \"Print the lines of files that match a pattern\"",[3769,4116,4086],{"class":4027},[3769,4118,4119,4122,4125,4127,4130,4132,4135,4138,4140,4143,4145,4148,4150,4152],{"class":3771,"line":3877},[3769,4120,4121],{"class":4044},"    .",[3769,4123,4124],{"class":4023},"WithOptions",[3769,4126,4056],{"class":4027},[3769,4128,4129],{"class":4023},"options",[3769,4131,4034],{"class":4027},[3769,4133,4134],{"class":4044},"..",[3769,4136,4137],{"class":4027},"])",[3769,4139,3752],{"class":4044},[3769,4141,4142],{"class":4023},"WithPositionals",[3769,4144,4056],{"class":4027},[3769,4146,4147],{"class":4023},"positionals",[3769,4149,4034],{"class":4027},[3769,4151,4134],{"class":4044},[3769,4153,4154],{"class":4027},"]);\n",[3808,4156,4158],{"id":4157},"two-ways-to-run","Two ways to run",[3731,4160,4161,4162,4165,4166,4168,4169,4174,4175,4177],{},"A tool that only works with arguments would print nothing useful under a plain ",[3756,4163,4164],{},"rux run",". So ",[3756,4167,1553],{}," looks at ",[3739,4170,4171],{"href":1264},[3756,4172,4173],{},"ArgumentCount"," first. With real arguments it parses them and returns ",[3756,4176,3931],{},"'s answer as the program's exit status:",[3760,4179,4181],{"className":4011,"code":4180,"language":3776,"meta":3765,"style":3765},"if ArgumentCount() > 1 {\n    let parsed = ParseProcess(@grep) catch {\n        error => {\n            PrintLine(\"grep: {}\", error);\n            WriteUsage(grep, screen) catch { else => {} };\n            return 2;\n        }\n    };\n    return Run(allocator, parsed, screen) catch { else => 2 };\n}\n",[3756,4182,4183,4202,4229,4239,4257,4290,4301,4306,4312,4349],{"__ignoreMap":3765},[3769,4184,4185,4187,4190,4193,4196,4199],{"class":3771,"line":3772},[3769,4186,1506],{"class":4019},[3769,4188,4189],{"class":4023}," ArgumentCount",[3769,4191,4192],{"class":4027},"()",[3769,4194,4195],{"class":4044}," >",[3769,4197,4198],{"class":4037}," 1",[3769,4200,4201],{"class":4027}," {\n",[3769,4203,4204,4207,4210,4212,4215,4217,4220,4223,4226],{"class":3771,"line":3853},[3769,4205,4206],{"class":4019},"    let",[3769,4208,4209],{"class":4023}," parsed ",[3769,4211,4101],{"class":4044},[3769,4213,4214],{"class":4023}," ParseProcess",[3769,4216,4056],{"class":4027},[3769,4218,4219],{"class":4023},"@grep",[3769,4221,4222],{"class":4027},")",[3769,4224,4225],{"class":4023}," catch ",[3769,4227,4228],{"class":4027},"{\n",[3769,4230,4231,4234,4237],{"class":3771,"line":3859},[3769,4232,4233],{"class":4023},"        error ",[3769,4235,4236],{"class":4044},"=>",[3769,4238,4201],{"class":4027},[3769,4240,4241,4244,4246,4249,4251,4254],{"class":3771,"line":3865},[3769,4242,4243],{"class":4023},"            PrintLine",[3769,4245,4056],{"class":4027},[3769,4247,4248],{"class":3779},"\"grep: {}\"",[3769,4250,4062],{"class":4027},[3769,4252,4253],{"class":4023}," error",[3769,4255,4256],{"class":4027},");\n",[3769,4258,4259,4262,4264,4266,4268,4271,4273,4275,4278,4281,4284,4287],{"class":3771,"line":3871},[3769,4260,4261],{"class":4023},"            WriteUsage",[3769,4263,4056],{"class":4027},[3769,4265,3726],{"class":4023},[3769,4267,4062],{"class":4027},[3769,4269,4270],{"class":4023}," screen",[3769,4272,4222],{"class":4027},[3769,4274,4225],{"class":4023},[3769,4276,4277],{"class":4027},"{",[3769,4279,4280],{"class":4019}," else",[3769,4282,4283],{"class":4044}," =>",[3769,4285,4286],{"class":4027}," {}",[3769,4288,4289],{"class":4027}," };\n",[3769,4291,4292,4295,4298],{"class":3771,"line":3877},[3769,4293,4294],{"class":4019},"            return",[3769,4296,4297],{"class":4037}," 2",[3769,4299,4300],{"class":4027},";\n",[3769,4302,4303],{"class":3771,"line":3883},[3769,4304,4305],{"class":4027},"        }\n",[3769,4307,4309],{"class":3771,"line":4308},8,[3769,4310,4311],{"class":4027},"    };\n",[3769,4313,4315,4318,4321,4323,4326,4328,4331,4333,4335,4337,4339,4341,4343,4345,4347],{"class":3771,"line":4314},9,[3769,4316,4317],{"class":4019},"    return",[3769,4319,4320],{"class":4023}," Run",[3769,4322,4056],{"class":4027},[3769,4324,4325],{"class":4023},"allocator",[3769,4327,4062],{"class":4027},[3769,4329,4330],{"class":4023}," parsed",[3769,4332,4062],{"class":4027},[3769,4334,4270],{"class":4023},[3769,4336,4222],{"class":4027},[3769,4338,4225],{"class":4023},[3769,4340,4277],{"class":4027},[3769,4342,4280],{"class":4019},[3769,4344,4283],{"class":4044},[3769,4346,4297],{"class":4037},[3769,4348,4289],{"class":4027},[3769,4350,4352],{"class":3771,"line":4351},10,[3769,4353,4354],{"class":4027},"}\n",[3731,4356,4357,4358,4361,4362,4364,4365,4367,4368,4371,4372,4374],{},"With none, it takes a ",[3734,4359,4360],{},"tour",": seven fixed command lines over the package's own files, each split at its spaces and checked with ",[3756,4363,2936],{},", as the ",[3739,4366,3741],{"href":1272}," lesson did. Paths such as ",[3756,4369,4370],{},"Src\u002FMain.rux"," are relative, and ",[3756,4373,4164],{}," runs the program in the package's folder, so they are found.",[3808,4376,4378],{"id":4377},"ignoring-case","Ignoring case",[3731,4380,4381,4382,4384,4385,4387,4388,4390],{},"The Regex package takes flags inside the pattern: ",[3756,4383,3953],{}," at the front makes the whole pattern ignore case. So ",[3756,4386,3829],{}," needs no special searching — ",[3756,4389,3947],{}," just puts the flag in front of the text:",[3760,4392,4394],{"className":4011,"code":4393,"language":3776,"meta":3765,"style":3765},"func Pattern(allocator: Allocator, parsed: &Parsed) -> String ! TextError {\n    let typed = (parsed.Positional(\"pattern\") ?? OsStringView()).ToText(allocator)?;\n    if !parsed.Has(\"ignore-case\") { return \u003C-typed; }\n    return Concat(allocator, StringView::FromValidated(\"(?i)\"), typed.View());\n}\n",[3756,4395,4396,4435,4486,4526,4567],{"__ignoreMap":3765},[3769,4397,4398,4401,4404,4406,4409,4412,4415,4417,4419,4422,4424,4427,4430,4433],{"class":3771,"line":3772},[3769,4399,4400],{"class":4019},"func",[3769,4402,4403],{"class":3775}," Pattern",[3769,4405,4056],{"class":4027},[3769,4407,4325],{"class":4408},"sYR1E",[3769,4410,4411],{"class":4027},": ",[3769,4413,2205],{"class":4414},"sqZDx",[3769,4416,4062],{"class":4027},[3769,4418,4330],{"class":4408},[3769,4420,4421],{"class":4023},": &Parsed",[3769,4423,4222],{"class":4027},[3769,4425,4426],{"class":4027}," ->",[3769,4428,4429],{"class":4019}," String",[3769,4431,4432],{"class":4023}," ! TextError ",[3769,4434,4228],{"class":4027},[3769,4436,4437,4439,4442,4444,4447,4450,4452,4455,4457,4459,4461,4464,4467,4470,4472,4475,4477,4479,4481,4484],{"class":3771,"line":3853},[3769,4438,4206],{"class":4019},[3769,4440,4441],{"class":4023}," typed ",[3769,4443,4101],{"class":4044},[3769,4445,4446],{"class":4027}," (",[3769,4448,4449],{"class":4023},"parsed",[3769,4451,3752],{"class":4044},[3769,4453,4454],{"class":4023},"Positional",[3769,4456,4056],{"class":4027},[3769,4458,4059],{"class":3779},[3769,4460,4222],{"class":4027},[3769,4462,4463],{"class":4044}," ??",[3769,4465,4466],{"class":4023}," OsStringView",[3769,4468,4469],{"class":4027},"())",[3769,4471,3752],{"class":4044},[3769,4473,4474],{"class":4023},"ToText",[3769,4476,4056],{"class":4027},[3769,4478,4325],{"class":4023},[3769,4480,4222],{"class":4027},[3769,4482,4483],{"class":4044},"?",[3769,4485,4300],{"class":4027},[3769,4487,4488,4491,4494,4496,4498,4501,4503,4506,4508,4511,4514,4517,4520,4523],{"class":3771,"line":3859},[3769,4489,4490],{"class":4019},"    if",[3769,4492,4493],{"class":4044}," !",[3769,4495,4449],{"class":4023},[3769,4497,3752],{"class":4044},[3769,4499,4500],{"class":4023},"Has",[3769,4502,4056],{"class":4027},[3769,4504,4505],{"class":3779},"\"ignore-case\"",[3769,4507,4222],{"class":4027},[3769,4509,4510],{"class":4027}," {",[3769,4512,4513],{"class":4019}," return",[3769,4515,4516],{"class":4044}," \u003C-",[3769,4518,4519],{"class":4023},"typed",[3769,4521,4522],{"class":4027},";",[3769,4524,4525],{"class":4027}," }\n",[3769,4527,4528,4530,4533,4535,4537,4539,4542,4545,4548,4550,4553,4556,4559,4561,4564],{"class":3771,"line":3865},[3769,4529,4317],{"class":4019},[3769,4531,4532],{"class":4023}," Concat",[3769,4534,4056],{"class":4027},[3769,4536,4325],{"class":4023},[3769,4538,4062],{"class":4027},[3769,4540,4541],{"class":4023}," StringView",[3769,4543,4544],{"class":4044},"::",[3769,4546,4547],{"class":4023},"FromValidated",[3769,4549,4056],{"class":4027},[3769,4551,4552],{"class":3779},"\"(?i)\"",[3769,4554,4555],{"class":4027},"),",[3769,4557,4558],{"class":4023}," typed",[3769,4560,3752],{"class":4044},[3769,4562,4563],{"class":4023},"View",[3769,4565,4566],{"class":4027},"());\n",[3769,4568,4569],{"class":3771,"line":3871},[3769,4570,4354],{"class":4027},[3731,4572,4573,4574,4576],{},"The pattern arrives as native text and the Regex package wants UTF-8, so ",[3756,4575,4474],{}," converts it, and fails for an argument that is not text at all.",[3808,4578,4580],{"id":4579},"searching-a-file","Searching a file",[3731,4582,4583,4585,4586,4588,4589,4592],{},[3756,4584,3970],{}," opens the file, wraps it in a ",[3756,4587,2687],{}," — reading a byte at a time from the system would be slow — and reads one line at a time with ",[3756,4590,4591],{},"ReadTextLine",". The end of the file arrives as an error, the one that is expected:",[3760,4594,4596],{"className":4011,"code":4595,"language":3776,"meta":3765,"style":3765},"ReadTextLine(reader, line, 65536) catch {\n    error if error.IsEnd() => break,\n    error => fail error\n};\nnumber += 1;\nif regex.IsMatch(line.View().Bytes())? != show.invert {\n",[3756,4597,4598,4623,4647,4656,4661,4673],{"__ignoreMap":3765},[3769,4599,4600,4602,4604,4607,4609,4612,4614,4617,4619,4621],{"class":3771,"line":3772},[3769,4601,4591],{"class":4023},[3769,4603,4056],{"class":4027},[3769,4605,4606],{"class":4023},"reader",[3769,4608,4062],{"class":4027},[3769,4610,4611],{"class":4023}," line",[3769,4613,4062],{"class":4027},[3769,4615,4616],{"class":4037}," 65536",[3769,4618,4222],{"class":4027},[3769,4620,4225],{"class":4023},[3769,4622,4228],{"class":4027},[3769,4624,4625,4628,4630,4632,4634,4637,4639,4641,4644],{"class":3771,"line":3853},[3769,4626,4627],{"class":4023},"    error ",[3769,4629,1506],{"class":4019},[3769,4631,4253],{"class":4023},[3769,4633,3752],{"class":4044},[3769,4635,4636],{"class":4023},"IsEnd",[3769,4638,4192],{"class":4027},[3769,4640,4283],{"class":4044},[3769,4642,4643],{"class":4019}," break",[3769,4645,4646],{"class":4027},",\n",[3769,4648,4649,4651,4653],{"class":3771,"line":3859},[3769,4650,4627],{"class":4023},[3769,4652,4236],{"class":4044},[3769,4654,4655],{"class":4023}," fail error\n",[3769,4657,4658],{"class":3771,"line":3865},[3769,4659,4660],{"class":4027},"};\n",[3769,4662,4663,4666,4669,4671],{"class":3771,"line":3871},[3769,4664,4665],{"class":4023},"number ",[3769,4667,4668],{"class":4044},"+=",[3769,4670,4198],{"class":4037},[3769,4672,4300],{"class":4027},[3769,4674,4675,4677,4680,4682,4685,4687,4689,4691,4693,4695,4697,4700,4702,4704,4707,4710,4712,4715],{"class":3771,"line":3877},[3769,4676,1506],{"class":4019},[3769,4678,4679],{"class":4023}," regex",[3769,4681,3752],{"class":4044},[3769,4683,4684],{"class":4023},"IsMatch",[3769,4686,4056],{"class":4027},[3769,4688,3771],{"class":4023},[3769,4690,3752],{"class":4044},[3769,4692,4563],{"class":4023},[3769,4694,4192],{"class":4027},[3769,4696,3752],{"class":4044},[3769,4698,4699],{"class":4023},"Bytes",[3769,4701,4469],{"class":4027},[3769,4703,4483],{"class":4044},[3769,4705,4706],{"class":4044}," !=",[3769,4708,4709],{"class":4023}," show",[3769,4711,3752],{"class":4044},[3769,4713,4714],{"class":4023},"invert ",[3769,4716,4228],{"class":4027},[3731,4718,4719,4720,4723,4724,4726,4727,4729,4730,4732],{},"Comparing the match with ",[3756,4721,4722],{},"show.invert"," is the whole of ",[3756,4725,3833],{},": a line is selected when it matches and ",[3756,4728,3833],{}," is off, or does not match and ",[3756,4731,3833],{}," is on. The limit of 65536 bytes is a guard against a \"line\" that is really a whole binary file.",[3808,4734,4736],{"id":4735},"exit-status","Exit status",[3731,4738,4739,4740,4028],{},"Scripts read a tool's exit status, not its output, so it follows the real ",[3756,4741,3726],{},[3888,4743,4744,4754],{},[3891,4745,4746],{},[3894,4747,4748,4751],{},[3897,4749,4750],{},"Status",[3897,4752,4753],{},"Means",[3907,4755,4756,4764,4772],{},[3894,4757,4758,4761],{},[3912,4759,4760],{},"0",[3912,4762,4763],{},"at least one line was selected",[3894,4765,4766,4769],{},[3912,4767,4768],{},"1",[3912,4770,4771],{},"the search worked, and nothing was selected",[3894,4773,4774,4776],{},[3912,4775,4038],{},[3912,4777,4778],{},"something went wrong: a bad pattern, a bad option, a file that cannot be read",[3731,4780,4781,4782,4784],{},"A file that cannot be read does not stop the search: ",[3756,4783,3931],{}," reports it, remembers status 2, and goes on to the next file.",[3808,4786,4788],{"id":4787},"the-program","The program",[3731,4790,4791,4792,4798],{},"The whole lesson is one package in the ",[3739,4793,4797],{"href":4794,"rel":4795},"https:\u002F\u002Fgithub.com\u002Frux-lang\u002FExamples\u002Ftree\u002Fmain\u002FProjects\u002FGrep",[4796],"nofollow","Examples repository",". Its comments explain every step.",[3760,4800,4802],{"className":4011,"code":4801,"filename":4370,"language":3776,"meta":3765,"style":3765},"\u002F\u002F Grep: print the lines of some files that match a regular expression, the way the Unix tool of\n\u002F\u002F the same name does.\n\u002F\u002F\n\u002F\u002F     grep [options] \u003Cpattern> [paths...]\n\u002F\u002F\n\u002F\u002F `-i` ignores case, `-n` puts the line number in front of each line, `-c` prints only how many\n\u002F\u002F lines matched, `-v` turns the search around to select the lines that do not match, and `--help`\n\u002F\u002F prints the help. The exit status follows the real tool: 0 when a line was selected, 1 when none\n\u002F\u002F was, and 2 when something went wrong — a bad pattern, a file that cannot be read.\n\u002F\u002F\n\u002F\u002F Three packages do the work. `CommandLine` reads the options, `Regex` decides which lines match,\n\u002F\u002F and `FileSystem` opens each file, which a `BufferedReader` then reads line by line.\n\u002F\u002F\n\u002F\u002F Given no arguments at all, as `rux run` gives it, the program searches its own source with a\n\u002F\u002F few fixed command lines instead, so that a first run shows everything it can do.\nimport Allocator::{ Allocator, SystemAllocator };\nimport CommandLine::{\n    Command, Flag, OptionSpec, Parse, Parsed, ParseProcess, PositionalSpec, Remaining, Required,\n    WriteUsage\n};\nimport FileSystem::{ File, OpenOptions };\nimport Io::{ BufferedReader, ConsoleWriter, IoError, Print, PrintLine, ReadTextLine };\nimport Path::{ OsString, OsStringView, Path };\nimport Process::ArgumentCount;\nimport Regex::{ Regex, RegexError };\nimport Text::{ Concat, FormatError, String, StringBuilder, StringView, TextError, TextWriter };\n\n\u002F\u002F How the selected lines of a file are shown.\nstruct Show {\n    numbers: bool;\n    countOnly: bool;\n    invert: bool;\n    \u002F\u002F Whether to put the file's name in front, which only helps when there are several files.\n    names: bool;\n}\n\n\u002F\u002F Searches one file and returns how many of its lines were selected.\nfunc SearchFile(allocator: Allocator, regex: &Regex, path: OsStringView, show: Show)\n    -> uint ! (IoError | RegexError) {\n    var file = File::Open(allocator, Path::FromView(path), OpenOptions::Reading())?;\n    var reader = BufferedReader::New(allocator, file.Stream(), 0)?;\n    var line = StringBuilder(allocator);\n    var number: uint = 0;\n    var selected: uint = 0;\n    loop {\n        \u002F\u002F The end of the file is the one failure that is expected: it ends the loop.\n        ReadTextLine(reader, line, 65536) catch {\n            error if error.IsEnd() => break,\n            error => fail error\n        };\n        number += 1;\n        if regex.IsMatch(line.View().Bytes())? != show.invert {\n            selected += 1;\n            if !show.countOnly {\n                if show.names { Print(\"{}:\", path); }\n                if show.numbers { Print(\"{}:\", number); }\n                PrintLine(\"{}\", line.View());\n            }\n        }\n        line.Clear();\n    }\n    if show.countOnly {\n        if show.names { Print(\"{}:\", path); }\n        PrintLine(\"{}\", selected);\n    }\n    return selected;\n}\n\n\u002F\u002F The pattern as typed, with `(?i)` in front when case is to be ignored.\nfunc Pattern(allocator: Allocator, parsed: &Parsed) -> String ! TextError {\n    let typed = (parsed.Positional(\"pattern\") ?? OsStringView()).ToText(allocator)?;\n    if !parsed.Has(\"ignore-case\") { return \u003C-typed; }\n    return Concat(allocator, StringView::FromValidated(\"(?i)\"), typed.View());\n}\n\n\u002F\u002F Does what a parsed command line asks, and returns the exit status.\nfunc Run(allocator: Allocator, parsed: &Parsed, screen: &var TextWriter) -> int ! FormatError {\n    if parsed.HelpRequested() {\n        parsed.WriteHelp(screen)?;\n        return 0;\n    }\n    let pattern = Pattern(allocator, parsed) catch {\n        else => {\n            PrintLine(\"grep: the pattern is not valid text\");\n            return 2;\n        }\n    };\n    \u002F\u002F A compiled `Regex` owns memory, so it is moved out of the match, not copied. Without the\n    \u002F\u002F arrow, `.Success(compiled) => compiled` is refused:\n    \u002F\u002F\n    \u002F\u002F     error: move-only value 'compiled' requires an explicit '\u003C-' in conditional-arm\n    let regex = match Regex::New(allocator, pattern.Bytes()) {\n        .Success(compiled) => \u003C-compiled,\n        .Failure(error) => {\n            PrintLine(\"grep: bad pattern '{}' at byte {}\", pattern, error.offset);\n            return 2;\n        }\n    };\n    var files: uint = 0;\n    for _ in parsed.Positionals(\"paths\") {\n        files += 1;\n    }\n    if files == 0 {\n        PrintLine(\"grep: name at least one file to search\");\n        return 2;\n    }\n    let show = Show {\n        numbers: parsed.Has(\"line-number\"), countOnly: parsed.Has(\"count\"),\n        invert: parsed.Has(\"invert-match\"), names: files > 1\n    };\n    \u002F\u002F A file that cannot be read is reported and skipped; the others are still searched.\n    var status = 1;\n    for path in parsed.Positionals(\"paths\") {\n        match SearchFile(allocator, regex, path, show) {\n            .Success(selected) => {\n                if selected > 0 && status == 1 { status = 0; }\n            },\n            .Failure(_) => {\n                PrintLine(\"grep: {}: cannot be read\", path);\n                status = 2;\n            }\n        }\n    }\n    return status;\n}\n\n\u002F\u002F Splits native text at its spaces into `words`, as the CommandLine lesson did.\nfunc Split(text: OsStringView, words: var OsStringView[..]) -> uint {\n    let units = text.Units();\n    var count: uint = 0;\n    var start: uint = 0;\n    for at in 0..=units.length {\n        if at == units.length || units[at] as uint32 == 0x20 {\n            if at > start && count \u003C words.length {\n                words[count] = OsStringView::FromUnits(units[start..at]);\n                count += 1;\n            }\n            start = at + 1;\n        }\n    }\n    return count;\n}\n\nfunc Main() -> int {\n    var system = SystemAllocator();\n    let allocator: Allocator = system;\n    var failure: IoError? = none;\n    var console = ConsoleWriter(@failure);\n    let screen: &var TextWriter = console;\n\n    let options: OptionSpec[4] = [\n        Flag(\"ignore-case\", 'i', \"Ignore the difference between upper and lower case\"),\n        Flag(\"line-number\", 'n', \"Put each line's number in front of it\"),\n        Flag(\"count\", 'c', \"Print only how many lines were selected\"),\n        Flag(\"invert-match\", 'v', \"Select the lines that do not match\")\n    ];\n    let positionals: PositionalSpec[2] = [\n        Required(\"pattern\", \"The regular expression to look for\"),\n        Remaining(\"paths\", \"The files to search\")\n    ];\n    let grep = Command(\"grep\", \"Print the lines of files that match a pattern\")\n        .WithOptions(options[..]).WithPositionals(positionals[..]);\n\n    \u002F\u002F Real arguments: one search, and its status is the program's.\n    if ArgumentCount() > 1 {\n        let parsed = ParseProcess(@grep) catch {\n            error => {\n                PrintLine(\"grep: {}\", error);\n                WriteUsage(grep, screen) catch { else => {} };\n                return 2;\n            }\n        };\n        return Run(allocator, parsed, screen) catch { else => 2 };\n    }\n\n    \u002F\u002F No arguments: a tour of fixed command lines over this package's own files.\n    let tour: char8[..][7] = [\n        \"-n ^func Src\u002FMain.rux\",\n        \"-c -i regex Src\u002FMain.rux Rux.toml\",\n        \"-v -c ^\\\\s*\u002F\u002F Src\u002FMain.rux\",\n        \"-n (unclosed Src\u002FMain.rux\",\n        \"-x fn Src\u002FMain.rux\",\n        \"nothing Src\u002FMissing.rux\",\n        \"--help\"\n    ];\n    for line in tour {\n        PrintLine(\"$ grep {}\", line);\n        var holder = OsString::FromText(allocator, line) catch { else => return 2 };\n        var words: OsStringView[8] = [OsStringView(); 8];\n        let count = Split(holder.View(), words[..]);\n        match Parse(@grep, words[..count]) {\n            .Success(parsed) => {\n                let status = Run(allocator, parsed, screen) catch { else => 2 };\n                PrintLine(\"(exit status {})\", status);\n            },\n            .Failure(error) => PrintLine(\"grep: {}\", error)\n        }\n    }\n    return 0;\n}\n",[3756,4803,4804,4810,4815,4820,4825,4829,4834,4839,4844,4849,4853,4859,4865,4870,4876,4882,4904,4916,4962,4968,4973,4995,5037,5063,5077,5098,5142,5149,5155,5166,5179,5191,5203,5209,5221,5226,5231,5237,5282,5296,5348,5391,5409,5427,5445,5453,5459,5483,5505,5514,5520,5532,5572,5584,5602,5633,5661,5682,5688,5693,5707,5713,5726,5753,5769,5774,5783,5788,5793,5799,5830,5873,5904,5937,5942,5947,5953,5995,6011,6033,6043,6048,6074,6084,6096,6105,6110,6115,6121,6127,6133,6139,6175,6199,6218,6243,6252,6257,6262,6280,6307,6319,6324,6339,6351,6360,6365,6380,6419,6453,6458,6464,6478,6502,6530,6549,6582,6588,6606,6622,6634,6639,6644,6649,6659,6664,6669,6675,6713,6733,6751,6769,6794,6836,6865,6902,6914,6919,6936,6941,6946,6955,6960,6965,6981,6996,7016,7037,7056,7079,7084,7107,7129,7150,7171,7192,7198,7219,7235,7251,7256,7277,7308,7313,7319,7334,7356,7365,7380,7408,7418,7423,7428,7461,7466,7471,7477,7506,7514,7522,7537,7545,7553,7561,7567,7572,7586,7602,7644,7677,7707,7732,7749,7787,7803,7808,7835,7840,7845,7854],{"__ignoreMap":3765},[3769,4805,4806],{"class":3771,"line":3772},[3769,4807,4809],{"class":4808},"sY9YT","\u002F\u002F Grep: print the lines of some files that match a regular expression, the way the Unix tool of\n",[3769,4811,4812],{"class":3771,"line":3853},[3769,4813,4814],{"class":4808},"\u002F\u002F the same name does.\n",[3769,4816,4817],{"class":3771,"line":3859},[3769,4818,4819],{"class":4808},"\u002F\u002F\n",[3769,4821,4822],{"class":3771,"line":3865},[3769,4823,4824],{"class":4808},"\u002F\u002F     grep [options] \u003Cpattern> [paths...]\n",[3769,4826,4827],{"class":3771,"line":3871},[3769,4828,4819],{"class":4808},[3769,4830,4831],{"class":3771,"line":3877},[3769,4832,4833],{"class":4808},"\u002F\u002F `-i` ignores case, `-n` puts the line number in front of each line, `-c` prints only how many\n",[3769,4835,4836],{"class":3771,"line":3883},[3769,4837,4838],{"class":4808},"\u002F\u002F lines matched, `-v` turns the search around to select the lines that do not match, and `--help`\n",[3769,4840,4841],{"class":3771,"line":4308},[3769,4842,4843],{"class":4808},"\u002F\u002F prints the help. The exit status follows the real tool: 0 when a line was selected, 1 when none\n",[3769,4845,4846],{"class":3771,"line":4314},[3769,4847,4848],{"class":4808},"\u002F\u002F was, and 2 when something went wrong — a bad pattern, a file that cannot be read.\n",[3769,4850,4851],{"class":3771,"line":4351},[3769,4852,4819],{"class":4808},[3769,4854,4856],{"class":3771,"line":4855},11,[3769,4857,4858],{"class":4808},"\u002F\u002F Three packages do the work. `CommandLine` reads the options, `Regex` decides which lines match,\n",[3769,4860,4862],{"class":3771,"line":4861},12,[3769,4863,4864],{"class":4808},"\u002F\u002F and `FileSystem` opens each file, which a `BufferedReader` then reads line by line.\n",[3769,4866,4868],{"class":3771,"line":4867},13,[3769,4869,4819],{"class":4808},[3769,4871,4873],{"class":3771,"line":4872},14,[3769,4874,4875],{"class":4808},"\u002F\u002F Given no arguments at all, as `rux run` gives it, the program searches its own source with a\n",[3769,4877,4879],{"class":3771,"line":4878},15,[3769,4880,4881],{"class":4808},"\u002F\u002F few fixed command lines instead, so that a first run shows everything it can do.\n",[3769,4883,4885,4888,4891,4893,4895,4897,4899,4902],{"class":3771,"line":4884},16,[3769,4886,4887],{"class":4019},"import",[3769,4889,4890],{"class":4023}," Allocator",[3769,4892,4544],{"class":4044},[3769,4894,4277],{"class":4027},[3769,4896,4890],{"class":4023},[3769,4898,4062],{"class":4027},[3769,4900,4901],{"class":4023}," SystemAllocator ",[3769,4903,4660],{"class":4027},[3769,4905,4907,4909,4912,4914],{"class":3771,"line":4906},17,[3769,4908,4887],{"class":4019},[3769,4910,4911],{"class":4023}," CommandLine",[3769,4913,4544],{"class":4044},[3769,4915,4228],{"class":4027},[3769,4917,4919,4922,4924,4927,4929,4932,4934,4937,4939,4942,4944,4946,4948,4950,4952,4955,4957,4960],{"class":3771,"line":4918},18,[3769,4920,4921],{"class":4023},"    Command",[3769,4923,4062],{"class":4027},[3769,4925,4926],{"class":4023}," Flag",[3769,4928,4062],{"class":4027},[3769,4930,4931],{"class":4023}," OptionSpec",[3769,4933,4062],{"class":4027},[3769,4935,4936],{"class":4023}," Parse",[3769,4938,4062],{"class":4027},[3769,4940,4941],{"class":4023}," Parsed",[3769,4943,4062],{"class":4027},[3769,4945,4214],{"class":4023},[3769,4947,4062],{"class":4027},[3769,4949,4031],{"class":4023},[3769,4951,4062],{"class":4027},[3769,4953,4954],{"class":4023}," Remaining",[3769,4956,4062],{"class":4027},[3769,4958,4959],{"class":4023}," Required",[3769,4961,4646],{"class":4027},[3769,4963,4965],{"class":3771,"line":4964},19,[3769,4966,4967],{"class":4023},"    WriteUsage\n",[3769,4969,4971],{"class":3771,"line":4970},20,[3769,4972,4660],{"class":4027},[3769,4974,4976,4978,4981,4983,4985,4988,4990,4993],{"class":3771,"line":4975},21,[3769,4977,4887],{"class":4019},[3769,4979,4980],{"class":4023}," FileSystem",[3769,4982,4544],{"class":4044},[3769,4984,4277],{"class":4027},[3769,4986,4987],{"class":4023}," File",[3769,4989,4062],{"class":4027},[3769,4991,4992],{"class":4023}," OpenOptions ",[3769,4994,4660],{"class":4027},[3769,4996,4998,5000,5003,5005,5007,5010,5012,5015,5017,5020,5022,5025,5027,5030,5032,5035],{"class":3771,"line":4997},22,[3769,4999,4887],{"class":4019},[3769,5001,5002],{"class":4023}," Io",[3769,5004,4544],{"class":4044},[3769,5006,4277],{"class":4027},[3769,5008,5009],{"class":4023}," BufferedReader",[3769,5011,4062],{"class":4027},[3769,5013,5014],{"class":4023}," ConsoleWriter",[3769,5016,4062],{"class":4027},[3769,5018,5019],{"class":4023}," IoError",[3769,5021,4062],{"class":4027},[3769,5023,5024],{"class":4023}," Print",[3769,5026,4062],{"class":4027},[3769,5028,5029],{"class":4023}," PrintLine",[3769,5031,4062],{"class":4027},[3769,5033,5034],{"class":4023}," ReadTextLine ",[3769,5036,4660],{"class":4027},[3769,5038,5040,5042,5045,5047,5049,5052,5054,5056,5058,5061],{"class":3771,"line":5039},23,[3769,5041,4887],{"class":4019},[3769,5043,5044],{"class":4023}," Path",[3769,5046,4544],{"class":4044},[3769,5048,4277],{"class":4027},[3769,5050,5051],{"class":4023}," OsString",[3769,5053,4062],{"class":4027},[3769,5055,4466],{"class":4023},[3769,5057,4062],{"class":4027},[3769,5059,5060],{"class":4023}," Path ",[3769,5062,4660],{"class":4027},[3769,5064,5066,5068,5071,5073,5075],{"class":3771,"line":5065},24,[3769,5067,4887],{"class":4019},[3769,5069,5070],{"class":4023}," Process",[3769,5072,4544],{"class":4044},[3769,5074,4173],{"class":4023},[3769,5076,4300],{"class":4027},[3769,5078,5080,5082,5085,5087,5089,5091,5093,5096],{"class":3771,"line":5079},25,[3769,5081,4887],{"class":4019},[3769,5083,5084],{"class":4023}," Regex",[3769,5086,4544],{"class":4044},[3769,5088,4277],{"class":4027},[3769,5090,5084],{"class":4023},[3769,5092,4062],{"class":4027},[3769,5094,5095],{"class":4023}," RegexError ",[3769,5097,4660],{"class":4027},[3769,5099,5101,5103,5106,5108,5110,5112,5114,5117,5119,5121,5123,5126,5128,5130,5132,5135,5137,5140],{"class":3771,"line":5100},26,[3769,5102,4887],{"class":4019},[3769,5104,5105],{"class":4023}," Text",[3769,5107,4544],{"class":4044},[3769,5109,4277],{"class":4027},[3769,5111,4532],{"class":4023},[3769,5113,4062],{"class":4027},[3769,5115,5116],{"class":4023}," FormatError",[3769,5118,4062],{"class":4027},[3769,5120,4429],{"class":4023},[3769,5122,4062],{"class":4027},[3769,5124,5125],{"class":4023}," StringBuilder",[3769,5127,4062],{"class":4027},[3769,5129,4541],{"class":4023},[3769,5131,4062],{"class":4027},[3769,5133,5134],{"class":4023}," TextError",[3769,5136,4062],{"class":4027},[3769,5138,5139],{"class":4023}," TextWriter ",[3769,5141,4660],{"class":4027},[3769,5143,5145],{"class":3771,"line":5144},27,[3769,5146,5148],{"emptyLinePlaceholder":5147},true,"\n",[3769,5150,5152],{"class":3771,"line":5151},28,[3769,5153,5154],{"class":4808},"\u002F\u002F How the selected lines of a file are shown.\n",[3769,5156,5158,5161,5164],{"class":3771,"line":5157},29,[3769,5159,5160],{"class":4019},"struct",[3769,5162,5163],{"class":4414}," Show",[3769,5165,4201],{"class":4027},[3769,5167,5169,5172,5174,5177],{"class":3771,"line":5168},30,[3769,5170,5171],{"class":4023},"    numbers",[3769,5173,4028],{"class":4027},[3769,5175,5176],{"class":4414}," bool",[3769,5178,4300],{"class":4027},[3769,5180,5182,5185,5187,5189],{"class":3771,"line":5181},31,[3769,5183,5184],{"class":4023},"    countOnly",[3769,5186,4028],{"class":4027},[3769,5188,5176],{"class":4414},[3769,5190,4300],{"class":4027},[3769,5192,5194,5197,5199,5201],{"class":3771,"line":5193},32,[3769,5195,5196],{"class":4023},"    invert",[3769,5198,4028],{"class":4027},[3769,5200,5176],{"class":4414},[3769,5202,4300],{"class":4027},[3769,5204,5206],{"class":3771,"line":5205},33,[3769,5207,5208],{"class":4808},"    \u002F\u002F Whether to put the file's name in front, which only helps when there are several files.\n",[3769,5210,5212,5215,5217,5219],{"class":3771,"line":5211},34,[3769,5213,5214],{"class":4023},"    names",[3769,5216,4028],{"class":4027},[3769,5218,5176],{"class":4414},[3769,5220,4300],{"class":4027},[3769,5222,5224],{"class":3771,"line":5223},35,[3769,5225,4354],{"class":4027},[3769,5227,5229],{"class":3771,"line":5228},36,[3769,5230,5148],{"emptyLinePlaceholder":5147},[3769,5232,5234],{"class":3771,"line":5233},37,[3769,5235,5236],{"class":4808},"\u002F\u002F Searches one file and returns how many of its lines were selected.\n",[3769,5238,5240,5242,5245,5247,5249,5251,5253,5255,5257,5260,5262,5264,5267,5269,5271,5273,5275,5277,5280],{"class":3771,"line":5239},38,[3769,5241,4400],{"class":4019},[3769,5243,5244],{"class":3775}," SearchFile",[3769,5246,4056],{"class":4027},[3769,5248,4325],{"class":4408},[3769,5250,4411],{"class":4027},[3769,5252,2205],{"class":4414},[3769,5254,4062],{"class":4027},[3769,5256,4679],{"class":4408},[3769,5258,5259],{"class":4023},": &",[3769,5261,3370],{"class":4408},[3769,5263,4062],{"class":4027},[3769,5265,5266],{"class":4408}," path",[3769,5268,4411],{"class":4027},[3769,5270,2804],{"class":4414},[3769,5272,4062],{"class":4027},[3769,5274,4709],{"class":4408},[3769,5276,4411],{"class":4027},[3769,5278,5279],{"class":4414},"Show",[3769,5281,4086],{"class":4027},[3769,5283,5285,5288,5291,5294],{"class":3771,"line":5284},39,[3769,5286,5287],{"class":4027},"    ->",[3769,5289,5290],{"class":4019}," uint",[3769,5292,5293],{"class":4023}," ! (IoError | RegexError) ",[3769,5295,4228],{"class":4027},[3769,5297,5299,5302,5305,5307,5309,5311,5314,5316,5318,5320,5322,5324,5327,5329,5332,5334,5337,5339,5342,5344,5346],{"class":3771,"line":5298},40,[3769,5300,5301],{"class":4019},"    var",[3769,5303,5304],{"class":4023}," file ",[3769,5306,4101],{"class":4044},[3769,5308,4987],{"class":4023},[3769,5310,4544],{"class":4044},[3769,5312,5313],{"class":4023},"Open",[3769,5315,4056],{"class":4027},[3769,5317,4325],{"class":4023},[3769,5319,4062],{"class":4027},[3769,5321,5044],{"class":4023},[3769,5323,4544],{"class":4044},[3769,5325,5326],{"class":4023},"FromView",[3769,5328,4056],{"class":4027},[3769,5330,5331],{"class":4023},"path",[3769,5333,4555],{"class":4027},[3769,5335,5336],{"class":4023}," OpenOptions",[3769,5338,4544],{"class":4044},[3769,5340,5341],{"class":4023},"Reading",[3769,5343,4469],{"class":4027},[3769,5345,4483],{"class":4044},[3769,5347,4300],{"class":4027},[3769,5349,5351,5353,5356,5358,5360,5362,5365,5367,5369,5371,5374,5376,5379,5382,5385,5387,5389],{"class":3771,"line":5350},41,[3769,5352,5301],{"class":4019},[3769,5354,5355],{"class":4023}," reader ",[3769,5357,4101],{"class":4044},[3769,5359,5009],{"class":4023},[3769,5361,4544],{"class":4044},[3769,5363,5364],{"class":4023},"New",[3769,5366,4056],{"class":4027},[3769,5368,4325],{"class":4023},[3769,5370,4062],{"class":4027},[3769,5372,5373],{"class":4023}," file",[3769,5375,3752],{"class":4044},[3769,5377,5378],{"class":4023},"Stream",[3769,5380,5381],{"class":4027},"(),",[3769,5383,5384],{"class":4037}," 0",[3769,5386,4222],{"class":4027},[3769,5388,4483],{"class":4044},[3769,5390,4300],{"class":4027},[3769,5392,5394,5396,5399,5401,5403,5405,5407],{"class":3771,"line":5393},42,[3769,5395,5301],{"class":4019},[3769,5397,5398],{"class":4023}," line ",[3769,5400,4101],{"class":4044},[3769,5402,5125],{"class":4023},[3769,5404,4056],{"class":4027},[3769,5406,4325],{"class":4023},[3769,5408,4256],{"class":4027},[3769,5410,5412,5414,5417,5419,5421,5423,5425],{"class":3771,"line":5411},43,[3769,5413,5301],{"class":4019},[3769,5415,5416],{"class":4023}," number",[3769,5418,4028],{"class":4027},[3769,5420,5290],{"class":4414},[3769,5422,4045],{"class":4044},[3769,5424,5384],{"class":4037},[3769,5426,4300],{"class":4027},[3769,5428,5430,5432,5435,5437,5439,5441,5443],{"class":3771,"line":5429},44,[3769,5431,5301],{"class":4019},[3769,5433,5434],{"class":4023}," selected",[3769,5436,4028],{"class":4027},[3769,5438,5290],{"class":4414},[3769,5440,4045],{"class":4044},[3769,5442,5384],{"class":4037},[3769,5444,4300],{"class":4027},[3769,5446,5448,5451],{"class":3771,"line":5447},45,[3769,5449,5450],{"class":4019},"    loop",[3769,5452,4201],{"class":4027},[3769,5454,5456],{"class":3771,"line":5455},46,[3769,5457,5458],{"class":4808},"        \u002F\u002F The end of the file is the one failure that is expected: it ends the loop.\n",[3769,5460,5462,5465,5467,5469,5471,5473,5475,5477,5479,5481],{"class":3771,"line":5461},47,[3769,5463,5464],{"class":4023},"        ReadTextLine",[3769,5466,4056],{"class":4027},[3769,5468,4606],{"class":4023},[3769,5470,4062],{"class":4027},[3769,5472,4611],{"class":4023},[3769,5474,4062],{"class":4027},[3769,5476,4616],{"class":4037},[3769,5478,4222],{"class":4027},[3769,5480,4225],{"class":4023},[3769,5482,4228],{"class":4027},[3769,5484,5486,5489,5491,5493,5495,5497,5499,5501,5503],{"class":3771,"line":5485},48,[3769,5487,5488],{"class":4023},"            error ",[3769,5490,1506],{"class":4019},[3769,5492,4253],{"class":4023},[3769,5494,3752],{"class":4044},[3769,5496,4636],{"class":4023},[3769,5498,4192],{"class":4027},[3769,5500,4283],{"class":4044},[3769,5502,4643],{"class":4019},[3769,5504,4646],{"class":4027},[3769,5506,5508,5510,5512],{"class":3771,"line":5507},49,[3769,5509,5488],{"class":4023},[3769,5511,4236],{"class":4044},[3769,5513,4655],{"class":4023},[3769,5515,5517],{"class":3771,"line":5516},50,[3769,5518,5519],{"class":4027},"        };\n",[3769,5521,5523,5526,5528,5530],{"class":3771,"line":5522},51,[3769,5524,5525],{"class":4023},"        number ",[3769,5527,4668],{"class":4044},[3769,5529,4198],{"class":4037},[3769,5531,4300],{"class":4027},[3769,5533,5535,5538,5540,5542,5544,5546,5548,5550,5552,5554,5556,5558,5560,5562,5564,5566,5568,5570],{"class":3771,"line":5534},52,[3769,5536,5537],{"class":4019},"        if",[3769,5539,4679],{"class":4023},[3769,5541,3752],{"class":4044},[3769,5543,4684],{"class":4023},[3769,5545,4056],{"class":4027},[3769,5547,3771],{"class":4023},[3769,5549,3752],{"class":4044},[3769,5551,4563],{"class":4023},[3769,5553,4192],{"class":4027},[3769,5555,3752],{"class":4044},[3769,5557,4699],{"class":4023},[3769,5559,4469],{"class":4027},[3769,5561,4483],{"class":4044},[3769,5563,4706],{"class":4044},[3769,5565,4709],{"class":4023},[3769,5567,3752],{"class":4044},[3769,5569,4714],{"class":4023},[3769,5571,4228],{"class":4027},[3769,5573,5575,5578,5580,5582],{"class":3771,"line":5574},53,[3769,5576,5577],{"class":4023},"            selected ",[3769,5579,4668],{"class":4044},[3769,5581,4198],{"class":4037},[3769,5583,4300],{"class":4027},[3769,5585,5587,5590,5592,5595,5597,5600],{"class":3771,"line":5586},54,[3769,5588,5589],{"class":4019},"            if",[3769,5591,4493],{"class":4044},[3769,5593,5594],{"class":4023},"show",[3769,5596,3752],{"class":4044},[3769,5598,5599],{"class":4023},"countOnly ",[3769,5601,4228],{"class":4027},[3769,5603,5605,5608,5610,5612,5615,5617,5619,5621,5624,5626,5628,5631],{"class":3771,"line":5604},55,[3769,5606,5607],{"class":4019},"                if",[3769,5609,4709],{"class":4023},[3769,5611,3752],{"class":4044},[3769,5613,5614],{"class":4023},"names ",[3769,5616,4277],{"class":4027},[3769,5618,5024],{"class":4023},[3769,5620,4056],{"class":4027},[3769,5622,5623],{"class":3779},"\"{}:\"",[3769,5625,4062],{"class":4027},[3769,5627,5266],{"class":4023},[3769,5629,5630],{"class":4027},");",[3769,5632,4525],{"class":4027},[3769,5634,5636,5638,5640,5642,5645,5647,5649,5651,5653,5655,5657,5659],{"class":3771,"line":5635},56,[3769,5637,5607],{"class":4019},[3769,5639,4709],{"class":4023},[3769,5641,3752],{"class":4044},[3769,5643,5644],{"class":4023},"numbers ",[3769,5646,4277],{"class":4027},[3769,5648,5024],{"class":4023},[3769,5650,4056],{"class":4027},[3769,5652,5623],{"class":3779},[3769,5654,4062],{"class":4027},[3769,5656,5416],{"class":4023},[3769,5658,5630],{"class":4027},[3769,5660,4525],{"class":4027},[3769,5662,5664,5667,5669,5672,5674,5676,5678,5680],{"class":3771,"line":5663},57,[3769,5665,5666],{"class":4023},"                PrintLine",[3769,5668,4056],{"class":4027},[3769,5670,5671],{"class":3779},"\"{}\"",[3769,5673,4062],{"class":4027},[3769,5675,4611],{"class":4023},[3769,5677,3752],{"class":4044},[3769,5679,4563],{"class":4023},[3769,5681,4566],{"class":4027},[3769,5683,5685],{"class":3771,"line":5684},58,[3769,5686,5687],{"class":4027},"            }\n",[3769,5689,5691],{"class":3771,"line":5690},59,[3769,5692,4305],{"class":4027},[3769,5694,5696,5699,5701,5704],{"class":3771,"line":5695},60,[3769,5697,5698],{"class":4023},"        line",[3769,5700,3752],{"class":4044},[3769,5702,5703],{"class":4023},"Clear",[3769,5705,5706],{"class":4027},"();\n",[3769,5708,5710],{"class":3771,"line":5709},61,[3769,5711,5712],{"class":4027},"    }\n",[3769,5714,5716,5718,5720,5722,5724],{"class":3771,"line":5715},62,[3769,5717,4490],{"class":4019},[3769,5719,4709],{"class":4023},[3769,5721,3752],{"class":4044},[3769,5723,5599],{"class":4023},[3769,5725,4228],{"class":4027},[3769,5727,5729,5731,5733,5735,5737,5739,5741,5743,5745,5747,5749,5751],{"class":3771,"line":5728},63,[3769,5730,5537],{"class":4019},[3769,5732,4709],{"class":4023},[3769,5734,3752],{"class":4044},[3769,5736,5614],{"class":4023},[3769,5738,4277],{"class":4027},[3769,5740,5024],{"class":4023},[3769,5742,4056],{"class":4027},[3769,5744,5623],{"class":3779},[3769,5746,4062],{"class":4027},[3769,5748,5266],{"class":4023},[3769,5750,5630],{"class":4027},[3769,5752,4525],{"class":4027},[3769,5754,5756,5759,5761,5763,5765,5767],{"class":3771,"line":5755},64,[3769,5757,5758],{"class":4023},"        PrintLine",[3769,5760,4056],{"class":4027},[3769,5762,5671],{"class":3779},[3769,5764,4062],{"class":4027},[3769,5766,5434],{"class":4023},[3769,5768,4256],{"class":4027},[3769,5770,5772],{"class":3771,"line":5771},65,[3769,5773,5712],{"class":4027},[3769,5775,5777,5779,5781],{"class":3771,"line":5776},66,[3769,5778,4317],{"class":4019},[3769,5780,5434],{"class":4023},[3769,5782,4300],{"class":4027},[3769,5784,5786],{"class":3771,"line":5785},67,[3769,5787,4354],{"class":4027},[3769,5789,5791],{"class":3771,"line":5790},68,[3769,5792,5148],{"emptyLinePlaceholder":5147},[3769,5794,5796],{"class":3771,"line":5795},69,[3769,5797,5798],{"class":4808},"\u002F\u002F The pattern as typed, with `(?i)` in front when case is to be ignored.\n",[3769,5800,5802,5804,5806,5808,5810,5812,5814,5816,5818,5820,5822,5824,5826,5828],{"class":3771,"line":5801},70,[3769,5803,4400],{"class":4019},[3769,5805,4403],{"class":3775},[3769,5807,4056],{"class":4027},[3769,5809,4325],{"class":4408},[3769,5811,4411],{"class":4027},[3769,5813,2205],{"class":4414},[3769,5815,4062],{"class":4027},[3769,5817,4330],{"class":4408},[3769,5819,4421],{"class":4023},[3769,5821,4222],{"class":4027},[3769,5823,4426],{"class":4027},[3769,5825,4429],{"class":4019},[3769,5827,4432],{"class":4023},[3769,5829,4228],{"class":4027},[3769,5831,5833,5835,5837,5839,5841,5843,5845,5847,5849,5851,5853,5855,5857,5859,5861,5863,5865,5867,5869,5871],{"class":3771,"line":5832},71,[3769,5834,4206],{"class":4019},[3769,5836,4441],{"class":4023},[3769,5838,4101],{"class":4044},[3769,5840,4446],{"class":4027},[3769,5842,4449],{"class":4023},[3769,5844,3752],{"class":4044},[3769,5846,4454],{"class":4023},[3769,5848,4056],{"class":4027},[3769,5850,4059],{"class":3779},[3769,5852,4222],{"class":4027},[3769,5854,4463],{"class":4044},[3769,5856,4466],{"class":4023},[3769,5858,4469],{"class":4027},[3769,5860,3752],{"class":4044},[3769,5862,4474],{"class":4023},[3769,5864,4056],{"class":4027},[3769,5866,4325],{"class":4023},[3769,5868,4222],{"class":4027},[3769,5870,4483],{"class":4044},[3769,5872,4300],{"class":4027},[3769,5874,5876,5878,5880,5882,5884,5886,5888,5890,5892,5894,5896,5898,5900,5902],{"class":3771,"line":5875},72,[3769,5877,4490],{"class":4019},[3769,5879,4493],{"class":4044},[3769,5881,4449],{"class":4023},[3769,5883,3752],{"class":4044},[3769,5885,4500],{"class":4023},[3769,5887,4056],{"class":4027},[3769,5889,4505],{"class":3779},[3769,5891,4222],{"class":4027},[3769,5893,4510],{"class":4027},[3769,5895,4513],{"class":4019},[3769,5897,4516],{"class":4044},[3769,5899,4519],{"class":4023},[3769,5901,4522],{"class":4027},[3769,5903,4525],{"class":4027},[3769,5905,5907,5909,5911,5913,5915,5917,5919,5921,5923,5925,5927,5929,5931,5933,5935],{"class":3771,"line":5906},73,[3769,5908,4317],{"class":4019},[3769,5910,4532],{"class":4023},[3769,5912,4056],{"class":4027},[3769,5914,4325],{"class":4023},[3769,5916,4062],{"class":4027},[3769,5918,4541],{"class":4023},[3769,5920,4544],{"class":4044},[3769,5922,4547],{"class":4023},[3769,5924,4056],{"class":4027},[3769,5926,4552],{"class":3779},[3769,5928,4555],{"class":4027},[3769,5930,4558],{"class":4023},[3769,5932,3752],{"class":4044},[3769,5934,4563],{"class":4023},[3769,5936,4566],{"class":4027},[3769,5938,5940],{"class":3771,"line":5939},74,[3769,5941,4354],{"class":4027},[3769,5943,5945],{"class":3771,"line":5944},75,[3769,5946,5148],{"emptyLinePlaceholder":5147},[3769,5948,5950],{"class":3771,"line":5949},76,[3769,5951,5952],{"class":4808},"\u002F\u002F Does what a parsed command line asks, and returns the exit status.\n",[3769,5954,5956,5958,5960,5962,5964,5966,5968,5970,5972,5974,5976,5978,5980,5983,5985,5987,5990,5993],{"class":3771,"line":5955},77,[3769,5957,4400],{"class":4019},[3769,5959,4320],{"class":3775},[3769,5961,4056],{"class":4027},[3769,5963,4325],{"class":4408},[3769,5965,4411],{"class":4027},[3769,5967,2205],{"class":4414},[3769,5969,4062],{"class":4027},[3769,5971,4330],{"class":4408},[3769,5973,5259],{"class":4023},[3769,5975,3427],{"class":4408},[3769,5977,4062],{"class":4027},[3769,5979,4270],{"class":4408},[3769,5981,5982],{"class":4023},": &var TextWriter",[3769,5984,4222],{"class":4027},[3769,5986,4426],{"class":4027},[3769,5988,5989],{"class":4019}," int",[3769,5991,5992],{"class":4023}," ! FormatError ",[3769,5994,4228],{"class":4027},[3769,5996,5998,6000,6002,6004,6007,6009],{"class":3771,"line":5997},78,[3769,5999,4490],{"class":4019},[3769,6001,4330],{"class":4023},[3769,6003,3752],{"class":4044},[3769,6005,6006],{"class":4023},"HelpRequested",[3769,6008,4192],{"class":4027},[3769,6010,4201],{"class":4027},[3769,6012,6014,6017,6019,6022,6024,6027,6029,6031],{"class":3771,"line":6013},79,[3769,6015,6016],{"class":4023},"        parsed",[3769,6018,3752],{"class":4044},[3769,6020,6021],{"class":4023},"WriteHelp",[3769,6023,4056],{"class":4027},[3769,6025,6026],{"class":4023},"screen",[3769,6028,4222],{"class":4027},[3769,6030,4483],{"class":4044},[3769,6032,4300],{"class":4027},[3769,6034,6036,6039,6041],{"class":3771,"line":6035},80,[3769,6037,6038],{"class":4019},"        return",[3769,6040,5384],{"class":4037},[3769,6042,4300],{"class":4027},[3769,6044,6046],{"class":3771,"line":6045},81,[3769,6047,5712],{"class":4027},[3769,6049,6051,6053,6056,6058,6060,6062,6064,6066,6068,6070,6072],{"class":3771,"line":6050},82,[3769,6052,4206],{"class":4019},[3769,6054,6055],{"class":4023}," pattern ",[3769,6057,4101],{"class":4044},[3769,6059,4403],{"class":4023},[3769,6061,4056],{"class":4027},[3769,6063,4325],{"class":4023},[3769,6065,4062],{"class":4027},[3769,6067,4330],{"class":4023},[3769,6069,4222],{"class":4027},[3769,6071,4225],{"class":4023},[3769,6073,4228],{"class":4027},[3769,6075,6077,6080,6082],{"class":3771,"line":6076},83,[3769,6078,6079],{"class":4019},"        else",[3769,6081,4283],{"class":4044},[3769,6083,4201],{"class":4027},[3769,6085,6087,6089,6091,6094],{"class":3771,"line":6086},84,[3769,6088,4243],{"class":4023},[3769,6090,4056],{"class":4027},[3769,6092,6093],{"class":3779},"\"grep: the pattern is not valid text\"",[3769,6095,4256],{"class":4027},[3769,6097,6099,6101,6103],{"class":3771,"line":6098},85,[3769,6100,4294],{"class":4019},[3769,6102,4297],{"class":4037},[3769,6104,4300],{"class":4027},[3769,6106,6108],{"class":3771,"line":6107},86,[3769,6109,4305],{"class":4027},[3769,6111,6113],{"class":3771,"line":6112},87,[3769,6114,4311],{"class":4027},[3769,6116,6118],{"class":3771,"line":6117},88,[3769,6119,6120],{"class":4808},"    \u002F\u002F A compiled `Regex` owns memory, so it is moved out of the match, not copied. Without the\n",[3769,6122,6124],{"class":3771,"line":6123},89,[3769,6125,6126],{"class":4808},"    \u002F\u002F arrow, `.Success(compiled) => compiled` is refused:\n",[3769,6128,6130],{"class":3771,"line":6129},90,[3769,6131,6132],{"class":4808},"    \u002F\u002F\n",[3769,6134,6136],{"class":3771,"line":6135},91,[3769,6137,6138],{"class":4808},"    \u002F\u002F     error: move-only value 'compiled' requires an explicit '\u003C-' in conditional-arm\n",[3769,6140,6142,6144,6147,6149,6152,6154,6156,6158,6160,6162,6164,6167,6169,6171,6173],{"class":3771,"line":6141},92,[3769,6143,4206],{"class":4019},[3769,6145,6146],{"class":4023}," regex ",[3769,6148,4101],{"class":4044},[3769,6150,6151],{"class":4019}," match",[3769,6153,5084],{"class":4023},[3769,6155,4544],{"class":4044},[3769,6157,5364],{"class":4023},[3769,6159,4056],{"class":4027},[3769,6161,4325],{"class":4023},[3769,6163,4062],{"class":4027},[3769,6165,6166],{"class":4023}," pattern",[3769,6168,3752],{"class":4044},[3769,6170,4699],{"class":4023},[3769,6172,4469],{"class":4027},[3769,6174,4201],{"class":4027},[3769,6176,6178,6181,6184,6186,6189,6191,6193,6195,6197],{"class":3771,"line":6177},93,[3769,6179,6180],{"class":4044},"        .",[3769,6182,6183],{"class":4023},"Success",[3769,6185,4056],{"class":4027},[3769,6187,6188],{"class":4023},"compiled",[3769,6190,4222],{"class":4027},[3769,6192,4283],{"class":4044},[3769,6194,4516],{"class":4044},[3769,6196,6188],{"class":4023},[3769,6198,4646],{"class":4027},[3769,6200,6202,6204,6207,6209,6212,6214,6216],{"class":3771,"line":6201},94,[3769,6203,6180],{"class":4044},[3769,6205,6206],{"class":4023},"Failure",[3769,6208,4056],{"class":4027},[3769,6210,6211],{"class":4023},"error",[3769,6213,4222],{"class":4027},[3769,6215,4283],{"class":4044},[3769,6217,4201],{"class":4027},[3769,6219,6221,6223,6225,6228,6230,6232,6234,6236,6238,6241],{"class":3771,"line":6220},95,[3769,6222,4243],{"class":4023},[3769,6224,4056],{"class":4027},[3769,6226,6227],{"class":3779},"\"grep: bad pattern '{}' at byte {}\"",[3769,6229,4062],{"class":4027},[3769,6231,6166],{"class":4023},[3769,6233,4062],{"class":4027},[3769,6235,4253],{"class":4023},[3769,6237,3752],{"class":4044},[3769,6239,6240],{"class":4023},"offset",[3769,6242,4256],{"class":4027},[3769,6244,6246,6248,6250],{"class":3771,"line":6245},96,[3769,6247,4294],{"class":4019},[3769,6249,4297],{"class":4037},[3769,6251,4300],{"class":4027},[3769,6253,6255],{"class":3771,"line":6254},97,[3769,6256,4305],{"class":4027},[3769,6258,6260],{"class":3771,"line":6259},98,[3769,6261,4311],{"class":4027},[3769,6263,6265,6267,6270,6272,6274,6276,6278],{"class":3771,"line":6264},99,[3769,6266,5301],{"class":4019},[3769,6268,6269],{"class":4023}," files",[3769,6271,4028],{"class":4027},[3769,6273,5290],{"class":4414},[3769,6275,4045],{"class":4044},[3769,6277,5384],{"class":4037},[3769,6279,4300],{"class":4027},[3769,6281,6283,6286,6289,6292,6294,6296,6299,6301,6303,6305],{"class":3771,"line":6282},100,[3769,6284,6285],{"class":4019},"    for",[3769,6287,6288],{"class":4023}," _ ",[3769,6290,6291],{"class":4019},"in",[3769,6293,4330],{"class":4023},[3769,6295,3752],{"class":4044},[3769,6297,6298],{"class":4023},"Positionals",[3769,6300,4056],{"class":4027},[3769,6302,4078],{"class":3779},[3769,6304,4222],{"class":4027},[3769,6306,4201],{"class":4027},[3769,6308,6310,6313,6315,6317],{"class":3771,"line":6309},101,[3769,6311,6312],{"class":4023},"        files ",[3769,6314,4668],{"class":4044},[3769,6316,4198],{"class":4037},[3769,6318,4300],{"class":4027},[3769,6320,6322],{"class":3771,"line":6321},102,[3769,6323,5712],{"class":4027},[3769,6325,6327,6329,6332,6335,6337],{"class":3771,"line":6326},103,[3769,6328,4490],{"class":4019},[3769,6330,6331],{"class":4023}," files ",[3769,6333,6334],{"class":4044},"==",[3769,6336,5384],{"class":4037},[3769,6338,4201],{"class":4027},[3769,6340,6342,6344,6346,6349],{"class":3771,"line":6341},104,[3769,6343,5758],{"class":4023},[3769,6345,4056],{"class":4027},[3769,6347,6348],{"class":3779},"\"grep: name at least one file to search\"",[3769,6350,4256],{"class":4027},[3769,6352,6354,6356,6358],{"class":3771,"line":6353},105,[3769,6355,6038],{"class":4019},[3769,6357,4297],{"class":4037},[3769,6359,4300],{"class":4027},[3769,6361,6363],{"class":3771,"line":6362},106,[3769,6364,5712],{"class":4027},[3769,6366,6368,6370,6373,6375,6378],{"class":3771,"line":6367},107,[3769,6369,4206],{"class":4019},[3769,6371,6372],{"class":4023}," show ",[3769,6374,4101],{"class":4044},[3769,6376,6377],{"class":4023}," Show ",[3769,6379,4228],{"class":4027},[3769,6381,6383,6386,6388,6390,6392,6394,6396,6399,6401,6404,6406,6408,6410,6412,6414,6417],{"class":3771,"line":6382},108,[3769,6384,6385],{"class":4023},"        numbers",[3769,6387,4028],{"class":4027},[3769,6389,4330],{"class":4023},[3769,6391,3752],{"class":4044},[3769,6393,4500],{"class":4023},[3769,6395,4056],{"class":4027},[3769,6397,6398],{"class":3779},"\"line-number\"",[3769,6400,4555],{"class":4027},[3769,6402,6403],{"class":4023}," countOnly",[3769,6405,4028],{"class":4027},[3769,6407,4330],{"class":4023},[3769,6409,3752],{"class":4044},[3769,6411,4500],{"class":4023},[3769,6413,4056],{"class":4027},[3769,6415,6416],{"class":3779},"\"count\"",[3769,6418,4068],{"class":4027},[3769,6420,6422,6425,6427,6429,6431,6433,6435,6438,6440,6443,6445,6447,6450],{"class":3771,"line":6421},109,[3769,6423,6424],{"class":4023},"        invert",[3769,6426,4028],{"class":4027},[3769,6428,4330],{"class":4023},[3769,6430,3752],{"class":4044},[3769,6432,4500],{"class":4023},[3769,6434,4056],{"class":4027},[3769,6436,6437],{"class":3779},"\"invert-match\"",[3769,6439,4555],{"class":4027},[3769,6441,6442],{"class":4023}," names",[3769,6444,4028],{"class":4027},[3769,6446,6331],{"class":4023},[3769,6448,6449],{"class":4044},">",[3769,6451,6452],{"class":4037}," 1\n",[3769,6454,6456],{"class":3771,"line":6455},110,[3769,6457,4311],{"class":4027},[3769,6459,6461],{"class":3771,"line":6460},111,[3769,6462,6463],{"class":4808},"    \u002F\u002F A file that cannot be read is reported and skipped; the others are still searched.\n",[3769,6465,6467,6469,6472,6474,6476],{"class":3771,"line":6466},112,[3769,6468,5301],{"class":4019},[3769,6470,6471],{"class":4023}," status ",[3769,6473,4101],{"class":4044},[3769,6475,4198],{"class":4037},[3769,6477,4300],{"class":4027},[3769,6479,6481,6483,6486,6488,6490,6492,6494,6496,6498,6500],{"class":3771,"line":6480},113,[3769,6482,6285],{"class":4019},[3769,6484,6485],{"class":4023}," path ",[3769,6487,6291],{"class":4019},[3769,6489,4330],{"class":4023},[3769,6491,3752],{"class":4044},[3769,6493,6298],{"class":4023},[3769,6495,4056],{"class":4027},[3769,6497,4078],{"class":3779},[3769,6499,4222],{"class":4027},[3769,6501,4201],{"class":4027},[3769,6503,6505,6508,6510,6512,6514,6516,6518,6520,6522,6524,6526,6528],{"class":3771,"line":6504},114,[3769,6506,6507],{"class":4019},"        match",[3769,6509,5244],{"class":4023},[3769,6511,4056],{"class":4027},[3769,6513,4325],{"class":4023},[3769,6515,4062],{"class":4027},[3769,6517,4679],{"class":4023},[3769,6519,4062],{"class":4027},[3769,6521,5266],{"class":4023},[3769,6523,4062],{"class":4027},[3769,6525,4709],{"class":4023},[3769,6527,4222],{"class":4027},[3769,6529,4201],{"class":4027},[3769,6531,6533,6536,6538,6540,6543,6545,6547],{"class":3771,"line":6532},115,[3769,6534,6535],{"class":4044},"            .",[3769,6537,6183],{"class":4023},[3769,6539,4056],{"class":4027},[3769,6541,6542],{"class":4023},"selected",[3769,6544,4222],{"class":4027},[3769,6546,4283],{"class":4044},[3769,6548,4201],{"class":4027},[3769,6550,6552,6554,6557,6559,6561,6564,6566,6568,6570,6572,6574,6576,6578,6580],{"class":3771,"line":6551},116,[3769,6553,5607],{"class":4019},[3769,6555,6556],{"class":4023}," selected ",[3769,6558,6449],{"class":4044},[3769,6560,5384],{"class":4037},[3769,6562,6563],{"class":4044}," &&",[3769,6565,6471],{"class":4023},[3769,6567,6334],{"class":4044},[3769,6569,4198],{"class":4037},[3769,6571,4510],{"class":4027},[3769,6573,6471],{"class":4023},[3769,6575,4101],{"class":4044},[3769,6577,5384],{"class":4037},[3769,6579,4522],{"class":4027},[3769,6581,4525],{"class":4027},[3769,6583,6585],{"class":3771,"line":6584},117,[3769,6586,6587],{"class":4027},"            },\n",[3769,6589,6591,6593,6595,6597,6600,6602,6604],{"class":3771,"line":6590},118,[3769,6592,6535],{"class":4044},[3769,6594,6206],{"class":4023},[3769,6596,4056],{"class":4027},[3769,6598,6599],{"class":4023},"_",[3769,6601,4222],{"class":4027},[3769,6603,4283],{"class":4044},[3769,6605,4201],{"class":4027},[3769,6607,6609,6611,6613,6616,6618,6620],{"class":3771,"line":6608},119,[3769,6610,5666],{"class":4023},[3769,6612,4056],{"class":4027},[3769,6614,6615],{"class":3779},"\"grep: {}: cannot be read\"",[3769,6617,4062],{"class":4027},[3769,6619,5266],{"class":4023},[3769,6621,4256],{"class":4027},[3769,6623,6625,6628,6630,6632],{"class":3771,"line":6624},120,[3769,6626,6627],{"class":4023},"                status ",[3769,6629,4101],{"class":4044},[3769,6631,4297],{"class":4037},[3769,6633,4300],{"class":4027},[3769,6635,6637],{"class":3771,"line":6636},121,[3769,6638,5687],{"class":4027},[3769,6640,6642],{"class":3771,"line":6641},122,[3769,6643,4305],{"class":4027},[3769,6645,6647],{"class":3771,"line":6646},123,[3769,6648,5712],{"class":4027},[3769,6650,6652,6654,6657],{"class":3771,"line":6651},124,[3769,6653,4317],{"class":4019},[3769,6655,6656],{"class":4023}," status",[3769,6658,4300],{"class":4027},[3769,6660,6662],{"class":3771,"line":6661},125,[3769,6663,4354],{"class":4027},[3769,6665,6667],{"class":3771,"line":6666},126,[3769,6668,5148],{"emptyLinePlaceholder":5147},[3769,6670,6672],{"class":3771,"line":6671},127,[3769,6673,6674],{"class":4808},"\u002F\u002F Splits native text at its spaces into `words`, as the CommandLine lesson did.\n",[3769,6676,6678,6680,6683,6685,6688,6690,6692,6694,6697,6699,6702,6705,6707,6709,6711],{"class":3771,"line":6677},128,[3769,6679,4400],{"class":4019},[3769,6681,6682],{"class":3775}," Split",[3769,6684,4056],{"class":4027},[3769,6686,6687],{"class":4408},"text",[3769,6689,4411],{"class":4027},[3769,6691,2804],{"class":4414},[3769,6693,4062],{"class":4027},[3769,6695,6696],{"class":4408}," words",[3769,6698,4411],{"class":4027},[3769,6700,6701],{"class":4414},"var",[3769,6703,6704],{"class":4023}," OsStringView[..]",[3769,6706,4222],{"class":4027},[3769,6708,4426],{"class":4027},[3769,6710,5290],{"class":4019},[3769,6712,4201],{"class":4027},[3769,6714,6716,6718,6721,6723,6726,6728,6731],{"class":3771,"line":6715},129,[3769,6717,4206],{"class":4019},[3769,6719,6720],{"class":4023}," units ",[3769,6722,4101],{"class":4044},[3769,6724,6725],{"class":4023}," text",[3769,6727,3752],{"class":4044},[3769,6729,6730],{"class":4023},"Units",[3769,6732,5706],{"class":4027},[3769,6734,6736,6738,6741,6743,6745,6747,6749],{"class":3771,"line":6735},130,[3769,6737,5301],{"class":4019},[3769,6739,6740],{"class":4023}," count",[3769,6742,4028],{"class":4027},[3769,6744,5290],{"class":4414},[3769,6746,4045],{"class":4044},[3769,6748,5384],{"class":4037},[3769,6750,4300],{"class":4027},[3769,6752,6754,6756,6759,6761,6763,6765,6767],{"class":3771,"line":6753},131,[3769,6755,5301],{"class":4019},[3769,6757,6758],{"class":4023}," start",[3769,6760,4028],{"class":4027},[3769,6762,5290],{"class":4414},[3769,6764,4045],{"class":4044},[3769,6766,5384],{"class":4037},[3769,6768,4300],{"class":4027},[3769,6770,6772,6774,6777,6779,6781,6784,6787,6789,6792],{"class":3771,"line":6771},132,[3769,6773,6285],{"class":4019},[3769,6775,6776],{"class":4023}," at ",[3769,6778,6291],{"class":4019},[3769,6780,5384],{"class":4037},[3769,6782,6783],{"class":4044},"..=",[3769,6785,6786],{"class":4023},"units",[3769,6788,3752],{"class":4044},[3769,6790,6791],{"class":4023},"length ",[3769,6793,4228],{"class":4027},[3769,6795,6797,6799,6801,6803,6806,6808,6810,6813,6815,6817,6820,6822,6825,6828,6831,6834],{"class":3771,"line":6796},133,[3769,6798,5537],{"class":4019},[3769,6800,6776],{"class":4023},[3769,6802,6334],{"class":4044},[3769,6804,6805],{"class":4023}," units",[3769,6807,3752],{"class":4044},[3769,6809,6791],{"class":4023},[3769,6811,6812],{"class":4044},"||",[3769,6814,6805],{"class":4023},[3769,6816,4034],{"class":4027},[3769,6818,6819],{"class":4023},"at",[3769,6821,4041],{"class":4027},[3769,6823,6824],{"class":4044}," as",[3769,6826,6827],{"class":4414}," uint32",[3769,6829,6830],{"class":4044}," ==",[3769,6832,6833],{"class":4037}," 0x20",[3769,6835,4201],{"class":4027},[3769,6837,6839,6841,6843,6845,6848,6851,6854,6857,6859,6861,6863],{"class":3771,"line":6838},134,[3769,6840,5589],{"class":4019},[3769,6842,6776],{"class":4023},[3769,6844,6449],{"class":4044},[3769,6846,6847],{"class":4023}," start ",[3769,6849,6850],{"class":4044},"&&",[3769,6852,6853],{"class":4023}," count ",[3769,6855,6856],{"class":4044},"\u003C",[3769,6858,6696],{"class":4023},[3769,6860,3752],{"class":4044},[3769,6862,6791],{"class":4023},[3769,6864,4228],{"class":4027},[3769,6866,6868,6871,6873,6876,6878,6880,6882,6884,6887,6889,6891,6893,6896,6898,6900],{"class":3771,"line":6867},135,[3769,6869,6870],{"class":4023},"                words",[3769,6872,4034],{"class":4027},[3769,6874,6875],{"class":4023},"count",[3769,6877,4041],{"class":4027},[3769,6879,4045],{"class":4044},[3769,6881,4466],{"class":4023},[3769,6883,4544],{"class":4044},[3769,6885,6886],{"class":4023},"FromUnits",[3769,6888,4056],{"class":4027},[3769,6890,6786],{"class":4023},[3769,6892,4034],{"class":4027},[3769,6894,6895],{"class":4023},"start",[3769,6897,4134],{"class":4044},[3769,6899,6819],{"class":4023},[3769,6901,4154],{"class":4027},[3769,6903,6905,6908,6910,6912],{"class":3771,"line":6904},136,[3769,6906,6907],{"class":4023},"                count ",[3769,6909,4668],{"class":4044},[3769,6911,4198],{"class":4037},[3769,6913,4300],{"class":4027},[3769,6915,6917],{"class":3771,"line":6916},137,[3769,6918,5687],{"class":4027},[3769,6920,6922,6925,6927,6929,6932,6934],{"class":3771,"line":6921},138,[3769,6923,6924],{"class":4023},"            start ",[3769,6926,4101],{"class":4044},[3769,6928,6776],{"class":4023},[3769,6930,6931],{"class":4044},"+",[3769,6933,4198],{"class":4037},[3769,6935,4300],{"class":4027},[3769,6937,6939],{"class":3771,"line":6938},139,[3769,6940,4305],{"class":4027},[3769,6942,6944],{"class":3771,"line":6943},140,[3769,6945,5712],{"class":4027},[3769,6947,6949,6951,6953],{"class":3771,"line":6948},141,[3769,6950,4317],{"class":4019},[3769,6952,6740],{"class":4023},[3769,6954,4300],{"class":4027},[3769,6956,6958],{"class":3771,"line":6957},142,[3769,6959,4354],{"class":4027},[3769,6961,6963],{"class":3771,"line":6962},143,[3769,6964,5148],{"emptyLinePlaceholder":5147},[3769,6966,6968,6970,6973,6975,6977,6979],{"class":3771,"line":6967},144,[3769,6969,4400],{"class":4019},[3769,6971,6972],{"class":3775}," Main",[3769,6974,4192],{"class":4027},[3769,6976,4426],{"class":4027},[3769,6978,5989],{"class":4019},[3769,6980,4201],{"class":4027},[3769,6982,6984,6986,6989,6991,6994],{"class":3771,"line":6983},145,[3769,6985,5301],{"class":4019},[3769,6987,6988],{"class":4023}," system ",[3769,6990,4101],{"class":4044},[3769,6992,6993],{"class":4023}," SystemAllocator",[3769,6995,5706],{"class":4027},[3769,6997,6999,7001,7004,7006,7009,7011,7014],{"class":3771,"line":6998},146,[3769,7000,4206],{"class":4019},[3769,7002,7003],{"class":4023}," allocator",[3769,7005,4028],{"class":4027},[3769,7007,7008],{"class":4023}," Allocator ",[3769,7010,4101],{"class":4044},[3769,7012,7013],{"class":4023}," system",[3769,7015,4300],{"class":4027},[3769,7017,7019,7021,7024,7026,7028,7030,7032,7035],{"class":3771,"line":7018},147,[3769,7020,5301],{"class":4019},[3769,7022,7023],{"class":4023}," failure",[3769,7025,4028],{"class":4027},[3769,7027,5019],{"class":4023},[3769,7029,4483],{"class":4044},[3769,7031,4045],{"class":4044},[3769,7033,7034],{"class":4023}," none",[3769,7036,4300],{"class":4027},[3769,7038,7040,7042,7045,7047,7049,7051,7054],{"class":3771,"line":7039},148,[3769,7041,5301],{"class":4019},[3769,7043,7044],{"class":4023}," console ",[3769,7046,4101],{"class":4044},[3769,7048,5014],{"class":4023},[3769,7050,4056],{"class":4027},[3769,7052,7053],{"class":4023},"@failure",[3769,7055,4256],{"class":4027},[3769,7057,7059,7061,7063,7065,7068,7070,7072,7074,7077],{"class":3771,"line":7058},149,[3769,7060,4206],{"class":4019},[3769,7062,4270],{"class":4023},[3769,7064,4028],{"class":4027},[3769,7066,7067],{"class":4044}," &",[3769,7069,6701],{"class":4019},[3769,7071,5139],{"class":4023},[3769,7073,4101],{"class":4044},[3769,7075,7076],{"class":4023}," console",[3769,7078,4300],{"class":4027},[3769,7080,7082],{"class":3771,"line":7081},150,[3769,7083,5148],{"emptyLinePlaceholder":5147},[3769,7085,7087,7089,7092,7094,7096,7098,7101,7103,7105],{"class":3771,"line":7086},151,[3769,7088,4206],{"class":4019},[3769,7090,7091],{"class":4023}," options",[3769,7093,4028],{"class":4027},[3769,7095,4931],{"class":4023},[3769,7097,4034],{"class":4027},[3769,7099,7100],{"class":4037},"4",[3769,7102,4041],{"class":4027},[3769,7104,4045],{"class":4044},[3769,7106,4048],{"class":4027},[3769,7108,7110,7113,7115,7117,7119,7122,7124,7127],{"class":3771,"line":7109},152,[3769,7111,7112],{"class":4023},"        Flag",[3769,7114,4056],{"class":4027},[3769,7116,4505],{"class":3779},[3769,7118,4062],{"class":4027},[3769,7120,7121],{"class":3779}," 'i'",[3769,7123,4062],{"class":4027},[3769,7125,7126],{"class":3779}," \"Ignore the difference between upper and lower case\"",[3769,7128,4068],{"class":4027},[3769,7130,7132,7134,7136,7138,7140,7143,7145,7148],{"class":3771,"line":7131},153,[3769,7133,7112],{"class":4023},[3769,7135,4056],{"class":4027},[3769,7137,6398],{"class":3779},[3769,7139,4062],{"class":4027},[3769,7141,7142],{"class":3779}," 'n'",[3769,7144,4062],{"class":4027},[3769,7146,7147],{"class":3779}," \"Put each line's number in front of it\"",[3769,7149,4068],{"class":4027},[3769,7151,7153,7155,7157,7159,7161,7164,7166,7169],{"class":3771,"line":7152},154,[3769,7154,7112],{"class":4023},[3769,7156,4056],{"class":4027},[3769,7158,6416],{"class":3779},[3769,7160,4062],{"class":4027},[3769,7162,7163],{"class":3779}," 'c'",[3769,7165,4062],{"class":4027},[3769,7167,7168],{"class":3779}," \"Print only how many lines were selected\"",[3769,7170,4068],{"class":4027},[3769,7172,7174,7176,7178,7180,7182,7185,7187,7190],{"class":3771,"line":7173},155,[3769,7175,7112],{"class":4023},[3769,7177,4056],{"class":4027},[3769,7179,6437],{"class":3779},[3769,7181,4062],{"class":4027},[3769,7183,7184],{"class":3779}," 'v'",[3769,7186,4062],{"class":4027},[3769,7188,7189],{"class":3779}," \"Select the lines that do not match\"",[3769,7191,4086],{"class":4027},[3769,7193,7195],{"class":3771,"line":7194},156,[3769,7196,7197],{"class":4027},"    ];\n",[3769,7199,7201,7203,7205,7207,7209,7211,7213,7215,7217],{"class":3771,"line":7200},157,[3769,7202,4206],{"class":4019},[3769,7204,4024],{"class":4023},[3769,7206,4028],{"class":4027},[3769,7208,4031],{"class":4023},[3769,7210,4034],{"class":4027},[3769,7212,4038],{"class":4037},[3769,7214,4041],{"class":4027},[3769,7216,4045],{"class":4044},[3769,7218,4048],{"class":4027},[3769,7220,7222,7225,7227,7229,7231,7233],{"class":3771,"line":7221},158,[3769,7223,7224],{"class":4023},"        Required",[3769,7226,4056],{"class":4027},[3769,7228,4059],{"class":3779},[3769,7230,4062],{"class":4027},[3769,7232,4065],{"class":3779},[3769,7234,4068],{"class":4027},[3769,7236,7238,7241,7243,7245,7247,7249],{"class":3771,"line":7237},159,[3769,7239,7240],{"class":4023},"        Remaining",[3769,7242,4056],{"class":4027},[3769,7244,4078],{"class":3779},[3769,7246,4062],{"class":4027},[3769,7248,4083],{"class":3779},[3769,7250,4086],{"class":4027},[3769,7252,7254],{"class":3771,"line":7253},160,[3769,7255,7197],{"class":4027},[3769,7257,7259,7261,7263,7265,7267,7269,7271,7273,7275],{"class":3771,"line":7258},161,[3769,7260,4206],{"class":4019},[3769,7262,4098],{"class":4023},[3769,7264,4101],{"class":4044},[3769,7266,4104],{"class":4023},[3769,7268,4056],{"class":4027},[3769,7270,4109],{"class":3779},[3769,7272,4062],{"class":4027},[3769,7274,4114],{"class":3779},[3769,7276,4086],{"class":4027},[3769,7278,7280,7282,7284,7286,7288,7290,7292,7294,7296,7298,7300,7302,7304,7306],{"class":3771,"line":7279},162,[3769,7281,6180],{"class":4044},[3769,7283,4124],{"class":4023},[3769,7285,4056],{"class":4027},[3769,7287,4129],{"class":4023},[3769,7289,4034],{"class":4027},[3769,7291,4134],{"class":4044},[3769,7293,4137],{"class":4027},[3769,7295,3752],{"class":4044},[3769,7297,4142],{"class":4023},[3769,7299,4056],{"class":4027},[3769,7301,4147],{"class":4023},[3769,7303,4034],{"class":4027},[3769,7305,4134],{"class":4044},[3769,7307,4154],{"class":4027},[3769,7309,7311],{"class":3771,"line":7310},163,[3769,7312,5148],{"emptyLinePlaceholder":5147},[3769,7314,7316],{"class":3771,"line":7315},164,[3769,7317,7318],{"class":4808},"    \u002F\u002F Real arguments: one search, and its status is the program's.\n",[3769,7320,7322,7324,7326,7328,7330,7332],{"class":3771,"line":7321},165,[3769,7323,4490],{"class":4019},[3769,7325,4189],{"class":4023},[3769,7327,4192],{"class":4027},[3769,7329,4195],{"class":4044},[3769,7331,4198],{"class":4037},[3769,7333,4201],{"class":4027},[3769,7335,7337,7340,7342,7344,7346,7348,7350,7352,7354],{"class":3771,"line":7336},166,[3769,7338,7339],{"class":4019},"        let",[3769,7341,4209],{"class":4023},[3769,7343,4101],{"class":4044},[3769,7345,4214],{"class":4023},[3769,7347,4056],{"class":4027},[3769,7349,4219],{"class":4023},[3769,7351,4222],{"class":4027},[3769,7353,4225],{"class":4023},[3769,7355,4228],{"class":4027},[3769,7357,7359,7361,7363],{"class":3771,"line":7358},167,[3769,7360,5488],{"class":4023},[3769,7362,4236],{"class":4044},[3769,7364,4201],{"class":4027},[3769,7366,7368,7370,7372,7374,7376,7378],{"class":3771,"line":7367},168,[3769,7369,5666],{"class":4023},[3769,7371,4056],{"class":4027},[3769,7373,4248],{"class":3779},[3769,7375,4062],{"class":4027},[3769,7377,4253],{"class":4023},[3769,7379,4256],{"class":4027},[3769,7381,7383,7386,7388,7390,7392,7394,7396,7398,7400,7402,7404,7406],{"class":3771,"line":7382},169,[3769,7384,7385],{"class":4023},"                WriteUsage",[3769,7387,4056],{"class":4027},[3769,7389,3726],{"class":4023},[3769,7391,4062],{"class":4027},[3769,7393,4270],{"class":4023},[3769,7395,4222],{"class":4027},[3769,7397,4225],{"class":4023},[3769,7399,4277],{"class":4027},[3769,7401,4280],{"class":4019},[3769,7403,4283],{"class":4044},[3769,7405,4286],{"class":4027},[3769,7407,4289],{"class":4027},[3769,7409,7411,7414,7416],{"class":3771,"line":7410},170,[3769,7412,7413],{"class":4019},"                return",[3769,7415,4297],{"class":4037},[3769,7417,4300],{"class":4027},[3769,7419,7421],{"class":3771,"line":7420},171,[3769,7422,5687],{"class":4027},[3769,7424,7426],{"class":3771,"line":7425},172,[3769,7427,5519],{"class":4027},[3769,7429,7431,7433,7435,7437,7439,7441,7443,7445,7447,7449,7451,7453,7455,7457,7459],{"class":3771,"line":7430},173,[3769,7432,6038],{"class":4019},[3769,7434,4320],{"class":4023},[3769,7436,4056],{"class":4027},[3769,7438,4325],{"class":4023},[3769,7440,4062],{"class":4027},[3769,7442,4330],{"class":4023},[3769,7444,4062],{"class":4027},[3769,7446,4270],{"class":4023},[3769,7448,4222],{"class":4027},[3769,7450,4225],{"class":4023},[3769,7452,4277],{"class":4027},[3769,7454,4280],{"class":4019},[3769,7456,4283],{"class":4044},[3769,7458,4297],{"class":4037},[3769,7460,4289],{"class":4027},[3769,7462,7464],{"class":3771,"line":7463},174,[3769,7465,5712],{"class":4027},[3769,7467,7469],{"class":3771,"line":7468},175,[3769,7470,5148],{"emptyLinePlaceholder":5147},[3769,7472,7474],{"class":3771,"line":7473},176,[3769,7475,7476],{"class":4808},"    \u002F\u002F No arguments: a tour of fixed command lines over this package's own files.\n",[3769,7478,7480,7482,7485,7487,7490,7492,7494,7497,7500,7502,7504],{"class":3771,"line":7479},177,[3769,7481,4206],{"class":4019},[3769,7483,7484],{"class":4023}," tour",[3769,7486,4028],{"class":4027},[3769,7488,7489],{"class":4414}," char8",[3769,7491,4034],{"class":4027},[3769,7493,4134],{"class":4044},[3769,7495,7496],{"class":4027},"][",[3769,7498,7499],{"class":4037},"7",[3769,7501,4041],{"class":4027},[3769,7503,4045],{"class":4044},[3769,7505,4048],{"class":4027},[3769,7507,7509,7512],{"class":3771,"line":7508},178,[3769,7510,7511],{"class":3779},"        \"-n ^func Src\u002FMain.rux\"",[3769,7513,4646],{"class":4027},[3769,7515,7517,7520],{"class":3771,"line":7516},179,[3769,7518,7519],{"class":3779},"        \"-c -i regex Src\u002FMain.rux Rux.toml\"",[3769,7521,4646],{"class":4027},[3769,7523,7525,7528,7532,7535],{"class":3771,"line":7524},180,[3769,7526,7527],{"class":3779},"        \"-v -c ^",[3769,7529,7531],{"class":7530},"snwq_","\\\\",[3769,7533,7534],{"class":3779},"s*\u002F\u002F Src\u002FMain.rux\"",[3769,7536,4646],{"class":4027},[3769,7538,7540,7543],{"class":3771,"line":7539},181,[3769,7541,7542],{"class":3779},"        \"-n (unclosed Src\u002FMain.rux\"",[3769,7544,4646],{"class":4027},[3769,7546,7548,7551],{"class":3771,"line":7547},182,[3769,7549,7550],{"class":3779},"        \"-x fn Src\u002FMain.rux\"",[3769,7552,4646],{"class":4027},[3769,7554,7556,7559],{"class":3771,"line":7555},183,[3769,7557,7558],{"class":3779},"        \"nothing Src\u002FMissing.rux\"",[3769,7560,4646],{"class":4027},[3769,7562,7564],{"class":3771,"line":7563},184,[3769,7565,7566],{"class":3779},"        \"--help\"\n",[3769,7568,7570],{"class":3771,"line":7569},185,[3769,7571,7197],{"class":4027},[3769,7573,7575,7577,7579,7581,7584],{"class":3771,"line":7574},186,[3769,7576,6285],{"class":4019},[3769,7578,5398],{"class":4023},[3769,7580,6291],{"class":4019},[3769,7582,7583],{"class":4023}," tour ",[3769,7585,4228],{"class":4027},[3769,7587,7589,7591,7593,7596,7598,7600],{"class":3771,"line":7588},187,[3769,7590,5758],{"class":4023},[3769,7592,4056],{"class":4027},[3769,7594,7595],{"class":3779},"\"$ grep {}\"",[3769,7597,4062],{"class":4027},[3769,7599,4611],{"class":4023},[3769,7601,4256],{"class":4027},[3769,7603,7605,7608,7611,7613,7615,7617,7620,7622,7624,7626,7628,7630,7632,7634,7636,7638,7640,7642],{"class":3771,"line":7604},188,[3769,7606,7607],{"class":4019},"        var",[3769,7609,7610],{"class":4023}," holder ",[3769,7612,4101],{"class":4044},[3769,7614,5051],{"class":4023},[3769,7616,4544],{"class":4044},[3769,7618,7619],{"class":4023},"FromText",[3769,7621,4056],{"class":4027},[3769,7623,4325],{"class":4023},[3769,7625,4062],{"class":4027},[3769,7627,4611],{"class":4023},[3769,7629,4222],{"class":4027},[3769,7631,4225],{"class":4023},[3769,7633,4277],{"class":4027},[3769,7635,4280],{"class":4019},[3769,7637,4283],{"class":4044},[3769,7639,4513],{"class":4019},[3769,7641,4297],{"class":4037},[3769,7643,4289],{"class":4027},[3769,7645,7647,7649,7651,7653,7655,7657,7660,7662,7664,7667,7669,7672,7675],{"class":3771,"line":7646},189,[3769,7648,7607],{"class":4019},[3769,7650,6696],{"class":4023},[3769,7652,4028],{"class":4027},[3769,7654,4466],{"class":4023},[3769,7656,4034],{"class":4027},[3769,7658,7659],{"class":4037},"8",[3769,7661,4041],{"class":4027},[3769,7663,4045],{"class":4044},[3769,7665,7666],{"class":4027}," [",[3769,7668,2804],{"class":4023},[3769,7670,7671],{"class":4027},"();",[3769,7673,7674],{"class":4037}," 8",[3769,7676,4091],{"class":4027},[3769,7678,7680,7682,7684,7686,7688,7690,7693,7695,7697,7699,7701,7703,7705],{"class":3771,"line":7679},190,[3769,7681,7339],{"class":4019},[3769,7683,6853],{"class":4023},[3769,7685,4101],{"class":4044},[3769,7687,6682],{"class":4023},[3769,7689,4056],{"class":4027},[3769,7691,7692],{"class":4023},"holder",[3769,7694,3752],{"class":4044},[3769,7696,4563],{"class":4023},[3769,7698,5381],{"class":4027},[3769,7700,6696],{"class":4023},[3769,7702,4034],{"class":4027},[3769,7704,4134],{"class":4044},[3769,7706,4154],{"class":4027},[3769,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730],{"class":3771,"line":7709},191,[3769,7711,6507],{"class":4019},[3769,7713,4936],{"class":4023},[3769,7715,4056],{"class":4027},[3769,7717,4219],{"class":4023},[3769,7719,4062],{"class":4027},[3769,7721,6696],{"class":4023},[3769,7723,4034],{"class":4027},[3769,7725,4134],{"class":4044},[3769,7727,6875],{"class":4023},[3769,7729,4137],{"class":4027},[3769,7731,4201],{"class":4027},[3769,7733,7735,7737,7739,7741,7743,7745,7747],{"class":3771,"line":7734},192,[3769,7736,6535],{"class":4044},[3769,7738,6183],{"class":4023},[3769,7740,4056],{"class":4027},[3769,7742,4449],{"class":4023},[3769,7744,4222],{"class":4027},[3769,7746,4283],{"class":4044},[3769,7748,4201],{"class":4027},[3769,7750,7752,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785],{"class":3771,"line":7751},193,[3769,7753,7754],{"class":4019},"                let",[3769,7756,6471],{"class":4023},[3769,7758,4101],{"class":4044},[3769,7760,4320],{"class":4023},[3769,7762,4056],{"class":4027},[3769,7764,4325],{"class":4023},[3769,7766,4062],{"class":4027},[3769,7768,4330],{"class":4023},[3769,7770,4062],{"class":4027},[3769,7772,4270],{"class":4023},[3769,7774,4222],{"class":4027},[3769,7776,4225],{"class":4023},[3769,7778,4277],{"class":4027},[3769,7780,4280],{"class":4019},[3769,7782,4283],{"class":4044},[3769,7784,4297],{"class":4037},[3769,7786,4289],{"class":4027},[3769,7788,7790,7792,7794,7797,7799,7801],{"class":3771,"line":7789},194,[3769,7791,5666],{"class":4023},[3769,7793,4056],{"class":4027},[3769,7795,7796],{"class":3779},"\"(exit status {})\"",[3769,7798,4062],{"class":4027},[3769,7800,6656],{"class":4023},[3769,7802,4256],{"class":4027},[3769,7804,7806],{"class":3771,"line":7805},195,[3769,7807,6587],{"class":4027},[3769,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,7829,7831,7833],{"class":3771,"line":7810},196,[3769,7812,6535],{"class":4044},[3769,7814,6206],{"class":4023},[3769,7816,4056],{"class":4027},[3769,7818,6211],{"class":4023},[3769,7820,4222],{"class":4027},[3769,7822,4283],{"class":4044},[3769,7824,5029],{"class":4023},[3769,7826,4056],{"class":4027},[3769,7828,4248],{"class":3779},[3769,7830,4062],{"class":4027},[3769,7832,4253],{"class":4023},[3769,7834,4086],{"class":4027},[3769,7836,7838],{"class":3771,"line":7837},197,[3769,7839,4305],{"class":4027},[3769,7841,7843],{"class":3771,"line":7842},198,[3769,7844,5712],{"class":4027},[3769,7846,7848,7850,7852],{"class":3771,"line":7847},199,[3769,7849,4317],{"class":4019},[3769,7851,5384],{"class":4037},[3769,7853,4300],{"class":4027},[3769,7855,7857],{"class":3771,"line":7856},200,[3769,7858,4354],{"class":4027},[3731,7860,7861,7862,7864,7865,7868,7869,3742,7871,3742,7873,3742,7875,3742,7877,3742,7879,3748,7881,7883,7884,3752],{},"Besides ",[3756,7863,2669],{},", its ",[3756,7866,7867],{},"Rux.toml"," lists ",[3756,7870,2205],{},[3756,7872,3417],{},[3756,7874,2739],{},[3756,7876,2794],{},[3756,7878,3125],{},[3756,7880,3370],{},[3756,7882,680],{}," under ",[3756,7885,7886],{},"[Dependencies]",[3808,7888,7890],{"id":7889},"run-it","Run it",[3760,7892,7894],{"className":3762,"code":7893,"language":3764,"meta":3765,"style":3765},"cd Examples\u002FProjects\u002FGrep\nrux run\n",[3756,7895,7896,7905],{"__ignoreMap":3765},[3769,7897,7898,7902],{"class":3771,"line":3772},[3769,7899,7901],{"class":7900},"s0rF6","cd",[3769,7903,7904],{"class":3779}," Examples\u002FProjects\u002FGrep\n",[3769,7906,7907,7909],{"class":3771,"line":3853},[3769,7908,3776],{"class":3775},[3769,7910,7911],{"class":3779}," run\n",[3760,7913,7917],{"className":7914,"code":7916,"language":6687},[7915],"language-text","$ grep -n ^func Src\u002FMain.rux\n38:func SearchFile(allocator: Allocator, regex: &Regex, path: OsStringView, show: Show)\n70:func Pattern(allocator: Allocator, parsed: &Parsed) -> String ! TextError {\n77:func Run(allocator: Allocator, parsed: &Parsed, screen: &var TextWriter) -> int ! FormatError {\n128:func Split(text: OsStringView, words: var OsStringView[..]) -> uint {\n144:func Main() -> int {\n(exit status 0)\n$ grep -c -i regex Src\u002FMain.rux Rux.toml\nSrc\u002FMain.rux:9\nRux.toml:1\n(exit status 0)\n$ grep -v -c ^\\s*\u002F\u002F Src\u002FMain.rux\n171\n(exit status 0)\n$ grep -n (unclosed Src\u002FMain.rux\ngrep: bad pattern '(unclosed' at byte 0\n(exit status 2)\n$ grep -x fn Src\u002FMain.rux\ngrep: unknown option '-x'\n$ grep nothing Src\u002FMissing.rux\ngrep: Src\u002FMissing.rux: cannot be read\n(exit status 2)\n$ grep --help\nPrint the lines of files that match a pattern\n\nUsage: grep [options] \u003Cpattern> [paths...]\n\nArguments:\n  \u003Cpattern>   The regular expression to look for\n  [paths...]  The files to search\n\nOptions:\n  -i, --ignore-case   Ignore the difference between upper and lower case\n  -n, --line-number   Put each line's number in front of it\n  -c, --count         Print only how many lines were selected\n  -v, --invert-match  Select the lines that do not match\n  -h, --help          Print this help\n(exit status 0)\n",[3756,7918,7916],{"__ignoreMap":3765},[3731,7920,7921,7922,7925,7926,3752],{},"Pass arguments after ",[3756,7923,7924],{},"--"," to search for real, for example ",[3756,7927,7928],{},"rux run -- -in \"name\" Rux.toml",[3731,7930,7931,7932,7934],{},"The tour searches the program's own source, so the line numbers and counts change whenever ",[3756,7933,4370],{}," does.",[3808,7936,7938],{"id":7937},"common-mistakes","Common mistakes",[7940,7941,7942,7964,7970],"mistake",{},[3731,7943,7944,7950,7953,7954,7956,7957,7960,7961,7963],{},[3734,7945,7946,7947,7949],{},"Returning a move-only value from a ",[3756,7948,1526],{}," arm.",[7951,7952],"br",{},"\nA compiled ",[3756,7955,3370],{}," owns memory. Writing ",[3756,7958,7959],{},".Success(compiled) => compiled"," in the ",[3756,7962,1526],{}," that builds it is refused:",[3760,7965,7968],{"className":7966,"code":7967,"language":6687,"meta":3765},[7915],"error: move-only value 'compiled' requires an explicit '\u003C-' in conditional-arm\n",[3756,7969,7967],{"__ignoreMap":3765},[3731,7971,7972,7973,3752],{},"Move it out with ",[3756,7974,7975],{},"\u003C-compiled",[7940,7977,7978],{},[3731,7979,7980,7983,7985,7986,7988,7989,7991],{},[3734,7981,7982],{},"Running from the wrong folder.",[7951,7984],{},"\nThe tour's paths are relative to the current folder. ",[3756,7987,4164],{}," starts the program in the package's folder; run the built executable from anywhere else and every search in the tour reports that ",[3756,7990,4370],{}," cannot be read.",[7940,7993,7994],{},[3731,7995,7996,7999,8001,8004,8005,8008,8009,8011,8012,8015,8016,3752],{},[3734,7997,7998],{},"Patterns the shell rewrites.",[7951,8000],{},[3756,8002,8003],{},"rux run -- ^func Src\u002F*.rux"," may have ",[3756,8006,8007],{},"*"," expanded by the shell before ",[3756,8010,3726],{}," sees it, and a pattern with spaces or ",[3756,8013,8014],{},"|"," must be quoted. Put the pattern in quotes: ",[3756,8017,8018],{},"rux run -- -n \"^func\" Src\u002FMain.rux",[3808,8020,8022],{"id":8021},"try-it-yourself","Try it yourself",[8024,8025,8026,8037,8048,8060],"ol",{},[8027,8028,8029,8030,8033,8034,8036],"li",{},"Run ",[3756,8031,8032],{},"rux run -- -i \"(unclosed\" Rux.toml",". The message shows the ",[3756,8035,3953],{}," the program added, and a byte offset four too far. Fix both.",[8027,8038,8039,8040,8043,8044,8047],{},"Add ",[3756,8041,8042],{},"-w",", which selects only whole-word matches. Hint: ",[3756,8045,8046],{},"\\b"," in a pattern matches at a word boundary.",[8027,8049,8050,8051,8053,8054,8056,8057,3752],{},"With no paths at all, the real ",[3756,8052,3726],{}," reads its standard input. Make yours do the same, with a ",[3756,8055,2687],{}," over ",[3756,8058,8059],{},"StandardIn::Acquire()",[8027,8061,8062,8063,3752],{},"Accept a directory as a path, and search every file in it with ",[3756,8064,8065],{},"ReadDirectory",[3808,8067,8069],{"id":8068},"learn-more","Learn more",[8071,8072,8073,8078,8083,8088,8096],"ul",{},[8027,8074,8075,8077],{},[3739,8076,3741],{"href":1272}," — the options, the help and the errors",[8027,8079,8080,8082],{},[3739,8081,3745],{"href":744}," — the pattern syntax, flags included",[8027,8084,8085,8087],{},[3739,8086,3751],{"href":995}," — why a file is read through a buffer",[8027,8089,8090,3748,8093],{},[3739,8091,8092],{"href":3371},"Regex API",[3739,8094,8095],{"href":3418},"CommandLine API",[8027,8097,8098,8100],{},[3739,8099,1291],{"href":1292}," — every checkpoint project in the course",[8102,8103,8104],"style",{},"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 .sXpww, html code.shiki .sXpww{--shiki-light:#40A02B;--shiki-default:#40A02B;--shiki-dark:#A6E3A1}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 .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 .sDi1i, html code.shiki .sDi1i{--shiki-light:#7C7F93;--shiki-default:#7C7F93;--shiki-dark:#9399B2}html pre.shiki code .snhBn, html code.shiki .snhBn{--shiki-light:#FE640B;--shiki-default:#FE640B;--shiki-dark:#FAB387}html pre.shiki code .sCFbw, html code.shiki .sCFbw{--shiki-light:#179299;--shiki-default:#179299;--shiki-dark:#94E2D5}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 .snwq_, html code.shiki .snwq_{--shiki-light:#EA76CB;--shiki-default:#EA76CB;--shiki-dark:#F5C2E7}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":3765,"searchDepth":3853,"depth":3853,"links":8106},[8107,8108,8109,8110,8111,8112,8113,8114,8115,8116,8117,8118],{"id":3810,"depth":3853,"text":3811},{"id":3837,"depth":3853,"text":3838},{"id":4000,"depth":3853,"text":4001},{"id":4157,"depth":3853,"text":4158},{"id":4377,"depth":3853,"text":4378},{"id":4579,"depth":3853,"text":4580},{"id":4735,"depth":3853,"text":4736},{"id":4787,"depth":3853,"text":4788},{"id":7889,"depth":3853,"text":7890},{"id":7937,"depth":3853,"text":7938},{"id":8021,"depth":3853,"text":8022},{"id":8068,"depth":3853,"text":8069},"Search files for lines that match a regular expression, like the Unix tool of the same name, with -i, -n, -c, -v and --help read by the CommandLine package and an exit status that says whether anything matched. Run with no arguments, it takes a tour of fixed command lines over its own source.","md",{"number":8122,"source":8123,"requires":8124},"27.17","Projects\u002FGrep",[8125,8126,8127,8128],"command-line","regex","file","buffered-io",{},{"title":1362},{"title":3718,"description":8119},"D6to_EkSYtK1ngJS1yhnZl7kMYp5zc1Y5O7FSCiGiVE",[8134,8136],{"title":1358,"path":1359,"stem":1360,"description":8135,"children":-1},"Play the opening of Ode to Joy through the console speaker by calling the Windows Beep function directly.",{"title":49,"path":1367,"stem":1368,"description":8137,"children":-1},"The complete reference for the Rux language as implemented by rux 0.4.0 — lexical structure, types, expressions, functions, data types, optionals, errors, ownership, interfaces, generics, modules, compile-time programming and FFI.",1792235722952]