[{"data":1,"prerenderedAt":830},["ShallowReactive",2],{"navigation":3,"api-navigation":184,"\u002Flearn\u002Fconcepts\u002Ftracing":206,"docyard:crossref-index":829},[4,8,155,174,180],{"title":5,"path":6,"stem":7},"Getting Started","\u002Fgetting-started","1.getting-started",{"title":9,"path":10,"stem":11,"children":12},"Learn","\u002Flearn","2.learn",[13,15,66,99,133],{"title":9,"path":10,"stem":14},"2.learn\u002Findex",{"title":16,"path":17,"stem":18,"children":19},"Tutorials","\u002Flearn\u002Ftutorials","2.learn\u002F1.tutorials\u002Findex",[20,21,26,30,34,38,42,46,50,54,58,62],{"title":16,"path":17,"stem":18},{"title":22,"path":23,"stem":24,"icon":25},"Why Laco?","\u002Flearn\u002Ftutorials\u002Fwhy-laco","2.learn\u002F1.tutorials\u002F01.why-laco","i-lucide-notebook",{"title":27,"path":28,"stem":29,"icon":25},"First Steps with Laco","\u002Flearn\u002Ftutorials\u002Ffirst-steps","2.learn\u002F1.tutorials\u002F02.first-steps",{"title":31,"path":32,"stem":33,"icon":25},"Lazy Call and Partial","\u002Flearn\u002Ftutorials\u002Flazy-call-and-partial","2.learn\u002F1.tutorials\u002F03.lazy-call-and-partial",{"title":35,"path":36,"stem":37,"icon":25},"Hyperparameters and Interpolation","\u002Flearn\u002Ftutorials\u002Fhyperparameters-and-interpolation","2.learn\u002F1.tutorials\u002F04.hyperparameters-and-interpolation",{"title":39,"path":40,"stem":41,"icon":25},"Loading, Saving, and the CLI","\u002Flearn\u002Ftutorials\u002Floading-saving-cli","2.learn\u002F1.tutorials\u002F05.loading-saving-cli",{"title":43,"path":44,"stem":45,"icon":25},"Nested Configs and Containers","\u002Flearn\u002Ftutorials\u002Fnested-configs-and-containers","2.learn\u002F1.tutorials\u002F06.nested-configs-and-containers",{"title":47,"path":48,"stem":49,"icon":25},"Typed Groups and Schemas","\u002Flearn\u002Ftutorials\u002Ftyped-groups-and-schemas","2.learn\u002F1.tutorials\u002F07.typed-groups-and-schemas",{"title":51,"path":52,"stem":53,"icon":25},"Pipeline Configs","\u002Flearn\u002Ftutorials\u002Fpipeline-configs","2.learn\u002F1.tutorials\u002F08.pipeline-configs",{"title":55,"path":56,"stem":57,"icon":25},"Tasks and the App Loop","\u002Flearn\u002Ftutorials\u002Ftasks-and-app-loop","2.learn\u002F1.tutorials\u002F09.tasks-and-app-loop",{"title":59,"path":60,"stem":61,"icon":25},"Tracing","\u002Flearn\u002Ftutorials\u002Ftracing","2.learn\u002F1.tutorials\u002F10.tracing",{"title":63,"path":64,"stem":65,"icon":25},"Production Patterns","\u002Flearn\u002Ftutorials\u002Fproduction-patterns","2.learn\u002F1.tutorials\u002F11.production-patterns",{"title":67,"path":68,"stem":69,"children":70},"Concepts","\u002Flearn\u002Fconcepts","2.learn\u002F2.concepts\u002Findex",[71,72,76,80,84,88,92,95],{"title":67,"path":68,"stem":69},{"title":73,"path":74,"stem":75},"Config as Python","\u002Flearn\u002Fconcepts\u002Fconfig-as-python","2.learn\u002F2.concepts\u002F1.config-as-python",{"title":77,"path":78,"stem":79},"Lazy Construction","\u002Flearn\u002Fconcepts\u002Flazy-construction","2.learn\u002F2.concepts\u002F2.lazy-construction",{"title":81,"path":82,"stem":83},"Lie-Typing","\u002Flearn\u002Fconcepts\u002Flie-typing","2.learn\u002F2.concepts\u002F3.lie-typing",{"title":85,"path":86,"stem":87},"Interpolation","\u002Flearn\u002Fconcepts\u002Finterpolation","2.learn\u002F2.concepts\u002F4.interpolation",{"title":89,"path":90,"stem":91},"Typed Groups","\u002Flearn\u002Fconcepts\u002Ftyped-groups","2.learn\u002F2.concepts\u002F5.typed-groups",{"title":59,"path":93,"stem":94},"\u002Flearn\u002Fconcepts\u002Ftracing","2.learn\u002F2.concepts\u002F6.tracing",{"title":96,"path":97,"stem":98},"App Loop","\u002Flearn\u002Fconcepts\u002Fapp-loop","2.learn\u002F2.concepts\u002F7.app-loop",{"title":100,"path":101,"stem":102,"children":103},"How-To Guides","\u002Flearn\u002Fhow-to","2.learn\u002F3.how-to\u002Findex",[104,105,109,113,117,121,125,129],{"title":100,"path":101,"stem":102},{"title":106,"path":107,"stem":108},"Override Configs","\u002Flearn\u002Fhow-to\u002Foverride-configs","2.learn\u002F3.how-to\u002F1.override-configs",{"title":110,"path":111,"stem":112},"Safe Loading","\u002Flearn\u002Fhow-to\u002Fsafe-loading","2.learn\u002F3.how-to\u002F2.safe-loading",{"title":114,"path":115,"stem":116},"Custom Resolvers","\u002Flearn\u002Fhow-to\u002Fcustom-resolvers","2.learn\u002F3.how-to\u002F3.custom-resolvers",{"title":118,"path":119,"stem":120},"Lint and Strict Mode","\u002Flearn\u002Fhow-to\u002Flint-and-strict","2.learn\u002F3.how-to\u002F4.lint-and-strict",{"title":122,"path":123,"stem":124},"Publishing a reproducible app with laco app","\u002Flearn\u002Fhow-to\u002Flaco-app","2.learn\u002F3.how-to\u002F5.laco-app",{"title":126,"path":127,"stem":128},"Reproduce an Experiment","\u002Flearn\u002Fhow-to\u002Freproduce-experiment","2.learn\u002F3.how-to\u002F6.reproduce-experiment",{"title":130,"path":131,"stem":132},"Migrate from argparse","\u002Flearn\u002Fhow-to\u002Fmigrate-from-argparse","2.learn\u002F3.how-to\u002F7.migrate-from-argparse",{"title":134,"path":135,"stem":136,"children":137},"Examples Curriculum","\u002Flearn\u002Fexamples","2.learn\u002F4.examples\u002Findex",[138,139,143,147,151],{"title":134,"path":135,"stem":136},{"title":140,"path":141,"stem":142},"Foundation Examples","\u002Flearn\u002Fexamples\u002Ffoundations","2.learn\u002F4.examples\u002F1.foundations",{"title":144,"path":145,"stem":146},"Building Blocks","\u002Flearn\u002Fexamples\u002Fbuilding-blocks","2.learn\u002F4.examples\u002F2.building-blocks",{"title":148,"path":149,"stem":150},"Typed-Group Variants","\u002Flearn\u002Fexamples\u002Ftyped-variants","2.learn\u002F4.examples\u002F3.typed-variants",{"title":152,"path":153,"stem":154},"End-to-End Pipelines","\u002Flearn\u002Fexamples\u002Fpipelines","2.learn\u002F4.examples\u002F4.pipelines",{"title":156,"path":157,"stem":158,"children":159},"Resources","\u002Fresources","3.resources",[160,162,166,170],{"title":156,"path":157,"stem":161},"3.resources\u002Findex",{"title":163,"path":164,"stem":165},"Integrations","\u002Fresources\u002Fintegrations","3.resources\u002F1.integrations",{"title":167,"path":168,"stem":169},"Migration guide: Laco 0.x → 1.0","\u002Fresources\u002Fmigration-0.x-to-1.0","3.resources\u002F2.migration-0.x-to-1.0",{"title":171,"path":172,"stem":173},"Laco vs hydra-zen","\u002Fresources\u002Flaco-vs-hydra-zen","3.resources\u002F3.laco-vs-hydra-zen",{"title":175,"path":176,"stem":177,"children":178},"API Reference","\u002Fapi","4.api\u002Findex",[179],{"title":175,"path":176,"stem":177},{"title":181,"path":182,"stem":183},"Lazy Configuration for Python","\u002F","index",[185,188,191,194,197,200,203],{"title":186,"path":187},"cli","\u002Fapi\u002Fcli",{"title":189,"path":190},"compat","\u002Fapi\u002Fcompat",{"title":192,"path":193},"handler","\u002Fapi\u002Fhandler",{"title":195,"path":196},"keys","\u002Fapi\u002Fkeys",{"title":198,"path":199},"language","\u002Fapi\u002Flanguage",{"title":201,"path":202},"ops","\u002Fapi\u002Fops",{"title":204,"path":205},"utils","\u002Fapi\u002Futils",{"id":207,"title":59,"body":208,"description":263,"extension":825,"meta":826,"navigation":629,"path":93,"seo":827,"stem":94,"__hash__":828},"content\u002F2.learn\u002F2.concepts\u002F6.tracing.md",{"type":209,"value":210,"toc":814},"minimark",[211,215,235,240,248,254,257,365,375,387,393,453,475,479,485,561,565,571,669,678,682,716,734,738,745,751,810],[212,213,59],"h1",{"id":214},"tracing",[216,217,218],"blockquote",{},[219,220,221,225,226,229,225,232],"p",{},[222,223,224],"strong",{},"Tutorial:"," ",[227,228,59],"a",{"href":60},[222,230,231],{},"See also:",[227,233,234],{"href":176},"API: language",[236,237,239],"h2",{"id":238},"motivation","Motivation",[219,241,242,243,247],{},"Writing config files as explicit ",[244,245,246],"code",{},"L.call"," trees is safe and composable, but\nit means maintaining two parallel representations: the training code and the\nconfig. Tracing lets you write the training code directly and derive the config\nfrom it automatically.",[236,249,251],{"id":250},"lconfigurable",[244,252,253],{},"@L.configurable",[219,255,256],{},"Mark a function or class as traceable:",[258,259,264],"pre",{"className":260,"code":261,"language":262,"meta":263,"style":263},"language-python shiki shiki-themes material-theme-lighter github-light github-dark","@L.configurable\ndef build_model(in_features: int, out_features: int) -> nn.Module:\n    return nn.Linear(in_features, out_features)\n","python","",[244,265,266,285,339],{"__ignoreMap":263},[267,268,271,275,279,282],"span",{"class":269,"line":270},"line",1,[267,272,274],{"class":273},"stp6e","@",[267,276,278],{"class":277},"sGLFI","L",[267,280,281],{"class":273},".",[267,283,284],{"class":277},"configurable\n",[267,286,288,292,295,299,303,306,310,313,316,318,320,323,326,330,332,336],{"class":269,"line":287},2,[267,289,291],{"class":290},"sbsja","def",[267,293,294],{"class":277}," build_model",[267,296,298],{"class":297},"sP7_E","(",[267,300,302],{"class":301},"sFwrP","in_features",[267,304,305],{"class":297},":",[267,307,309],{"class":308},"sZMiF"," int",[267,311,312],{"class":297},",",[267,314,315],{"class":301}," out_features",[267,317,305],{"class":297},[267,319,309],{"class":308},[267,321,322],{"class":297},")",[267,324,325],{"class":297}," ->",[267,327,329],{"class":328},"su5hD"," nn",[267,331,281],{"class":297},[267,333,335],{"class":334},"skxfh","Module",[267,337,338],{"class":297},":\n",[267,340,342,346,348,350,354,356,358,360,362],{"class":269,"line":341},3,[267,343,345],{"class":344},"sVHd0","    return",[267,347,329],{"class":328},[267,349,281],{"class":297},[267,351,353],{"class":352},"slqww","Linear",[267,355,298],{"class":297},[267,357,302],{"class":352},[267,359,312],{"class":297},[267,361,315],{"class":352},[267,363,364],{"class":297},")\n",[219,366,367,368,371,372,281],{},"Outside a trace, ",[244,369,370],{},"build_model(784, 10)"," behaves normally: it builds and\nreturns an ",[244,373,374],{},"nn.Module",[219,376,377,378,382,383,386],{},"Inside a trace, the call is ",[379,380,381],"em",{},"recorded"," rather than executed. The function body\ndoes not run; instead a ",[244,384,385],{},"L.call(build_model)(in_features=784, out_features=10)","\nnode is produced.",[236,388,390],{"id":389},"ltrace",[244,391,392],{},"L.trace",[258,394,396],{"className":260,"code":395,"language":262,"meta":263,"style":263},"cfg = L.trace(lambda: build_model(in_features=784, out_features=10))\n# cfg is a DictConfig, not an nn.Module\n",[244,397,398,447],{"__ignoreMap":263},[267,399,400,403,407,410,412,415,417,420,422,424,426,429,431,435,437,439,441,444],{"class":269,"line":270},[267,401,402],{"class":328},"cfg ",[267,404,406],{"class":405},"smGrS","=",[267,408,409],{"class":328}," L",[267,411,281],{"class":297},[267,413,414],{"class":352},"trace",[267,416,298],{"class":297},[267,418,419],{"class":290},"lambda",[267,421,305],{"class":297},[267,423,294],{"class":352},[267,425,298],{"class":297},[267,427,302],{"class":428},"s99_P",[267,430,406],{"class":405},[267,432,434],{"class":433},"srdBf","784",[267,436,312],{"class":297},[267,438,315],{"class":428},[267,440,406],{"class":405},[267,442,443],{"class":433},"10",[267,445,446],{"class":297},"))\n",[267,448,449],{"class":269,"line":287},[267,450,452],{"class":451},"sutJx","# cfg is a DictConfig, not an nn.Module\n",[219,454,455,458,459,462,463,466,467,470,471,474],{},[244,456,457],{},"L.trace(thunk)"," activates the ",[244,460,461],{},"_TRACING"," ContextVar for the duration of\nthe ",[244,464,465],{},"thunk",", then deactivates it via ",[244,468,469],{},"try\u002Ffinally"," (so exceptions don't leave\ntracing active). The return value is the root ",[244,472,473],{},"DictConfig"," of the recorded\ncall graph.",[236,476,478],{"id":477},"argument-tiers","Argument Tiers",[219,480,481,482,484],{},"Arguments passed to a ",[244,483,253],{}," function inside a trace are classified:",[486,487,488,504],"table",{},[489,490,491],"thead",{},[492,493,494,498,501],"tr",{},[495,496,497],"th",{},"Tier",[495,499,500],{},"Type",[495,502,503],{},"Behavior",[505,506,507,520,547],"tbody",{},[492,508,509,513,517],{},[510,511,512],"td",{},"1",[510,514,515],{},[244,516,473],{},[510,518,519],{},"Spliced in as a sub-node",[492,521,522,525,544],{},[510,523,524],{},"2",[510,526,527,528,531,532,531,535,531,538,531,541,322],{},"Primitive (",[244,529,530],{},"int",", ",[244,533,534],{},"float",[244,536,537],{},"str",[244,539,540],{},"bool",[244,542,543],{},"None",[510,545,546],{},"Kept as-is",[492,548,549,552,555],{},[510,550,551],{},"3",[510,553,554],{},"Other",[510,556,557,560],{},[244,558,559],{},"TypeError",": non-serializable argument inside trace",[236,562,564],{"id":563},"positional-named-binding","Positional → Named Binding",[219,566,567,568,305],{},"Positional arguments are converted to named arguments using ",[244,569,570],{},"inspect.Signature",[258,572,574],{"className":260,"code":573,"language":262,"meta":263,"style":263},"@L.configurable\ndef build(in_features: int, out_features: int) -> nn.Module: ...\n\ncfg = L.trace(lambda: build(784, 10))\n# equivalent to: L.call(build)(in_features=784, out_features=10)\n",[244,575,576,586,625,631,663],{"__ignoreMap":263},[267,577,578,580,582,584],{"class":269,"line":270},[267,579,274],{"class":273},[267,581,278],{"class":277},[267,583,281],{"class":273},[267,585,284],{"class":277},[267,587,588,590,593,595,597,599,601,603,605,607,609,611,613,615,617,619,621],{"class":269,"line":287},[267,589,291],{"class":290},[267,591,592],{"class":277}," build",[267,594,298],{"class":297},[267,596,302],{"class":301},[267,598,305],{"class":297},[267,600,309],{"class":308},[267,602,312],{"class":297},[267,604,315],{"class":301},[267,606,305],{"class":297},[267,608,309],{"class":308},[267,610,322],{"class":297},[267,612,325],{"class":297},[267,614,329],{"class":328},[267,616,281],{"class":297},[267,618,335],{"class":334},[267,620,305],{"class":297},[267,622,624],{"class":623},"s_hVV"," ...\n",[267,626,627],{"class":269,"line":341},[267,628,630],{"emptyLinePlaceholder":629},true,"\n",[267,632,634,636,638,640,642,644,646,648,650,652,654,656,658,661],{"class":269,"line":633},4,[267,635,402],{"class":328},[267,637,406],{"class":405},[267,639,409],{"class":328},[267,641,281],{"class":297},[267,643,414],{"class":352},[267,645,298],{"class":297},[267,647,419],{"class":290},[267,649,305],{"class":297},[267,651,592],{"class":352},[267,653,298],{"class":297},[267,655,434],{"class":433},[267,657,312],{"class":297},[267,659,660],{"class":433}," 10",[267,662,446],{"class":297},[267,664,666],{"class":269,"line":665},5,[267,667,668],{"class":451},"# equivalent to: L.call(build)(in_features=784, out_features=10)\n",[219,670,671,674,675,677],{},[244,672,673],{},"*args"," (VAR_POSITIONAL) raises ",[244,676,559],{}," inside a trace: variadic\npositionals cannot be represented in a keyed config node.",[236,679,681],{"id":680},"strict-mode","Strict Mode",[258,683,685],{"className":260,"code":684,"language":262,"meta":263,"style":263},"cfg = L.trace(thunk, strict=True)\n",[244,686,687],{"__ignoreMap":263},[267,688,689,691,693,695,697,699,701,703,705,708,710,714],{"class":269,"line":270},[267,690,402],{"class":328},[267,692,406],{"class":405},[267,694,409],{"class":328},[267,696,281],{"class":297},[267,698,414],{"class":352},[267,700,298],{"class":297},[267,702,465],{"class":352},[267,704,312],{"class":297},[267,706,707],{"class":428}," strict",[267,709,406],{"class":405},[267,711,713],{"class":712},"s39Yj","True",[267,715,364],{"class":297},[219,717,718,721,722,724,725,727,728,731,732,281],{},[244,719,720],{},"strict=True"," (default) raises ",[244,723,559],{}," if the root of the trace does not\nproduce a ",[244,726,473],{},". Use ",[244,729,730],{},"strict=False"," to fall back to the executed value\nwhen the thunk's root call is not ",[244,733,253],{},[236,735,737],{"id":736},"purity-requirement","Purity Requirement",[219,739,740,741,744],{},"The thunk body should be ",[379,742,743],{},"pure"," (no side effects): it will run only once\nand its side effects will be skipped inside the trace. In particular, avoid\nlogging, file I\u002FO, or random number generation inside a thunk.",[236,746,748,749],{"id":747},"when-to-use-tracing-vs-explicit-lcall","When to Use Tracing vs Explicit ",[244,750,246],{},[486,752,753,763],{},[489,754,755],{},[492,756,757,760],{},[495,758,759],{},"Situation",[495,761,762],{},"Recommendation",[505,764,765,775,784,800],{},[492,766,767,770],{},[510,768,769],{},"Config file with fixed targets",[510,771,772,774],{},[244,773,246],{},", explicit, zero overhead",[492,776,777,780],{},[510,778,779],{},"Code-first workflow; config derived from existing functions",[510,781,782],{},[244,783,392],{},[492,785,786,792],{},[510,787,788,789],{},"Need typed groups or ",[244,790,791],{},"L.Defaults",[510,793,794,796,797],{},[244,795,246],{}," + ",[244,798,799],{},"L.Group",[492,801,802,805],{},[510,803,804],{},"Wrapping a third-party function you can't decorate",[510,806,807,809],{},[244,808,246],{}," with the function as target",[811,812,813],"style",{},"html pre.shiki code .stp6e, html code.shiki .stp6e{--shiki-light:#39ADB5;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sFwrP, html code.shiki .sFwrP{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#24292E;--shiki-default-font-style:inherit;--shiki-dark:#E1E4E8;--shiki-dark-font-style:inherit}html pre.shiki code .sZMiF, html code.shiki .sZMiF{--shiki-light:#E2931D;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .skxfh, html code.shiki .skxfh{--shiki-light:#E53935;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .slqww, html code.shiki .slqww{--shiki-light:#6182B8;--shiki-default:#24292E;--shiki-dark:#E1E4E8}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 .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s99_P, html code.shiki .s99_P{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#E36209;--shiki-default-font-style:inherit;--shiki-dark:#FFAB70;--shiki-dark-font-style:inherit}html pre.shiki code .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html pre.shiki code .s_hVV, html code.shiki .s_hVV{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s39Yj, html code.shiki .s39Yj{--shiki-light:#39ADB5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":263,"searchDepth":341,"depth":341,"links":815},[816,817,818,819,820,821,822,823],{"id":238,"depth":287,"text":239},{"id":250,"depth":287,"text":253},{"id":389,"depth":287,"text":392},{"id":477,"depth":287,"text":478},{"id":563,"depth":287,"text":564},{"id":680,"depth":287,"text":681},{"id":736,"depth":287,"text":737},{"id":747,"depth":287,"text":824},"When to Use Tracing vs Explicit L.call","md",{},{"title":59,"description":263},"F-_UsfTotPVn6V78SW0tsaktBYsUZi0H0v7xenVPVtc",{},1785687300737]