[{"data":1,"prerenderedAt":10104},["ShallowReactive",2],{"docs-nav":3,"doc-\u002Fdocs\u002Fplugins":79,"content-query-UaFne8HZP4":5456},[4,10,15,19,23,28,34,38,43,47,52,57,61,66,70,74],{"_path":5,"title":6,"description":7,"order":8,"category":9},"\u002Fdocs\u002Fapi-reference","API Reference","Overview of the Vaultaris REST API — endpoints, authentication, response conventions, and rate limiting.",1,"Reference",{"_path":11,"title":12,"description":13,"order":14,"category":9},"\u002Fdocs\u002Farchitecture","Architecture","System design overview — components, request lifecycle, background workers, and data flow in Vaultaris.",4,{"_path":16,"title":17,"description":18,"order":8,"category":17},"\u002Fdocs\u002Fconcepts","Core Concepts","Understand the building blocks of Vaultaris — tenants, users, roles, groups, applications, sessions, and the security primitives that connect them.",{"_path":20,"title":21,"description":22,"order":8,"category":21},"\u002Fdocs\u002Fconfiguration","Configuration","Complete reference for all Vaultaris environment variables.",{"_path":24,"title":25,"description":26,"order":8,"category":27},"\u002Fdocs\u002Fdeployment","Deployment Guide","Deploy Vaultaris to production using Docker Compose, bare metal, or a managed container platform.","Deployment",{"_path":29,"title":30,"description":31,"order":32,"category":33},"\u002Fdocs\u002Finstallation","Installation","Install Vaultaris using Docker, a pre-built binary, or by compiling from source.",3,"Getting Started",{"_path":35,"title":36,"description":37,"order":8,"category":33},"\u002Fdocs\u002Fintroduction","Introduction","Vaultaris is an open-source, enterprise-grade Identity and Access Management platform written in Rust — a self-hostable alternative to Keycloak and Auth0.",{"_path":39,"title":40,"description":41,"order":42,"category":27},"\u002Fdocs\u002Fkubernetes","Kubernetes","Deploy Vaultaris on Kubernetes using the official Helm chart or plain manifests.",2,{"_path":44,"title":45,"description":46,"order":42,"category":17},"\u002Fdocs\u002Fmulti-tenancy","Multi-Tenancy","How Vaultaris isolates organizations, supports SaaS use cases, and manages license-driven resource freezing.",{"_path":48,"title":49,"description":50,"order":8,"category":51},"\u002Fdocs\u002Foauth-oidc","OAuth 2.0 & OpenID Connect","How to integrate Vaultaris as an authorization server — authorization code, client credentials, password flows, DPoP sender-constrained tokens, and hosted login.","Authentication & Authorization",{"_path":53,"title":54,"description":55,"order":8,"category":56},"\u002Fdocs\u002Fplugins","Plugin Development","Extend Vaultaris with type-safe native Rust plugins.","Plugins",{"_path":58,"title":59,"description":60,"order":42,"category":33},"\u002Fdocs\u002Fquickstart","Quickstart","Run Vaultaris locally in under five minutes using Docker Compose.",{"_path":62,"title":63,"description":64,"order":42,"category":65},"\u002Fdocs\u002Fsdk-nodejs","Node.js SDK","Use the vaultaris-sdk package to integrate Vaultaris into your Node.js or TypeScript applications. Includes transparent DPoP support.","SDKs",{"_path":67,"title":68,"description":69,"order":8,"category":65},"\u002Fdocs\u002Fsdk-rust","Rust SDK","Use the vaultaris-sdk crate to interact with Vaultaris from your Rust applications. Includes transparent DPoP support.",{"_path":71,"title":72,"description":73,"order":32,"category":9},"\u002Fdocs\u002Fsecurity","Security","Security architecture, cryptographic choices, and hardening recommendations for Vaultaris.",{"_path":75,"title":76,"description":77,"order":78,"category":51},"\u002Fdocs\u002Fwebauthn","WebAuthn \u002F Passkeys \u002F FIDO2","Complete guide to integrating WebAuthn passwordless authentication and passkeys with Vaultaris.",5,{"_path":53,"_dir":80,"_draft":81,"_partial":81,"_locale":82,"title":54,"description":55,"order":8,"category":56,"body":83,"_type":5450,"_id":5451,"_source":5452,"_file":5453,"_stem":5454,"_extension":5455},"docs",false,"",{"type":84,"children":85,"toc":5430},"root",[86,94,219,226,324,1073,1122,1135,1610,1663,1781,1787,1792,1831,1836,2204,2210,2227,2512,2517,2564,2570,2597,2677,2688,2933,2954,2960,2997,3008,3014,3077,3098,3104,3188,3209,3215,3220,3366,3383,3389,3463,3483,3677,3684,3728,3991,4018,4024,4065,4166,4171,4177,4190,4277,4304,4309,4317,4345,4351,4375,4557,4569,4584,4688,5313,5325,5361,5373,5379,5424],{"type":87,"tag":88,"props":89,"children":90},"element","p",{},[91],{"type":92,"value":93},"text","Vaultaris plugins are native Rust dynamic libraries that extend the platform\nwithout forking it. The plugin system is built on three pillars:",{"type":87,"tag":95,"props":96,"children":97},"ol",{},[98,142,181],{"type":87,"tag":99,"props":100,"children":101},"li",{},[102,108,110,117,119,125,126,132,134,140],{"type":87,"tag":103,"props":104,"children":105},"strong",{},[106],{"type":92,"value":107},"Category-specific traits",{"type":92,"value":109}," — there is one trait per extension point\n(",{"type":87,"tag":111,"props":112,"children":114},"code",{"className":113},[],[115],{"type":92,"value":116},"AuthProvider",{"type":92,"value":118},", ",{"type":87,"tag":111,"props":120,"children":122},{"className":121},[],[123],{"type":92,"value":124},"NotificationChannel",{"type":92,"value":118},{"type":87,"tag":111,"props":127,"children":129},{"className":128},[],[130],{"type":92,"value":131},"StorageBackend",{"type":92,"value":133},", …) so plugins\nnever see weakly-typed ",{"type":87,"tag":111,"props":135,"children":137},{"className":136},[],[138],{"type":92,"value":139},"serde_json::Value",{"type":92,"value":141}," payloads.",{"type":87,"tag":99,"props":143,"children":144},{},[145,163,165,171,173,179],{"type":87,"tag":103,"props":146,"children":147},{},[148,150],{"type":92,"value":149},"ABI stability via ",{"type":87,"tag":151,"props":152,"children":156},"a",{"href":153,"rel":154},"https:\u002F\u002Fcrates.io\u002Fcrates\u002Fstabby",[155],"nofollow",[157],{"type":87,"tag":111,"props":158,"children":160},{"className":159},[],[161],{"type":92,"value":162},"stabby",{"type":92,"value":164}," — every\ntrait is rewritten by ",{"type":87,"tag":111,"props":166,"children":168},{"className":167},[],[169],{"type":92,"value":170},"#[plugin_trait]",{"type":92,"value":172}," into an ",{"type":87,"tag":111,"props":174,"children":176},{"className":175},[],[177],{"type":92,"value":178},"extern \"C\"",{"type":92,"value":180},",\nstabby-annotated companion trait so plugin and host can be compiled with\ndifferent toolchains and still link safely.",{"type":87,"tag":99,"props":182,"children":183},{},[184,197,199,209,211,217],{"type":87,"tag":103,"props":185,"children":186},{},[187,189,195],{"type":92,"value":188},"TOML manifests + ",{"type":87,"tag":111,"props":190,"children":192},{"className":191},[],[193],{"type":92,"value":194},"build.rs",{"type":92,"value":196}," discovery",{"type":92,"value":198}," — every plugin ships a\n",{"type":87,"tag":151,"props":200,"children":202},{"href":201},"#manifest-format",[203],{"type":87,"tag":111,"props":204,"children":206},{"className":205},[],[207],{"type":92,"value":208},"plugin.toml",{"type":92,"value":210}," file. The host's build script reads a\nworkspace-level ",{"type":87,"tag":111,"props":212,"children":214},{"className":213},[],[215],{"type":92,"value":216},"vaultaris.plugins.toml",{"type":92,"value":218}," index that points to each plugin\ncrate; the file is validated and embedded into the host binary so the\nloader never has to scan a directory.",{"type":87,"tag":220,"props":221,"children":223},"h2",{"id":222},"quick-start",[224],{"type":92,"value":225},"Quick start",{"type":87,"tag":227,"props":228,"children":232},"pre",{"code":229,"language":230,"meta":82,"className":231,"style":82},"# Cargo.toml\n[lib]\ncrate-type = [\"cdylib\"]\n\n[dependencies]\nvaultaris-plugin-sdk = \"0.2\"\n","toml","language-toml shiki shiki-themes github-dark-dimmed github-light",[233],{"type":87,"tag":111,"props":234,"children":235},{"__ignoreMap":82},[236,247,267,285,294,310],{"type":87,"tag":237,"props":238,"children":240},"span",{"class":239,"line":8},"line",[241],{"type":87,"tag":237,"props":242,"children":244},{"style":243},"--shiki-default:#768390;--shiki-light:#6A737D",[245],{"type":92,"value":246},"# Cargo.toml\n",{"type":87,"tag":237,"props":248,"children":249},{"class":239,"line":42},[250,256,262],{"type":87,"tag":237,"props":251,"children":253},{"style":252},"--shiki-default:#ADBAC7;--shiki-light:#24292E",[254],{"type":92,"value":255},"[",{"type":87,"tag":237,"props":257,"children":259},{"style":258},"--shiki-default:#F69D50;--shiki-light:#6F42C1",[260],{"type":92,"value":261},"lib",{"type":87,"tag":237,"props":263,"children":264},{"style":252},[265],{"type":92,"value":266},"]\n",{"type":87,"tag":237,"props":268,"children":269},{"class":239,"line":32},[270,275,281],{"type":87,"tag":237,"props":271,"children":272},{"style":252},[273],{"type":92,"value":274},"crate-type = [",{"type":87,"tag":237,"props":276,"children":278},{"style":277},"--shiki-default:#96D0FF;--shiki-light:#032F62",[279],{"type":92,"value":280},"\"cdylib\"",{"type":87,"tag":237,"props":282,"children":283},{"style":252},[284],{"type":92,"value":266},{"type":87,"tag":237,"props":286,"children":287},{"class":239,"line":14},[288],{"type":87,"tag":237,"props":289,"children":291},{"emptyLinePlaceholder":290},true,[292],{"type":92,"value":293},"\n",{"type":87,"tag":237,"props":295,"children":296},{"class":239,"line":78},[297,301,306],{"type":87,"tag":237,"props":298,"children":299},{"style":252},[300],{"type":92,"value":255},{"type":87,"tag":237,"props":302,"children":303},{"style":258},[304],{"type":92,"value":305},"dependencies",{"type":87,"tag":237,"props":307,"children":308},{"style":252},[309],{"type":92,"value":266},{"type":87,"tag":237,"props":311,"children":313},{"class":239,"line":312},6,[314,319],{"type":87,"tag":237,"props":315,"children":316},{"style":252},[317],{"type":92,"value":318},"vaultaris-plugin-sdk = ",{"type":87,"tag":237,"props":320,"children":321},{"style":277},[322],{"type":92,"value":323},"\"0.2\"\n",{"type":87,"tag":227,"props":325,"children":329},{"code":326,"language":327,"meta":82,"className":328,"style":82},"\u002F\u002F src\u002Flib.rs\nuse vaultaris_plugin_sdk::prelude::*;\n\n#[derive(Default)]\npub struct TwilioSmsChannel;\n\nimpl NotificationChannel for TwilioSmsChannel {\n    fn channel_id(&self) -> stabby::string::String { \"twilio-sms\".into() }\n\n    fn supports(&self, kind: NotificationKind) -> bool {\n        matches!(kind, NotificationKind::Sms)\n    }\n\n    fn send(\n        &self,\n        _ctx: RequestContext,\n        notification: Notification,\n    ) -> impl core::future::Future\u003C\n        Output = stabby::abi::Result\u003Cstabby::string::String, PluginError>,\n    > + Send + Sync {\n        async move {\n            \u002F\u002F call Twilio…\n            stabby::abi::Result::Ok(notification.recipient.clone())\n        }\n    }\n}\n\nvaultaris_plugin_sdk::plugin_export! {\n    NotificationChannel => [TwilioSmsChannel],\n}\n","rust","language-rust shiki shiki-themes github-dark-dimmed github-light",[330],{"type":87,"tag":111,"props":331,"children":332},{"__ignoreMap":82},[333,341,375,382,400,422,429,457,546,554,611,644,653,661,679,697,719,741,787,858,891,909,918,980,989,997,1006,1014,1036,1065],{"type":87,"tag":237,"props":334,"children":335},{"class":239,"line":8},[336],{"type":87,"tag":237,"props":337,"children":338},{"style":243},[339],{"type":92,"value":340},"\u002F\u002F src\u002Flib.rs\n",{"type":87,"tag":237,"props":342,"children":343},{"class":239,"line":42},[344,350,355,360,365,370],{"type":87,"tag":237,"props":345,"children":347},{"style":346},"--shiki-default:#F47067;--shiki-light:#D73A49",[348],{"type":92,"value":349},"use",{"type":87,"tag":237,"props":351,"children":352},{"style":258},[353],{"type":92,"value":354}," vaultaris_plugin_sdk",{"type":87,"tag":237,"props":356,"children":357},{"style":346},[358],{"type":92,"value":359},"::",{"type":87,"tag":237,"props":361,"children":362},{"style":258},[363],{"type":92,"value":364},"prelude",{"type":87,"tag":237,"props":366,"children":367},{"style":346},[368],{"type":92,"value":369},"::*",{"type":87,"tag":237,"props":371,"children":372},{"style":252},[373],{"type":92,"value":374},";\n",{"type":87,"tag":237,"props":376,"children":377},{"class":239,"line":32},[378],{"type":87,"tag":237,"props":379,"children":380},{"emptyLinePlaceholder":290},[381],{"type":92,"value":293},{"type":87,"tag":237,"props":383,"children":384},{"class":239,"line":14},[385,390,395],{"type":87,"tag":237,"props":386,"children":387},{"style":252},[388],{"type":92,"value":389},"#[derive(",{"type":87,"tag":237,"props":391,"children":392},{"style":258},[393],{"type":92,"value":394},"Default",{"type":87,"tag":237,"props":396,"children":397},{"style":252},[398],{"type":92,"value":399},")]\n",{"type":87,"tag":237,"props":401,"children":402},{"class":239,"line":78},[403,408,413,418],{"type":87,"tag":237,"props":404,"children":405},{"style":346},[406],{"type":92,"value":407},"pub",{"type":87,"tag":237,"props":409,"children":410},{"style":346},[411],{"type":92,"value":412}," struct",{"type":87,"tag":237,"props":414,"children":415},{"style":258},[416],{"type":92,"value":417}," TwilioSmsChannel",{"type":87,"tag":237,"props":419,"children":420},{"style":252},[421],{"type":92,"value":374},{"type":87,"tag":237,"props":423,"children":424},{"class":239,"line":312},[425],{"type":87,"tag":237,"props":426,"children":427},{"emptyLinePlaceholder":290},[428],{"type":92,"value":293},{"type":87,"tag":237,"props":430,"children":432},{"class":239,"line":431},7,[433,438,443,448,452],{"type":87,"tag":237,"props":434,"children":435},{"style":346},[436],{"type":92,"value":437},"impl",{"type":87,"tag":237,"props":439,"children":440},{"style":258},[441],{"type":92,"value":442}," NotificationChannel",{"type":87,"tag":237,"props":444,"children":445},{"style":346},[446],{"type":92,"value":447}," for",{"type":87,"tag":237,"props":449,"children":450},{"style":258},[451],{"type":92,"value":417},{"type":87,"tag":237,"props":453,"children":454},{"style":252},[455],{"type":92,"value":456}," {\n",{"type":87,"tag":237,"props":458,"children":460},{"class":239,"line":459},8,[461,466,472,477,482,488,493,498,503,507,512,516,521,526,531,536,541],{"type":87,"tag":237,"props":462,"children":463},{"style":346},[464],{"type":92,"value":465},"    fn",{"type":87,"tag":237,"props":467,"children":469},{"style":468},"--shiki-default:#DCBDFB;--shiki-light:#6F42C1",[470],{"type":92,"value":471}," channel_id",{"type":87,"tag":237,"props":473,"children":474},{"style":252},[475],{"type":92,"value":476},"(",{"type":87,"tag":237,"props":478,"children":479},{"style":346},[480],{"type":92,"value":481},"&",{"type":87,"tag":237,"props":483,"children":485},{"style":484},"--shiki-default:#6CB6FF;--shiki-light:#005CC5",[486],{"type":92,"value":487},"self",{"type":87,"tag":237,"props":489,"children":490},{"style":252},[491],{"type":92,"value":492},") ",{"type":87,"tag":237,"props":494,"children":495},{"style":346},[496],{"type":92,"value":497},"->",{"type":87,"tag":237,"props":499,"children":500},{"style":258},[501],{"type":92,"value":502}," stabby",{"type":87,"tag":237,"props":504,"children":505},{"style":346},[506],{"type":92,"value":359},{"type":87,"tag":237,"props":508,"children":509},{"style":258},[510],{"type":92,"value":511},"string",{"type":87,"tag":237,"props":513,"children":514},{"style":346},[515],{"type":92,"value":359},{"type":87,"tag":237,"props":517,"children":518},{"style":258},[519],{"type":92,"value":520},"String",{"type":87,"tag":237,"props":522,"children":523},{"style":252},[524],{"type":92,"value":525}," { ",{"type":87,"tag":237,"props":527,"children":528},{"style":277},[529],{"type":92,"value":530},"\"twilio-sms\"",{"type":87,"tag":237,"props":532,"children":533},{"style":346},[534],{"type":92,"value":535},".",{"type":87,"tag":237,"props":537,"children":538},{"style":468},[539],{"type":92,"value":540},"into",{"type":87,"tag":237,"props":542,"children":543},{"style":252},[544],{"type":92,"value":545},"() }\n",{"type":87,"tag":237,"props":547,"children":549},{"class":239,"line":548},9,[550],{"type":87,"tag":237,"props":551,"children":552},{"emptyLinePlaceholder":290},[553],{"type":92,"value":293},{"type":87,"tag":237,"props":555,"children":557},{"class":239,"line":556},10,[558,562,567,571,575,579,584,589,594,598,602,607],{"type":87,"tag":237,"props":559,"children":560},{"style":346},[561],{"type":92,"value":465},{"type":87,"tag":237,"props":563,"children":564},{"style":468},[565],{"type":92,"value":566}," supports",{"type":87,"tag":237,"props":568,"children":569},{"style":252},[570],{"type":92,"value":476},{"type":87,"tag":237,"props":572,"children":573},{"style":346},[574],{"type":92,"value":481},{"type":87,"tag":237,"props":576,"children":577},{"style":484},[578],{"type":92,"value":487},{"type":87,"tag":237,"props":580,"children":581},{"style":252},[582],{"type":92,"value":583},", kind",{"type":87,"tag":237,"props":585,"children":586},{"style":346},[587],{"type":92,"value":588},":",{"type":87,"tag":237,"props":590,"children":591},{"style":258},[592],{"type":92,"value":593}," NotificationKind",{"type":87,"tag":237,"props":595,"children":596},{"style":252},[597],{"type":92,"value":492},{"type":87,"tag":237,"props":599,"children":600},{"style":346},[601],{"type":92,"value":497},{"type":87,"tag":237,"props":603,"children":604},{"style":258},[605],{"type":92,"value":606}," bool",{"type":87,"tag":237,"props":608,"children":609},{"style":252},[610],{"type":92,"value":456},{"type":87,"tag":237,"props":612,"children":614},{"class":239,"line":613},11,[615,620,625,630,634,639],{"type":87,"tag":237,"props":616,"children":617},{"style":468},[618],{"type":92,"value":619},"        matches!",{"type":87,"tag":237,"props":621,"children":622},{"style":252},[623],{"type":92,"value":624},"(kind, ",{"type":87,"tag":237,"props":626,"children":627},{"style":258},[628],{"type":92,"value":629},"NotificationKind",{"type":87,"tag":237,"props":631,"children":632},{"style":346},[633],{"type":92,"value":359},{"type":87,"tag":237,"props":635,"children":636},{"style":258},[637],{"type":92,"value":638},"Sms",{"type":87,"tag":237,"props":640,"children":641},{"style":252},[642],{"type":92,"value":643},")\n",{"type":87,"tag":237,"props":645,"children":647},{"class":239,"line":646},12,[648],{"type":87,"tag":237,"props":649,"children":650},{"style":252},[651],{"type":92,"value":652},"    }\n",{"type":87,"tag":237,"props":654,"children":656},{"class":239,"line":655},13,[657],{"type":87,"tag":237,"props":658,"children":659},{"emptyLinePlaceholder":290},[660],{"type":92,"value":293},{"type":87,"tag":237,"props":662,"children":664},{"class":239,"line":663},14,[665,669,674],{"type":87,"tag":237,"props":666,"children":667},{"style":346},[668],{"type":92,"value":465},{"type":87,"tag":237,"props":670,"children":671},{"style":468},[672],{"type":92,"value":673}," send",{"type":87,"tag":237,"props":675,"children":676},{"style":252},[677],{"type":92,"value":678},"(\n",{"type":87,"tag":237,"props":680,"children":682},{"class":239,"line":681},15,[683,688,692],{"type":87,"tag":237,"props":684,"children":685},{"style":346},[686],{"type":92,"value":687},"        &",{"type":87,"tag":237,"props":689,"children":690},{"style":484},[691],{"type":92,"value":487},{"type":87,"tag":237,"props":693,"children":694},{"style":252},[695],{"type":92,"value":696},",\n",{"type":87,"tag":237,"props":698,"children":700},{"class":239,"line":699},16,[701,706,710,715],{"type":87,"tag":237,"props":702,"children":703},{"style":252},[704],{"type":92,"value":705},"        _ctx",{"type":87,"tag":237,"props":707,"children":708},{"style":346},[709],{"type":92,"value":588},{"type":87,"tag":237,"props":711,"children":712},{"style":258},[713],{"type":92,"value":714}," RequestContext",{"type":87,"tag":237,"props":716,"children":717},{"style":252},[718],{"type":92,"value":696},{"type":87,"tag":237,"props":720,"children":722},{"class":239,"line":721},17,[723,728,732,737],{"type":87,"tag":237,"props":724,"children":725},{"style":252},[726],{"type":92,"value":727},"        notification",{"type":87,"tag":237,"props":729,"children":730},{"style":346},[731],{"type":92,"value":588},{"type":87,"tag":237,"props":733,"children":734},{"style":258},[735],{"type":92,"value":736}," Notification",{"type":87,"tag":237,"props":738,"children":739},{"style":252},[740],{"type":92,"value":696},{"type":87,"tag":237,"props":742,"children":744},{"class":239,"line":743},18,[745,750,754,759,764,768,773,777,782],{"type":87,"tag":237,"props":746,"children":747},{"style":252},[748],{"type":92,"value":749},"    ) ",{"type":87,"tag":237,"props":751,"children":752},{"style":346},[753],{"type":92,"value":497},{"type":87,"tag":237,"props":755,"children":756},{"style":346},[757],{"type":92,"value":758}," impl",{"type":87,"tag":237,"props":760,"children":761},{"style":258},[762],{"type":92,"value":763}," core",{"type":87,"tag":237,"props":765,"children":766},{"style":346},[767],{"type":92,"value":359},{"type":87,"tag":237,"props":769,"children":770},{"style":258},[771],{"type":92,"value":772},"future",{"type":87,"tag":237,"props":774,"children":775},{"style":346},[776],{"type":92,"value":359},{"type":87,"tag":237,"props":778,"children":779},{"style":258},[780],{"type":92,"value":781},"Future",{"type":87,"tag":237,"props":783,"children":784},{"style":252},[785],{"type":92,"value":786},"\u003C\n",{"type":87,"tag":237,"props":788,"children":790},{"class":239,"line":789},19,[791,796,801,805,809,814,818,823,828,832,836,840,844,848,853],{"type":87,"tag":237,"props":792,"children":793},{"style":258},[794],{"type":92,"value":795},"        Output",{"type":87,"tag":237,"props":797,"children":798},{"style":346},[799],{"type":92,"value":800}," =",{"type":87,"tag":237,"props":802,"children":803},{"style":252},[804],{"type":92,"value":502},{"type":87,"tag":237,"props":806,"children":807},{"style":346},[808],{"type":92,"value":359},{"type":87,"tag":237,"props":810,"children":811},{"style":252},[812],{"type":92,"value":813},"abi",{"type":87,"tag":237,"props":815,"children":816},{"style":346},[817],{"type":92,"value":359},{"type":87,"tag":237,"props":819,"children":820},{"style":258},[821],{"type":92,"value":822},"Result",{"type":87,"tag":237,"props":824,"children":825},{"style":252},[826],{"type":92,"value":827},"\u003Cstabby",{"type":87,"tag":237,"props":829,"children":830},{"style":346},[831],{"type":92,"value":359},{"type":87,"tag":237,"props":833,"children":834},{"style":252},[835],{"type":92,"value":511},{"type":87,"tag":237,"props":837,"children":838},{"style":346},[839],{"type":92,"value":359},{"type":87,"tag":237,"props":841,"children":842},{"style":258},[843],{"type":92,"value":520},{"type":87,"tag":237,"props":845,"children":846},{"style":252},[847],{"type":92,"value":118},{"type":87,"tag":237,"props":849,"children":850},{"style":258},[851],{"type":92,"value":852},"PluginError",{"type":87,"tag":237,"props":854,"children":855},{"style":252},[856],{"type":92,"value":857},">,\n",{"type":87,"tag":237,"props":859,"children":861},{"class":239,"line":860},20,[862,867,872,877,882,887],{"type":87,"tag":237,"props":863,"children":864},{"style":252},[865],{"type":92,"value":866},"    > ",{"type":87,"tag":237,"props":868,"children":869},{"style":346},[870],{"type":92,"value":871},"+",{"type":87,"tag":237,"props":873,"children":874},{"style":258},[875],{"type":92,"value":876}," Send",{"type":87,"tag":237,"props":878,"children":879},{"style":346},[880],{"type":92,"value":881}," +",{"type":87,"tag":237,"props":883,"children":884},{"style":258},[885],{"type":92,"value":886}," Sync",{"type":87,"tag":237,"props":888,"children":889},{"style":252},[890],{"type":92,"value":456},{"type":87,"tag":237,"props":892,"children":894},{"class":239,"line":893},21,[895,900,905],{"type":87,"tag":237,"props":896,"children":897},{"style":346},[898],{"type":92,"value":899},"        async",{"type":87,"tag":237,"props":901,"children":902},{"style":346},[903],{"type":92,"value":904}," move",{"type":87,"tag":237,"props":906,"children":907},{"style":252},[908],{"type":92,"value":456},{"type":87,"tag":237,"props":910,"children":912},{"class":239,"line":911},22,[913],{"type":87,"tag":237,"props":914,"children":915},{"style":243},[916],{"type":92,"value":917},"            \u002F\u002F call Twilio…\n",{"type":87,"tag":237,"props":919,"children":921},{"class":239,"line":920},23,[922,927,931,935,939,943,947,952,957,961,966,970,975],{"type":87,"tag":237,"props":923,"children":924},{"style":258},[925],{"type":92,"value":926},"            stabby",{"type":87,"tag":237,"props":928,"children":929},{"style":346},[930],{"type":92,"value":359},{"type":87,"tag":237,"props":932,"children":933},{"style":258},[934],{"type":92,"value":813},{"type":87,"tag":237,"props":936,"children":937},{"style":346},[938],{"type":92,"value":359},{"type":87,"tag":237,"props":940,"children":941},{"style":258},[942],{"type":92,"value":822},{"type":87,"tag":237,"props":944,"children":945},{"style":346},[946],{"type":92,"value":359},{"type":87,"tag":237,"props":948,"children":949},{"style":258},[950],{"type":92,"value":951},"Ok",{"type":87,"tag":237,"props":953,"children":954},{"style":252},[955],{"type":92,"value":956},"(notification",{"type":87,"tag":237,"props":958,"children":959},{"style":346},[960],{"type":92,"value":535},{"type":87,"tag":237,"props":962,"children":963},{"style":252},[964],{"type":92,"value":965},"recipient",{"type":87,"tag":237,"props":967,"children":968},{"style":346},[969],{"type":92,"value":535},{"type":87,"tag":237,"props":971,"children":972},{"style":468},[973],{"type":92,"value":974},"clone",{"type":87,"tag":237,"props":976,"children":977},{"style":252},[978],{"type":92,"value":979},"())\n",{"type":87,"tag":237,"props":981,"children":983},{"class":239,"line":982},24,[984],{"type":87,"tag":237,"props":985,"children":986},{"style":252},[987],{"type":92,"value":988},"        }\n",{"type":87,"tag":237,"props":990,"children":992},{"class":239,"line":991},25,[993],{"type":87,"tag":237,"props":994,"children":995},{"style":252},[996],{"type":92,"value":652},{"type":87,"tag":237,"props":998,"children":1000},{"class":239,"line":999},26,[1001],{"type":87,"tag":237,"props":1002,"children":1003},{"style":252},[1004],{"type":92,"value":1005},"}\n",{"type":87,"tag":237,"props":1007,"children":1009},{"class":239,"line":1008},27,[1010],{"type":87,"tag":237,"props":1011,"children":1012},{"emptyLinePlaceholder":290},[1013],{"type":92,"value":293},{"type":87,"tag":237,"props":1015,"children":1017},{"class":239,"line":1016},28,[1018,1023,1027,1032],{"type":87,"tag":237,"props":1019,"children":1020},{"style":258},[1021],{"type":92,"value":1022},"vaultaris_plugin_sdk",{"type":87,"tag":237,"props":1024,"children":1025},{"style":346},[1026],{"type":92,"value":359},{"type":87,"tag":237,"props":1028,"children":1029},{"style":468},[1030],{"type":92,"value":1031},"plugin_export!",{"type":87,"tag":237,"props":1033,"children":1034},{"style":252},[1035],{"type":92,"value":456},{"type":87,"tag":237,"props":1037,"children":1039},{"class":239,"line":1038},29,[1040,1045,1050,1055,1060],{"type":87,"tag":237,"props":1041,"children":1042},{"style":258},[1043],{"type":92,"value":1044},"    NotificationChannel",{"type":87,"tag":237,"props":1046,"children":1047},{"style":346},[1048],{"type":92,"value":1049}," =>",{"type":87,"tag":237,"props":1051,"children":1052},{"style":252},[1053],{"type":92,"value":1054}," [",{"type":87,"tag":237,"props":1056,"children":1057},{"style":258},[1058],{"type":92,"value":1059},"TwilioSmsChannel",{"type":87,"tag":237,"props":1061,"children":1062},{"style":252},[1063],{"type":92,"value":1064},"],\n",{"type":87,"tag":237,"props":1066,"children":1068},{"class":239,"line":1067},30,[1069],{"type":87,"tag":237,"props":1070,"children":1071},{"style":252},[1072],{"type":92,"value":1005},{"type":87,"tag":88,"props":1074,"children":1075},{},[1076,1081,1083,1088,1090,1096,1098,1104,1106,1112,1114,1120],{"type":87,"tag":111,"props":1077,"children":1079},{"className":1078},[],[1080],{"type":92,"value":1031},{"type":92,"value":1082}," reads ",{"type":87,"tag":111,"props":1084,"children":1086},{"className":1085},[],[1087],{"type":92,"value":208},{"type":92,"value":1089}," from the crate root by default —\npass ",{"type":87,"tag":111,"props":1091,"children":1093},{"className":1092},[],[1094],{"type":92,"value":1095},"manifest = \"alt.toml\";",{"type":92,"value":1097}," only when shipping multiple manifests.\nThe category name on the left of ",{"type":87,"tag":111,"props":1099,"children":1101},{"className":1100},[],[1102],{"type":92,"value":1103},"=>",{"type":92,"value":1105}," doubles as the ",{"type":87,"tag":111,"props":1107,"children":1109},{"className":1108},[],[1110],{"type":92,"value":1111},"PluginCategory",{"type":92,"value":1113},"\nenum variant and the trait the right-hand types implement, so the older\n",{"type":87,"tag":111,"props":1115,"children":1117},{"className":1116},[],[1118],{"type":92,"value":1119},"PluginCategory { Trait: Trait => [...] }",{"type":92,"value":1121}," form is no longer required.",{"type":87,"tag":88,"props":1123,"children":1124},{},[1125,1127,1133],{"type":92,"value":1126},"For typed per-tenant configuration, declare the config type once and\nlet the macro thread an ",{"type":87,"tag":111,"props":1128,"children":1130},{"className":1129},[],[1131],{"type":92,"value":1132},"Arc\u003CConfig>",{"type":92,"value":1134}," into every implementation:",{"type":87,"tag":227,"props":1136,"children":1138},{"code":1137,"language":327,"meta":82,"className":328,"style":82},"use std::sync::Arc;\nuse serde::Deserialize;\n\n#[derive(Clone, Default, Deserialize)]\npub struct TwilioConfig {\n    #[serde(default)] pub account_sid: String,\n    #[serde(default)] pub auth_token:  String,\n    #[serde(default)] pub from_number: String,\n}\n\n#[derive(Clone)]\npub struct TwilioSmsChannel { cfg: Arc\u003CTwilioConfig> }\n\nimpl FromPluginConfig\u003CTwilioConfig> for TwilioSmsChannel {\n    fn from_config(cfg: Arc\u003CTwilioConfig>) -> Self { Self { cfg } }\n}\n\nvaultaris_plugin_sdk::plugin_export! {\n    config = TwilioConfig;\n    NotificationChannel => [TwilioSmsChannel],\n}\n",[1139],{"type":87,"tag":111,"props":1140,"children":1141},{"__ignoreMap":82},[1142,1176,1201,1208,1240,1260,1290,1319,1347,1354,1361,1376,1420,1427,1465,1526,1533,1540,1559,1580,1603],{"type":87,"tag":237,"props":1143,"children":1144},{"class":239,"line":8},[1145,1149,1154,1158,1163,1167,1172],{"type":87,"tag":237,"props":1146,"children":1147},{"style":346},[1148],{"type":92,"value":349},{"type":87,"tag":237,"props":1150,"children":1151},{"style":258},[1152],{"type":92,"value":1153}," std",{"type":87,"tag":237,"props":1155,"children":1156},{"style":346},[1157],{"type":92,"value":359},{"type":87,"tag":237,"props":1159,"children":1160},{"style":258},[1161],{"type":92,"value":1162},"sync",{"type":87,"tag":237,"props":1164,"children":1165},{"style":346},[1166],{"type":92,"value":359},{"type":87,"tag":237,"props":1168,"children":1169},{"style":258},[1170],{"type":92,"value":1171},"Arc",{"type":87,"tag":237,"props":1173,"children":1174},{"style":252},[1175],{"type":92,"value":374},{"type":87,"tag":237,"props":1177,"children":1178},{"class":239,"line":42},[1179,1183,1188,1192,1197],{"type":87,"tag":237,"props":1180,"children":1181},{"style":346},[1182],{"type":92,"value":349},{"type":87,"tag":237,"props":1184,"children":1185},{"style":258},[1186],{"type":92,"value":1187}," serde",{"type":87,"tag":237,"props":1189,"children":1190},{"style":346},[1191],{"type":92,"value":359},{"type":87,"tag":237,"props":1193,"children":1194},{"style":258},[1195],{"type":92,"value":1196},"Deserialize",{"type":87,"tag":237,"props":1198,"children":1199},{"style":252},[1200],{"type":92,"value":374},{"type":87,"tag":237,"props":1202,"children":1203},{"class":239,"line":32},[1204],{"type":87,"tag":237,"props":1205,"children":1206},{"emptyLinePlaceholder":290},[1207],{"type":92,"value":293},{"type":87,"tag":237,"props":1209,"children":1210},{"class":239,"line":14},[1211,1215,1220,1224,1228,1232,1236],{"type":87,"tag":237,"props":1212,"children":1213},{"style":252},[1214],{"type":92,"value":389},{"type":87,"tag":237,"props":1216,"children":1217},{"style":258},[1218],{"type":92,"value":1219},"Clone",{"type":87,"tag":237,"props":1221,"children":1222},{"style":252},[1223],{"type":92,"value":118},{"type":87,"tag":237,"props":1225,"children":1226},{"style":258},[1227],{"type":92,"value":394},{"type":87,"tag":237,"props":1229,"children":1230},{"style":252},[1231],{"type":92,"value":118},{"type":87,"tag":237,"props":1233,"children":1234},{"style":258},[1235],{"type":92,"value":1196},{"type":87,"tag":237,"props":1237,"children":1238},{"style":252},[1239],{"type":92,"value":399},{"type":87,"tag":237,"props":1241,"children":1242},{"class":239,"line":78},[1243,1247,1251,1256],{"type":87,"tag":237,"props":1244,"children":1245},{"style":346},[1246],{"type":92,"value":407},{"type":87,"tag":237,"props":1248,"children":1249},{"style":346},[1250],{"type":92,"value":412},{"type":87,"tag":237,"props":1252,"children":1253},{"style":258},[1254],{"type":92,"value":1255}," TwilioConfig",{"type":87,"tag":237,"props":1257,"children":1258},{"style":252},[1259],{"type":92,"value":456},{"type":87,"tag":237,"props":1261,"children":1262},{"class":239,"line":312},[1263,1268,1272,1277,1281,1286],{"type":87,"tag":237,"props":1264,"children":1265},{"style":252},[1266],{"type":92,"value":1267},"    #[serde(default)] ",{"type":87,"tag":237,"props":1269,"children":1270},{"style":346},[1271],{"type":92,"value":407},{"type":87,"tag":237,"props":1273,"children":1274},{"style":252},[1275],{"type":92,"value":1276}," account_sid",{"type":87,"tag":237,"props":1278,"children":1279},{"style":346},[1280],{"type":92,"value":588},{"type":87,"tag":237,"props":1282,"children":1283},{"style":258},[1284],{"type":92,"value":1285}," String",{"type":87,"tag":237,"props":1287,"children":1288},{"style":252},[1289],{"type":92,"value":696},{"type":87,"tag":237,"props":1291,"children":1292},{"class":239,"line":431},[1293,1297,1301,1306,1310,1315],{"type":87,"tag":237,"props":1294,"children":1295},{"style":252},[1296],{"type":92,"value":1267},{"type":87,"tag":237,"props":1298,"children":1299},{"style":346},[1300],{"type":92,"value":407},{"type":87,"tag":237,"props":1302,"children":1303},{"style":252},[1304],{"type":92,"value":1305}," auth_token",{"type":87,"tag":237,"props":1307,"children":1308},{"style":346},[1309],{"type":92,"value":588},{"type":87,"tag":237,"props":1311,"children":1312},{"style":258},[1313],{"type":92,"value":1314},"  String",{"type":87,"tag":237,"props":1316,"children":1317},{"style":252},[1318],{"type":92,"value":696},{"type":87,"tag":237,"props":1320,"children":1321},{"class":239,"line":459},[1322,1326,1330,1335,1339,1343],{"type":87,"tag":237,"props":1323,"children":1324},{"style":252},[1325],{"type":92,"value":1267},{"type":87,"tag":237,"props":1327,"children":1328},{"style":346},[1329],{"type":92,"value":407},{"type":87,"tag":237,"props":1331,"children":1332},{"style":252},[1333],{"type":92,"value":1334}," from_number",{"type":87,"tag":237,"props":1336,"children":1337},{"style":346},[1338],{"type":92,"value":588},{"type":87,"tag":237,"props":1340,"children":1341},{"style":258},[1342],{"type":92,"value":1285},{"type":87,"tag":237,"props":1344,"children":1345},{"style":252},[1346],{"type":92,"value":696},{"type":87,"tag":237,"props":1348,"children":1349},{"class":239,"line":548},[1350],{"type":87,"tag":237,"props":1351,"children":1352},{"style":252},[1353],{"type":92,"value":1005},{"type":87,"tag":237,"props":1355,"children":1356},{"class":239,"line":556},[1357],{"type":87,"tag":237,"props":1358,"children":1359},{"emptyLinePlaceholder":290},[1360],{"type":92,"value":293},{"type":87,"tag":237,"props":1362,"children":1363},{"class":239,"line":613},[1364,1368,1372],{"type":87,"tag":237,"props":1365,"children":1366},{"style":252},[1367],{"type":92,"value":389},{"type":87,"tag":237,"props":1369,"children":1370},{"style":258},[1371],{"type":92,"value":1219},{"type":87,"tag":237,"props":1373,"children":1374},{"style":252},[1375],{"type":92,"value":399},{"type":87,"tag":237,"props":1377,"children":1378},{"class":239,"line":646},[1379,1383,1387,1391,1396,1400,1405,1410,1415],{"type":87,"tag":237,"props":1380,"children":1381},{"style":346},[1382],{"type":92,"value":407},{"type":87,"tag":237,"props":1384,"children":1385},{"style":346},[1386],{"type":92,"value":412},{"type":87,"tag":237,"props":1388,"children":1389},{"style":258},[1390],{"type":92,"value":417},{"type":87,"tag":237,"props":1392,"children":1393},{"style":252},[1394],{"type":92,"value":1395}," { cfg",{"type":87,"tag":237,"props":1397,"children":1398},{"style":346},[1399],{"type":92,"value":588},{"type":87,"tag":237,"props":1401,"children":1402},{"style":258},[1403],{"type":92,"value":1404}," Arc",{"type":87,"tag":237,"props":1406,"children":1407},{"style":252},[1408],{"type":92,"value":1409},"\u003C",{"type":87,"tag":237,"props":1411,"children":1412},{"style":258},[1413],{"type":92,"value":1414},"TwilioConfig",{"type":87,"tag":237,"props":1416,"children":1417},{"style":252},[1418],{"type":92,"value":1419},"> }\n",{"type":87,"tag":237,"props":1421,"children":1422},{"class":239,"line":655},[1423],{"type":87,"tag":237,"props":1424,"children":1425},{"emptyLinePlaceholder":290},[1426],{"type":92,"value":293},{"type":87,"tag":237,"props":1428,"children":1429},{"class":239,"line":663},[1430,1434,1439,1443,1447,1452,1457,1461],{"type":87,"tag":237,"props":1431,"children":1432},{"style":346},[1433],{"type":92,"value":437},{"type":87,"tag":237,"props":1435,"children":1436},{"style":258},[1437],{"type":92,"value":1438}," FromPluginConfig",{"type":87,"tag":237,"props":1440,"children":1441},{"style":252},[1442],{"type":92,"value":1409},{"type":87,"tag":237,"props":1444,"children":1445},{"style":258},[1446],{"type":92,"value":1414},{"type":87,"tag":237,"props":1448,"children":1449},{"style":252},[1450],{"type":92,"value":1451},"> ",{"type":87,"tag":237,"props":1453,"children":1454},{"style":346},[1455],{"type":92,"value":1456},"for",{"type":87,"tag":237,"props":1458,"children":1459},{"style":258},[1460],{"type":92,"value":417},{"type":87,"tag":237,"props":1462,"children":1463},{"style":252},[1464],{"type":92,"value":456},{"type":87,"tag":237,"props":1466,"children":1467},{"class":239,"line":681},[1468,1472,1477,1482,1486,1490,1494,1498,1503,1507,1512,1516,1521],{"type":87,"tag":237,"props":1469,"children":1470},{"style":346},[1471],{"type":92,"value":465},{"type":87,"tag":237,"props":1473,"children":1474},{"style":468},[1475],{"type":92,"value":1476}," from_config",{"type":87,"tag":237,"props":1478,"children":1479},{"style":252},[1480],{"type":92,"value":1481},"(cfg",{"type":87,"tag":237,"props":1483,"children":1484},{"style":346},[1485],{"type":92,"value":588},{"type":87,"tag":237,"props":1487,"children":1488},{"style":258},[1489],{"type":92,"value":1404},{"type":87,"tag":237,"props":1491,"children":1492},{"style":252},[1493],{"type":92,"value":1409},{"type":87,"tag":237,"props":1495,"children":1496},{"style":258},[1497],{"type":92,"value":1414},{"type":87,"tag":237,"props":1499,"children":1500},{"style":252},[1501],{"type":92,"value":1502},">) ",{"type":87,"tag":237,"props":1504,"children":1505},{"style":346},[1506],{"type":92,"value":497},{"type":87,"tag":237,"props":1508,"children":1509},{"style":484},[1510],{"type":92,"value":1511}," Self",{"type":87,"tag":237,"props":1513,"children":1514},{"style":252},[1515],{"type":92,"value":525},{"type":87,"tag":237,"props":1517,"children":1518},{"style":484},[1519],{"type":92,"value":1520},"Self",{"type":87,"tag":237,"props":1522,"children":1523},{"style":252},[1524],{"type":92,"value":1525}," { cfg } }\n",{"type":87,"tag":237,"props":1527,"children":1528},{"class":239,"line":699},[1529],{"type":87,"tag":237,"props":1530,"children":1531},{"style":252},[1532],{"type":92,"value":1005},{"type":87,"tag":237,"props":1534,"children":1535},{"class":239,"line":721},[1536],{"type":87,"tag":237,"props":1537,"children":1538},{"emptyLinePlaceholder":290},[1539],{"type":92,"value":293},{"type":87,"tag":237,"props":1541,"children":1542},{"class":239,"line":743},[1543,1547,1551,1555],{"type":87,"tag":237,"props":1544,"children":1545},{"style":258},[1546],{"type":92,"value":1022},{"type":87,"tag":237,"props":1548,"children":1549},{"style":346},[1550],{"type":92,"value":359},{"type":87,"tag":237,"props":1552,"children":1553},{"style":468},[1554],{"type":92,"value":1031},{"type":87,"tag":237,"props":1556,"children":1557},{"style":252},[1558],{"type":92,"value":456},{"type":87,"tag":237,"props":1560,"children":1561},{"class":239,"line":789},[1562,1567,1572,1576],{"type":87,"tag":237,"props":1563,"children":1564},{"style":252},[1565],{"type":92,"value":1566},"    config ",{"type":87,"tag":237,"props":1568,"children":1569},{"style":346},[1570],{"type":92,"value":1571},"=",{"type":87,"tag":237,"props":1573,"children":1574},{"style":258},[1575],{"type":92,"value":1255},{"type":87,"tag":237,"props":1577,"children":1578},{"style":252},[1579],{"type":92,"value":374},{"type":87,"tag":237,"props":1581,"children":1582},{"class":239,"line":860},[1583,1587,1591,1595,1599],{"type":87,"tag":237,"props":1584,"children":1585},{"style":258},[1586],{"type":92,"value":1044},{"type":87,"tag":237,"props":1588,"children":1589},{"style":346},[1590],{"type":92,"value":1049},{"type":87,"tag":237,"props":1592,"children":1593},{"style":252},[1594],{"type":92,"value":1054},{"type":87,"tag":237,"props":1596,"children":1597},{"style":258},[1598],{"type":92,"value":1059},{"type":87,"tag":237,"props":1600,"children":1601},{"style":252},[1602],{"type":92,"value":1064},{"type":87,"tag":237,"props":1604,"children":1605},{"class":239,"line":893},[1606],{"type":87,"tag":237,"props":1607,"children":1608},{"style":252},[1609],{"type":92,"value":1005},{"type":87,"tag":88,"props":1611,"children":1612},{},[1613,1615,1621,1623,1629,1631,1637,1639,1645,1647,1653,1655,1661],{"type":92,"value":1614},"Two tenants → two ",{"type":87,"tag":111,"props":1616,"children":1618},{"className":1617},[],[1619],{"type":92,"value":1620},"vaultaris_plugin_start",{"type":92,"value":1622}," calls → two independent\n",{"type":87,"tag":111,"props":1624,"children":1626},{"className":1625},[],[1627],{"type":92,"value":1628},"Arc\u003CTwilioConfig>",{"type":92,"value":1630}," chains, so a coding mistake in the plugin can never\nleak credentials across tenants. Plugins that need to build the\nregistry imperatively — custom runtime setup, dynamic categories,\nshared connection pools — use the escape hatch ",{"type":87,"tag":111,"props":1632,"children":1634},{"className":1633},[],[1635],{"type":92,"value":1636},"lifecycle = MyLifecycle;",{"type":92,"value":1638},", where ",{"type":87,"tag":111,"props":1640,"children":1642},{"className":1641},[],[1643],{"type":92,"value":1644},"MyLifecycle: PluginLifecycle",{"type":92,"value":1646}," owns the ",{"type":87,"tag":111,"props":1648,"children":1650},{"className":1649},[],[1651],{"type":92,"value":1652},"Config",{"type":92,"value":1654},"\nassociated type and the ",{"type":87,"tag":111,"props":1656,"children":1658},{"className":1657},[],[1659],{"type":92,"value":1660},"start",{"type":92,"value":1662}," body.",{"type":87,"tag":227,"props":1664,"children":1666},{"code":1665,"language":230,"meta":82,"className":231,"style":82},"# plugin.toml\nid            = \"dev.vaultaris.notifications.twilio-sms\"\nversion       = \"1.0.0\"\ndisplay_name  = \"Twilio SMS\"\nabi_version   = 3\n\n[[categories]]\nkind     = \"notification_channel\"\npriority = 100\n",[1667],{"type":87,"tag":111,"props":1668,"children":1669},{"__ignoreMap":82},[1670,1678,1691,1704,1717,1730,1737,1755,1768],{"type":87,"tag":237,"props":1671,"children":1672},{"class":239,"line":8},[1673],{"type":87,"tag":237,"props":1674,"children":1675},{"style":243},[1676],{"type":92,"value":1677},"# plugin.toml\n",{"type":87,"tag":237,"props":1679,"children":1680},{"class":239,"line":42},[1681,1686],{"type":87,"tag":237,"props":1682,"children":1683},{"style":252},[1684],{"type":92,"value":1685},"id            = ",{"type":87,"tag":237,"props":1687,"children":1688},{"style":277},[1689],{"type":92,"value":1690},"\"dev.vaultaris.notifications.twilio-sms\"\n",{"type":87,"tag":237,"props":1692,"children":1693},{"class":239,"line":32},[1694,1699],{"type":87,"tag":237,"props":1695,"children":1696},{"style":252},[1697],{"type":92,"value":1698},"version       = ",{"type":87,"tag":237,"props":1700,"children":1701},{"style":277},[1702],{"type":92,"value":1703},"\"1.0.0\"\n",{"type":87,"tag":237,"props":1705,"children":1706},{"class":239,"line":14},[1707,1712],{"type":87,"tag":237,"props":1708,"children":1709},{"style":252},[1710],{"type":92,"value":1711},"display_name  = ",{"type":87,"tag":237,"props":1713,"children":1714},{"style":277},[1715],{"type":92,"value":1716},"\"Twilio SMS\"\n",{"type":87,"tag":237,"props":1718,"children":1719},{"class":239,"line":78},[1720,1725],{"type":87,"tag":237,"props":1721,"children":1722},{"style":252},[1723],{"type":92,"value":1724},"abi_version   = ",{"type":87,"tag":237,"props":1726,"children":1727},{"style":484},[1728],{"type":92,"value":1729},"3\n",{"type":87,"tag":237,"props":1731,"children":1732},{"class":239,"line":312},[1733],{"type":87,"tag":237,"props":1734,"children":1735},{"emptyLinePlaceholder":290},[1736],{"type":92,"value":293},{"type":87,"tag":237,"props":1738,"children":1739},{"class":239,"line":431},[1740,1745,1750],{"type":87,"tag":237,"props":1741,"children":1742},{"style":252},[1743],{"type":92,"value":1744},"[[",{"type":87,"tag":237,"props":1746,"children":1747},{"style":258},[1748],{"type":92,"value":1749},"categories",{"type":87,"tag":237,"props":1751,"children":1752},{"style":252},[1753],{"type":92,"value":1754},"]]\n",{"type":87,"tag":237,"props":1756,"children":1757},{"class":239,"line":459},[1758,1763],{"type":87,"tag":237,"props":1759,"children":1760},{"style":252},[1761],{"type":92,"value":1762},"kind     = ",{"type":87,"tag":237,"props":1764,"children":1765},{"style":277},[1766],{"type":92,"value":1767},"\"notification_channel\"\n",{"type":87,"tag":237,"props":1769,"children":1770},{"class":239,"line":548},[1771,1776],{"type":87,"tag":237,"props":1772,"children":1773},{"style":252},[1774],{"type":92,"value":1775},"priority = ",{"type":87,"tag":237,"props":1777,"children":1778},{"style":484},[1779],{"type":92,"value":1780},"100\n",{"type":87,"tag":220,"props":1782,"children":1784},{"id":1783},"plugin-categories",[1785],{"type":92,"value":1786},"Plugin categories",{"type":87,"tag":88,"props":1788,"children":1789},{},[1790],{"type":92,"value":1791},"Every category is one trait. Adding a new category to Vaultaris means:",{"type":87,"tag":95,"props":1793,"children":1794},{},[1795,1808,1819],{"type":87,"tag":99,"props":1796,"children":1797},{},[1798,1800,1806],{"type":92,"value":1799},"defining the trait in ",{"type":87,"tag":111,"props":1801,"children":1803},{"className":1802},[],[1804],{"type":92,"value":1805},"vaultaris-plugin-sdk",{"type":92,"value":1807},";",{"type":87,"tag":99,"props":1809,"children":1810},{},[1811,1813,1818],{"type":92,"value":1812},"adding a variant to ",{"type":87,"tag":111,"props":1814,"children":1816},{"className":1815},[],[1817],{"type":92,"value":1111},{"type":92,"value":1807},{"type":87,"tag":99,"props":1820,"children":1821},{},[1822,1824,1830],{"type":92,"value":1823},"dropping a dispatcher file in ",{"type":87,"tag":111,"props":1825,"children":1827},{"className":1826},[],[1828],{"type":92,"value":1829},"src\u002Finfrastructure\u002Fplugins\u002F",{"type":92,"value":1807},{"type":87,"tag":88,"props":1832,"children":1833},{},[1834],{"type":92,"value":1835},"…and nothing else. The host's cross-category enum, registry types and\nloader pick up the new category automatically.",{"type":87,"tag":1837,"props":1838,"children":1839},"table",{},[1840,1864],{"type":87,"tag":1841,"props":1842,"children":1843},"thead",{},[1844],{"type":87,"tag":1845,"props":1846,"children":1847},"tr",{},[1848,1854,1859],{"type":87,"tag":1849,"props":1850,"children":1851},"th",{},[1852],{"type":92,"value":1853},"Category",{"type":87,"tag":1849,"props":1855,"children":1856},{},[1857],{"type":92,"value":1858},"Trait",{"type":87,"tag":1849,"props":1860,"children":1861},{},[1862],{"type":92,"value":1863},"What plugins implement",{"type":87,"tag":1865,"props":1866,"children":1867},"tbody",{},[1868,1894,1920,1945,1970,1996,2022,2048,2074,2100,2126,2152,2178],{"type":87,"tag":1845,"props":1869,"children":1870},{},[1871,1881,1889],{"type":87,"tag":1872,"props":1873,"children":1874},"td",{},[1875],{"type":87,"tag":111,"props":1876,"children":1878},{"className":1877},[],[1879],{"type":92,"value":1880},"auth_provider",{"type":87,"tag":1872,"props":1882,"children":1883},{},[1884],{"type":87,"tag":111,"props":1885,"children":1887},{"className":1886},[],[1888],{"type":92,"value":116},{"type":87,"tag":1872,"props":1890,"children":1891},{},[1892],{"type":92,"value":1893},"Custom credential checks, MFA, hardware tokens",{"type":87,"tag":1845,"props":1895,"children":1896},{},[1897,1906,1915],{"type":87,"tag":1872,"props":1898,"children":1899},{},[1900],{"type":87,"tag":111,"props":1901,"children":1903},{"className":1902},[],[1904],{"type":92,"value":1905},"identity_provider",{"type":87,"tag":1872,"props":1907,"children":1908},{},[1909],{"type":87,"tag":111,"props":1910,"children":1912},{"className":1911},[],[1913],{"type":92,"value":1914},"IdentityProvider",{"type":87,"tag":1872,"props":1916,"children":1917},{},[1918],{"type":92,"value":1919},"LDAP, SAML, OIDC, AD, social federation",{"type":87,"tag":1845,"props":1921,"children":1922},{},[1923,1932,1940],{"type":87,"tag":1872,"props":1924,"children":1925},{},[1926],{"type":87,"tag":111,"props":1927,"children":1929},{"className":1928},[],[1930],{"type":92,"value":1931},"storage_backend",{"type":87,"tag":1872,"props":1933,"children":1934},{},[1935],{"type":87,"tag":111,"props":1936,"children":1938},{"className":1937},[],[1939],{"type":92,"value":131},{"type":87,"tag":1872,"props":1941,"children":1942},{},[1943],{"type":92,"value":1944},"HashiCorp Vault, AWS KMS, on-prem KV",{"type":87,"tag":1845,"props":1946,"children":1947},{},[1948,1957,1965],{"type":87,"tag":1872,"props":1949,"children":1950},{},[1951],{"type":87,"tag":111,"props":1952,"children":1954},{"className":1953},[],[1955],{"type":92,"value":1956},"notification_channel",{"type":87,"tag":1872,"props":1958,"children":1959},{},[1960],{"type":87,"tag":111,"props":1961,"children":1963},{"className":1962},[],[1964],{"type":92,"value":124},{"type":87,"tag":1872,"props":1966,"children":1967},{},[1968],{"type":92,"value":1969},"Email, SMS, push, chat, voice",{"type":87,"tag":1845,"props":1971,"children":1972},{},[1973,1982,1991],{"type":87,"tag":1872,"props":1974,"children":1975},{},[1976],{"type":87,"tag":111,"props":1977,"children":1979},{"className":1978},[],[1980],{"type":92,"value":1981},"encryption_provider",{"type":87,"tag":1872,"props":1983,"children":1984},{},[1985],{"type":87,"tag":111,"props":1986,"children":1988},{"className":1987},[],[1989],{"type":92,"value":1990},"EncryptionProvider",{"type":87,"tag":1872,"props":1992,"children":1993},{},[1994],{"type":92,"value":1995},"KMS \u002F HSM-backed crypto",{"type":87,"tag":1845,"props":1997,"children":1998},{},[1999,2008,2017],{"type":87,"tag":1872,"props":2000,"children":2001},{},[2002],{"type":87,"tag":111,"props":2003,"children":2005},{"className":2004},[],[2006],{"type":92,"value":2007},"policy_engine",{"type":87,"tag":1872,"props":2009,"children":2010},{},[2011],{"type":87,"tag":111,"props":2012,"children":2014},{"className":2013},[],[2015],{"type":92,"value":2016},"PolicyEngine",{"type":87,"tag":1872,"props":2018,"children":2019},{},[2020],{"type":92,"value":2021},"Rego, OPA, custom ABAC",{"type":87,"tag":1845,"props":2023,"children":2024},{},[2025,2034,2043],{"type":87,"tag":1872,"props":2026,"children":2027},{},[2028],{"type":87,"tag":111,"props":2029,"children":2031},{"className":2030},[],[2032],{"type":92,"value":2033},"audit_sink",{"type":87,"tag":1872,"props":2035,"children":2036},{},[2037],{"type":87,"tag":111,"props":2038,"children":2040},{"className":2039},[],[2041],{"type":92,"value":2042},"AuditSink",{"type":87,"tag":1872,"props":2044,"children":2045},{},[2046],{"type":92,"value":2047},"SIEM forwarding, S3, syslog",{"type":87,"tag":1845,"props":2049,"children":2050},{},[2051,2060,2069],{"type":87,"tag":1872,"props":2052,"children":2053},{},[2054],{"type":87,"tag":111,"props":2055,"children":2057},{"className":2056},[],[2058],{"type":92,"value":2059},"jwt_customizer",{"type":87,"tag":1872,"props":2061,"children":2062},{},[2063],{"type":87,"tag":111,"props":2064,"children":2066},{"className":2065},[],[2067],{"type":92,"value":2068},"JwtCustomizer",{"type":87,"tag":1872,"props":2070,"children":2071},{},[2072],{"type":92,"value":2073},"Add\u002Ftransform claims on issued tokens",{"type":87,"tag":1845,"props":2075,"children":2076},{},[2077,2086,2095],{"type":87,"tag":1872,"props":2078,"children":2079},{},[2080],{"type":87,"tag":111,"props":2081,"children":2083},{"className":2082},[],[2084],{"type":92,"value":2085},"rate_limiter",{"type":87,"tag":1872,"props":2087,"children":2088},{},[2089],{"type":87,"tag":111,"props":2090,"children":2092},{"className":2091},[],[2093],{"type":92,"value":2094},"RateLimiter",{"type":87,"tag":1872,"props":2096,"children":2097},{},[2098],{"type":92,"value":2099},"Token bucket, leaky bucket, vendor APIs",{"type":87,"tag":1845,"props":2101,"children":2102},{},[2103,2112,2121],{"type":87,"tag":1872,"props":2104,"children":2105},{},[2106],{"type":87,"tag":111,"props":2107,"children":2109},{"className":2108},[],[2110],{"type":92,"value":2111},"metrics_collector",{"type":87,"tag":1872,"props":2113,"children":2114},{},[2115],{"type":87,"tag":111,"props":2116,"children":2118},{"className":2117},[],[2119],{"type":92,"value":2120},"MetricsCollector",{"type":87,"tag":1872,"props":2122,"children":2123},{},[2124],{"type":92,"value":2125},"Datadog, OTel, Prometheus push",{"type":87,"tag":1845,"props":2127,"children":2128},{},[2129,2138,2147],{"type":87,"tag":1872,"props":2130,"children":2131},{},[2132],{"type":87,"tag":111,"props":2133,"children":2135},{"className":2134},[],[2136],{"type":92,"value":2137},"input_validator",{"type":87,"tag":1872,"props":2139,"children":2140},{},[2141],{"type":87,"tag":111,"props":2142,"children":2144},{"className":2143},[],[2145],{"type":92,"value":2146},"InputValidator",{"type":87,"tag":1872,"props":2148,"children":2149},{},[2150],{"type":92,"value":2151},"Domain rules, password strength, denylists",{"type":87,"tag":1845,"props":2153,"children":2154},{},[2155,2164,2173],{"type":87,"tag":1872,"props":2156,"children":2157},{},[2158],{"type":87,"tag":111,"props":2159,"children":2161},{"className":2160},[],[2162],{"type":92,"value":2163},"lifecycle_hook",{"type":87,"tag":1872,"props":2165,"children":2166},{},[2167],{"type":87,"tag":111,"props":2168,"children":2170},{"className":2169},[],[2171],{"type":92,"value":2172},"LifecycleHook",{"type":87,"tag":1872,"props":2174,"children":2175},{},[2176],{"type":92,"value":2177},"Cross-cutting observers (legacy hook style)",{"type":87,"tag":1845,"props":2179,"children":2180},{},[2181,2190,2199],{"type":87,"tag":1872,"props":2182,"children":2183},{},[2184],{"type":87,"tag":111,"props":2185,"children":2187},{"className":2186},[],[2188],{"type":92,"value":2189},"webhook_handler",{"type":87,"tag":1872,"props":2191,"children":2192},{},[2193],{"type":87,"tag":111,"props":2194,"children":2196},{"className":2195},[],[2197],{"type":92,"value":2198},"WebhookHandler",{"type":87,"tag":1872,"props":2200,"children":2201},{},[2202],{"type":92,"value":2203},"Inbound HTTP requests from providers (Twilio, Stripe, GitHub, …)",{"type":87,"tag":220,"props":2205,"children":2207},{"id":2206},"manifest-format",[2208],{"type":92,"value":2209},"Manifest format",{"type":87,"tag":88,"props":2211,"children":2212},{},[2213,2218,2220,2226],{"type":87,"tag":111,"props":2214,"children":2216},{"className":2215},[],[2217],{"type":92,"value":208},{"type":92,"value":2219}," ships next to the dynamic library and is the contract between\nplugin and host. It uses the schema in ",{"type":87,"tag":111,"props":2221,"children":2223},{"className":2222},[],[2224],{"type":92,"value":2225},"vaultaris_plugin_sdk::manifest",{"type":92,"value":588},{"type":87,"tag":227,"props":2228,"children":2230},{"code":2229,"language":230,"meta":82,"className":231,"style":82},"id            = \"dev.example.audit.s3\"\nversion       = \"0.3.1\"\ndisplay_name  = \"S3 Audit Sink\"\ndescription   = \"Mirror Vaultaris audit events to an S3 bucket.\"\nauthor        = \"Example Inc.\"\nhomepage      = \"https:\u002F\u002Fexample.com\"\nlicense       = \"Apache-2.0\"\nmin_vaultaris_version = \"0.3.0\"\nabi_version   = 3\npermissions   = [\"network.outbound:s3.amazonaws.com\"]\n\n[[categories]]\nkind      = \"audit_sink\"\ninstances = 1\npriority  = 50\n\n[[config]]\nname        = \"bucket\"\nlabel       = \"S3 bucket\"\ntype        = \"string\"\nrequired    = true\ndescription = \"Destination bucket. Must exist.\"\n",[2231],{"type":87,"tag":111,"props":2232,"children":2233},{"__ignoreMap":82},[2234,2246,2258,2270,2283,2296,2309,2322,2335,2346,2363,2370,2385,2398,2411,2424,2431,2447,2460,2473,2486,2499],{"type":87,"tag":237,"props":2235,"children":2236},{"class":239,"line":8},[2237,2241],{"type":87,"tag":237,"props":2238,"children":2239},{"style":252},[2240],{"type":92,"value":1685},{"type":87,"tag":237,"props":2242,"children":2243},{"style":277},[2244],{"type":92,"value":2245},"\"dev.example.audit.s3\"\n",{"type":87,"tag":237,"props":2247,"children":2248},{"class":239,"line":42},[2249,2253],{"type":87,"tag":237,"props":2250,"children":2251},{"style":252},[2252],{"type":92,"value":1698},{"type":87,"tag":237,"props":2254,"children":2255},{"style":277},[2256],{"type":92,"value":2257},"\"0.3.1\"\n",{"type":87,"tag":237,"props":2259,"children":2260},{"class":239,"line":32},[2261,2265],{"type":87,"tag":237,"props":2262,"children":2263},{"style":252},[2264],{"type":92,"value":1711},{"type":87,"tag":237,"props":2266,"children":2267},{"style":277},[2268],{"type":92,"value":2269},"\"S3 Audit Sink\"\n",{"type":87,"tag":237,"props":2271,"children":2272},{"class":239,"line":14},[2273,2278],{"type":87,"tag":237,"props":2274,"children":2275},{"style":252},[2276],{"type":92,"value":2277},"description   = ",{"type":87,"tag":237,"props":2279,"children":2280},{"style":277},[2281],{"type":92,"value":2282},"\"Mirror Vaultaris audit events to an S3 bucket.\"\n",{"type":87,"tag":237,"props":2284,"children":2285},{"class":239,"line":78},[2286,2291],{"type":87,"tag":237,"props":2287,"children":2288},{"style":252},[2289],{"type":92,"value":2290},"author        = ",{"type":87,"tag":237,"props":2292,"children":2293},{"style":277},[2294],{"type":92,"value":2295},"\"Example Inc.\"\n",{"type":87,"tag":237,"props":2297,"children":2298},{"class":239,"line":312},[2299,2304],{"type":87,"tag":237,"props":2300,"children":2301},{"style":252},[2302],{"type":92,"value":2303},"homepage      = ",{"type":87,"tag":237,"props":2305,"children":2306},{"style":277},[2307],{"type":92,"value":2308},"\"https:\u002F\u002Fexample.com\"\n",{"type":87,"tag":237,"props":2310,"children":2311},{"class":239,"line":431},[2312,2317],{"type":87,"tag":237,"props":2313,"children":2314},{"style":252},[2315],{"type":92,"value":2316},"license       = ",{"type":87,"tag":237,"props":2318,"children":2319},{"style":277},[2320],{"type":92,"value":2321},"\"Apache-2.0\"\n",{"type":87,"tag":237,"props":2323,"children":2324},{"class":239,"line":459},[2325,2330],{"type":87,"tag":237,"props":2326,"children":2327},{"style":252},[2328],{"type":92,"value":2329},"min_vaultaris_version = ",{"type":87,"tag":237,"props":2331,"children":2332},{"style":277},[2333],{"type":92,"value":2334},"\"0.3.0\"\n",{"type":87,"tag":237,"props":2336,"children":2337},{"class":239,"line":548},[2338,2342],{"type":87,"tag":237,"props":2339,"children":2340},{"style":252},[2341],{"type":92,"value":1724},{"type":87,"tag":237,"props":2343,"children":2344},{"style":484},[2345],{"type":92,"value":1729},{"type":87,"tag":237,"props":2347,"children":2348},{"class":239,"line":556},[2349,2354,2359],{"type":87,"tag":237,"props":2350,"children":2351},{"style":252},[2352],{"type":92,"value":2353},"permissions   = [",{"type":87,"tag":237,"props":2355,"children":2356},{"style":277},[2357],{"type":92,"value":2358},"\"network.outbound:s3.amazonaws.com\"",{"type":87,"tag":237,"props":2360,"children":2361},{"style":252},[2362],{"type":92,"value":266},{"type":87,"tag":237,"props":2364,"children":2365},{"class":239,"line":613},[2366],{"type":87,"tag":237,"props":2367,"children":2368},{"emptyLinePlaceholder":290},[2369],{"type":92,"value":293},{"type":87,"tag":237,"props":2371,"children":2372},{"class":239,"line":646},[2373,2377,2381],{"type":87,"tag":237,"props":2374,"children":2375},{"style":252},[2376],{"type":92,"value":1744},{"type":87,"tag":237,"props":2378,"children":2379},{"style":258},[2380],{"type":92,"value":1749},{"type":87,"tag":237,"props":2382,"children":2383},{"style":252},[2384],{"type":92,"value":1754},{"type":87,"tag":237,"props":2386,"children":2387},{"class":239,"line":655},[2388,2393],{"type":87,"tag":237,"props":2389,"children":2390},{"style":252},[2391],{"type":92,"value":2392},"kind      = ",{"type":87,"tag":237,"props":2394,"children":2395},{"style":277},[2396],{"type":92,"value":2397},"\"audit_sink\"\n",{"type":87,"tag":237,"props":2399,"children":2400},{"class":239,"line":663},[2401,2406],{"type":87,"tag":237,"props":2402,"children":2403},{"style":252},[2404],{"type":92,"value":2405},"instances = ",{"type":87,"tag":237,"props":2407,"children":2408},{"style":484},[2409],{"type":92,"value":2410},"1\n",{"type":87,"tag":237,"props":2412,"children":2413},{"class":239,"line":681},[2414,2419],{"type":87,"tag":237,"props":2415,"children":2416},{"style":252},[2417],{"type":92,"value":2418},"priority  = ",{"type":87,"tag":237,"props":2420,"children":2421},{"style":484},[2422],{"type":92,"value":2423},"50\n",{"type":87,"tag":237,"props":2425,"children":2426},{"class":239,"line":699},[2427],{"type":87,"tag":237,"props":2428,"children":2429},{"emptyLinePlaceholder":290},[2430],{"type":92,"value":293},{"type":87,"tag":237,"props":2432,"children":2433},{"class":239,"line":721},[2434,2438,2443],{"type":87,"tag":237,"props":2435,"children":2436},{"style":252},[2437],{"type":92,"value":1744},{"type":87,"tag":237,"props":2439,"children":2440},{"style":258},[2441],{"type":92,"value":2442},"config",{"type":87,"tag":237,"props":2444,"children":2445},{"style":252},[2446],{"type":92,"value":1754},{"type":87,"tag":237,"props":2448,"children":2449},{"class":239,"line":743},[2450,2455],{"type":87,"tag":237,"props":2451,"children":2452},{"style":252},[2453],{"type":92,"value":2454},"name        = ",{"type":87,"tag":237,"props":2456,"children":2457},{"style":277},[2458],{"type":92,"value":2459},"\"bucket\"\n",{"type":87,"tag":237,"props":2461,"children":2462},{"class":239,"line":789},[2463,2468],{"type":87,"tag":237,"props":2464,"children":2465},{"style":252},[2466],{"type":92,"value":2467},"label       = ",{"type":87,"tag":237,"props":2469,"children":2470},{"style":277},[2471],{"type":92,"value":2472},"\"S3 bucket\"\n",{"type":87,"tag":237,"props":2474,"children":2475},{"class":239,"line":860},[2476,2481],{"type":87,"tag":237,"props":2477,"children":2478},{"style":252},[2479],{"type":92,"value":2480},"type        = ",{"type":87,"tag":237,"props":2482,"children":2483},{"style":277},[2484],{"type":92,"value":2485},"\"string\"\n",{"type":87,"tag":237,"props":2487,"children":2488},{"class":239,"line":893},[2489,2494],{"type":87,"tag":237,"props":2490,"children":2491},{"style":252},[2492],{"type":92,"value":2493},"required    = ",{"type":87,"tag":237,"props":2495,"children":2496},{"style":484},[2497],{"type":92,"value":2498},"true\n",{"type":87,"tag":237,"props":2500,"children":2501},{"class":239,"line":911},[2502,2507],{"type":87,"tag":237,"props":2503,"children":2504},{"style":252},[2505],{"type":92,"value":2506},"description = ",{"type":87,"tag":237,"props":2508,"children":2509},{"style":277},[2510],{"type":92,"value":2511},"\"Destination bucket. Must exist.\"\n",{"type":87,"tag":88,"props":2513,"children":2514},{},[2515],{"type":92,"value":2516},"The host validates that:",{"type":87,"tag":2518,"props":2519,"children":2520},"ul",{},[2521,2539,2551],{"type":87,"tag":99,"props":2522,"children":2523},{},[2524,2530,2532,2538],{"type":87,"tag":111,"props":2525,"children":2527},{"className":2526},[],[2528],{"type":92,"value":2529},"abi_version",{"type":92,"value":2531}," matches ",{"type":87,"tag":111,"props":2533,"children":2535},{"className":2534},[],[2536],{"type":92,"value":2537},"vaultaris_plugin_sdk::ABI_VERSION",{"type":92,"value":1807},{"type":87,"tag":99,"props":2540,"children":2541},{},[2542,2544,2550],{"type":92,"value":2543},"the declared categories match the categories actually shipped by\n",{"type":87,"tag":111,"props":2545,"children":2547},{"className":2546},[],[2548],{"type":92,"value":2549},"vaultaris_plugin_start()",{"type":92,"value":1807},{"type":87,"tag":99,"props":2552,"children":2553},{},[2554,2556,2562],{"type":92,"value":2555},"the ",{"type":87,"tag":111,"props":2557,"children":2559},{"className":2558},[],[2560],{"type":92,"value":2561},"id",{"type":92,"value":2563}," follows reverse-DNS notation.",{"type":87,"tag":220,"props":2565,"children":2567},{"id":2566},"build-script-discovery",[2568],{"type":92,"value":2569},"Build-script discovery",{"type":87,"tag":88,"props":2571,"children":2572},{},[2573,2575,2581,2583,2588,2590,2596],{"type":92,"value":2574},"Operators that ship Vaultaris with a fixed set of plugins can let ",{"type":87,"tag":111,"props":2576,"children":2578},{"className":2577},[],[2579],{"type":92,"value":2580},"cargo build",{"type":92,"value":2582}," resolve every plugin manifest at compile time. Drop a\n",{"type":87,"tag":111,"props":2584,"children":2586},{"className":2585},[],[2587],{"type":92,"value":216},{"type":92,"value":2589}," next to the host's ",{"type":87,"tag":111,"props":2591,"children":2593},{"className":2592},[],[2594],{"type":92,"value":2595},"Cargo.toml",{"type":92,"value":588},{"type":87,"tag":227,"props":2598,"children":2600},{"code":2599,"language":230,"meta":82,"className":231,"style":82},"library_dir = \"target\u002Frelease\"\n\n[[plugin]]\nid           = \"dev.vaultaris.notifications.twilio-sms\"\npath         = \"examples\u002Fplugins\u002Ftwilio-sms-channel\"\nautoload     = true\n",[2601],{"type":87,"tag":111,"props":2602,"children":2603},{"__ignoreMap":82},[2604,2617,2624,2640,2652,2665],{"type":87,"tag":237,"props":2605,"children":2606},{"class":239,"line":8},[2607,2612],{"type":87,"tag":237,"props":2608,"children":2609},{"style":252},[2610],{"type":92,"value":2611},"library_dir = ",{"type":87,"tag":237,"props":2613,"children":2614},{"style":277},[2615],{"type":92,"value":2616},"\"target\u002Frelease\"\n",{"type":87,"tag":237,"props":2618,"children":2619},{"class":239,"line":42},[2620],{"type":87,"tag":237,"props":2621,"children":2622},{"emptyLinePlaceholder":290},[2623],{"type":92,"value":293},{"type":87,"tag":237,"props":2625,"children":2626},{"class":239,"line":32},[2627,2631,2636],{"type":87,"tag":237,"props":2628,"children":2629},{"style":252},[2630],{"type":92,"value":1744},{"type":87,"tag":237,"props":2632,"children":2633},{"style":258},[2634],{"type":92,"value":2635},"plugin",{"type":87,"tag":237,"props":2637,"children":2638},{"style":252},[2639],{"type":92,"value":1754},{"type":87,"tag":237,"props":2641,"children":2642},{"class":239,"line":14},[2643,2648],{"type":87,"tag":237,"props":2644,"children":2645},{"style":252},[2646],{"type":92,"value":2647},"id           = ",{"type":87,"tag":237,"props":2649,"children":2650},{"style":277},[2651],{"type":92,"value":1690},{"type":87,"tag":237,"props":2653,"children":2654},{"class":239,"line":78},[2655,2660],{"type":87,"tag":237,"props":2656,"children":2657},{"style":252},[2658],{"type":92,"value":2659},"path         = ",{"type":87,"tag":237,"props":2661,"children":2662},{"style":277},[2663],{"type":92,"value":2664},"\"examples\u002Fplugins\u002Ftwilio-sms-channel\"\n",{"type":87,"tag":237,"props":2666,"children":2667},{"class":239,"line":312},[2668,2673],{"type":87,"tag":237,"props":2669,"children":2670},{"style":252},[2671],{"type":92,"value":2672},"autoload     = ",{"type":87,"tag":237,"props":2674,"children":2675},{"style":484},[2676],{"type":92,"value":2498},{"type":87,"tag":88,"props":2678,"children":2679},{},[2680,2682,2687],{"type":92,"value":2681},"Then in ",{"type":87,"tag":111,"props":2683,"children":2685},{"className":2684},[],[2686],{"type":92,"value":194},{"type":92,"value":588},{"type":87,"tag":227,"props":2689,"children":2691},{"code":2690,"language":327,"meta":82,"className":328,"style":82},"use std::path::PathBuf;\nuse vaultaris_plugin_sdk::build::generate_plugin_index;\n\nfn main() {\n    let out = PathBuf::from(std::env::var(\"OUT_DIR\").unwrap()).join(\"plugin_index.rs\");\n    generate_plugin_index(\"vaultaris.plugins.toml\", out).unwrap();\n}\n",[2692],{"type":87,"tag":111,"props":2693,"children":2694},{"__ignoreMap":82},[2695,2728,2757,2764,2782,2891,2926],{"type":87,"tag":237,"props":2696,"children":2697},{"class":239,"line":8},[2698,2702,2706,2710,2715,2719,2724],{"type":87,"tag":237,"props":2699,"children":2700},{"style":346},[2701],{"type":92,"value":349},{"type":87,"tag":237,"props":2703,"children":2704},{"style":258},[2705],{"type":92,"value":1153},{"type":87,"tag":237,"props":2707,"children":2708},{"style":346},[2709],{"type":92,"value":359},{"type":87,"tag":237,"props":2711,"children":2712},{"style":258},[2713],{"type":92,"value":2714},"path",{"type":87,"tag":237,"props":2716,"children":2717},{"style":346},[2718],{"type":92,"value":359},{"type":87,"tag":237,"props":2720,"children":2721},{"style":258},[2722],{"type":92,"value":2723},"PathBuf",{"type":87,"tag":237,"props":2725,"children":2726},{"style":252},[2727],{"type":92,"value":374},{"type":87,"tag":237,"props":2729,"children":2730},{"class":239,"line":42},[2731,2735,2739,2743,2748,2752],{"type":87,"tag":237,"props":2732,"children":2733},{"style":346},[2734],{"type":92,"value":349},{"type":87,"tag":237,"props":2736,"children":2737},{"style":258},[2738],{"type":92,"value":354},{"type":87,"tag":237,"props":2740,"children":2741},{"style":346},[2742],{"type":92,"value":359},{"type":87,"tag":237,"props":2744,"children":2745},{"style":258},[2746],{"type":92,"value":2747},"build",{"type":87,"tag":237,"props":2749,"children":2750},{"style":346},[2751],{"type":92,"value":359},{"type":87,"tag":237,"props":2753,"children":2754},{"style":252},[2755],{"type":92,"value":2756},"generate_plugin_index;\n",{"type":87,"tag":237,"props":2758,"children":2759},{"class":239,"line":32},[2760],{"type":87,"tag":237,"props":2761,"children":2762},{"emptyLinePlaceholder":290},[2763],{"type":92,"value":293},{"type":87,"tag":237,"props":2765,"children":2766},{"class":239,"line":14},[2767,2772,2777],{"type":87,"tag":237,"props":2768,"children":2769},{"style":346},[2770],{"type":92,"value":2771},"fn",{"type":87,"tag":237,"props":2773,"children":2774},{"style":468},[2775],{"type":92,"value":2776}," main",{"type":87,"tag":237,"props":2778,"children":2779},{"style":252},[2780],{"type":92,"value":2781},"() {\n",{"type":87,"tag":237,"props":2783,"children":2784},{"class":239,"line":78},[2785,2790,2795,2799,2804,2808,2813,2817,2822,2826,2831,2835,2840,2844,2849,2854,2858,2863,2868,2872,2877,2881,2886],{"type":87,"tag":237,"props":2786,"children":2787},{"style":346},[2788],{"type":92,"value":2789},"    let",{"type":87,"tag":237,"props":2791,"children":2792},{"style":252},[2793],{"type":92,"value":2794}," out ",{"type":87,"tag":237,"props":2796,"children":2797},{"style":346},[2798],{"type":92,"value":1571},{"type":87,"tag":237,"props":2800,"children":2801},{"style":258},[2802],{"type":92,"value":2803}," PathBuf",{"type":87,"tag":237,"props":2805,"children":2806},{"style":346},[2807],{"type":92,"value":359},{"type":87,"tag":237,"props":2809,"children":2810},{"style":468},[2811],{"type":92,"value":2812},"from",{"type":87,"tag":237,"props":2814,"children":2815},{"style":252},[2816],{"type":92,"value":476},{"type":87,"tag":237,"props":2818,"children":2819},{"style":258},[2820],{"type":92,"value":2821},"std",{"type":87,"tag":237,"props":2823,"children":2824},{"style":346},[2825],{"type":92,"value":359},{"type":87,"tag":237,"props":2827,"children":2828},{"style":258},[2829],{"type":92,"value":2830},"env",{"type":87,"tag":237,"props":2832,"children":2833},{"style":346},[2834],{"type":92,"value":359},{"type":87,"tag":237,"props":2836,"children":2837},{"style":468},[2838],{"type":92,"value":2839},"var",{"type":87,"tag":237,"props":2841,"children":2842},{"style":252},[2843],{"type":92,"value":476},{"type":87,"tag":237,"props":2845,"children":2846},{"style":277},[2847],{"type":92,"value":2848},"\"OUT_DIR\"",{"type":87,"tag":237,"props":2850,"children":2851},{"style":252},[2852],{"type":92,"value":2853},")",{"type":87,"tag":237,"props":2855,"children":2856},{"style":346},[2857],{"type":92,"value":535},{"type":87,"tag":237,"props":2859,"children":2860},{"style":468},[2861],{"type":92,"value":2862},"unwrap",{"type":87,"tag":237,"props":2864,"children":2865},{"style":252},[2866],{"type":92,"value":2867},"())",{"type":87,"tag":237,"props":2869,"children":2870},{"style":346},[2871],{"type":92,"value":535},{"type":87,"tag":237,"props":2873,"children":2874},{"style":468},[2875],{"type":92,"value":2876},"join",{"type":87,"tag":237,"props":2878,"children":2879},{"style":252},[2880],{"type":92,"value":476},{"type":87,"tag":237,"props":2882,"children":2883},{"style":277},[2884],{"type":92,"value":2885},"\"plugin_index.rs\"",{"type":87,"tag":237,"props":2887,"children":2888},{"style":252},[2889],{"type":92,"value":2890},");\n",{"type":87,"tag":237,"props":2892,"children":2893},{"class":239,"line":312},[2894,2899,2903,2908,2913,2917,2921],{"type":87,"tag":237,"props":2895,"children":2896},{"style":468},[2897],{"type":92,"value":2898},"    generate_plugin_index",{"type":87,"tag":237,"props":2900,"children":2901},{"style":252},[2902],{"type":92,"value":476},{"type":87,"tag":237,"props":2904,"children":2905},{"style":277},[2906],{"type":92,"value":2907},"\"vaultaris.plugins.toml\"",{"type":87,"tag":237,"props":2909,"children":2910},{"style":252},[2911],{"type":92,"value":2912},", out)",{"type":87,"tag":237,"props":2914,"children":2915},{"style":346},[2916],{"type":92,"value":535},{"type":87,"tag":237,"props":2918,"children":2919},{"style":468},[2920],{"type":92,"value":2862},{"type":87,"tag":237,"props":2922,"children":2923},{"style":252},[2924],{"type":92,"value":2925},"();\n",{"type":87,"tag":237,"props":2927,"children":2928},{"class":239,"line":431},[2929],{"type":87,"tag":237,"props":2930,"children":2931},{"style":252},[2932],{"type":92,"value":1005},{"type":87,"tag":88,"props":2934,"children":2935},{},[2936,2938,2944,2946,2952],{"type":92,"value":2937},"The generated ",{"type":87,"tag":111,"props":2939,"children":2941},{"className":2940},[],[2942],{"type":92,"value":2943},"plugin_index.rs",{"type":92,"value":2945}," exports a ",{"type":87,"tag":111,"props":2947,"children":2949},{"className":2948},[],[2950],{"type":92,"value":2951},"PLUGIN_INDEX: &[PluginIndexEntry]",{"type":92,"value":2953},"\nslice that the host iterates at startup to load every flagged plugin.",{"type":87,"tag":220,"props":2955,"children":2957},{"id":2956},"tenant-isolation",[2958],{"type":92,"value":2959},"Tenant isolation",{"type":87,"tag":88,"props":2961,"children":2962},{},[2963,2965,2970,2972,2982,2984,2995],{"type":92,"value":2964},"Plugins are activated ",{"type":87,"tag":103,"props":2966,"children":2967},{},[2968],{"type":92,"value":2969},"per tenant",{"type":92,"value":2971},". The platform operator places the\nbinary on disk once, but each tenant must explicitly opt-in (via the admin\nAPI) before the host registers a dispatch slot for them. The\n",{"type":87,"tag":151,"props":2973,"children":2975},{"href":2974},"#registry",[2976],{"type":87,"tag":111,"props":2977,"children":2979},{"className":2978},[],[2980],{"type":92,"value":2981},"PluginHostRegistry",{"type":92,"value":2983}," filters every snapshot by the caller's\n",{"type":87,"tag":151,"props":2985,"children":2988},{"href":2986,"rel":2987},"https:\u002F\u002Fdocs.rs\u002Fvaultaris-plugin-host\u002Flatest\u002Fvaultaris_plugin_host\u002Fenum.TenantScope.html",[155],[2989],{"type":87,"tag":111,"props":2990,"children":2992},{"className":2991},[],[2993],{"type":92,"value":2994},"TenantScope",{"type":92,"value":2996},";\na tenant therefore cannot observe — let alone invoke — a plugin slot\ninstalled by a peer tenant.",{"type":87,"tag":88,"props":2998,"children":2999},{},[3000,3006],{"type":87,"tag":111,"props":3001,"children":3003},{"className":3002},[],[3004],{"type":92,"value":3005},"TenantScope::Global",{"type":92,"value":3007}," is reserved for plugins the operator approves\nplatform-wide (encryption providers, default audit sinks, …). Global slots\nare visible to every tenant alongside their own.",{"type":87,"tag":220,"props":3009,"children":3011},{"id":3010},"process-wide-library-cache",[3012],{"type":92,"value":3013},"Process-wide library cache",{"type":87,"tag":88,"props":3015,"children":3016},{},[3017,3019,3030,3032,3038,3040,3046,3048,3053,3055,3061,3063,3068,3070,3075],{"type":92,"value":3018},"The dynamic library on disk is cached in\n",{"type":87,"tag":151,"props":3020,"children":3023},{"href":3021,"rel":3022},"https:\u002F\u002Fdocs.rs\u002Fvaultaris-plugin-host\u002Flatest\u002Fvaultaris_plugin_host\u002Fstruct.PluginLibraryCache.html",[155],[3024],{"type":87,"tag":111,"props":3025,"children":3027},{"className":3026},[],[3028],{"type":92,"value":3029},"PluginLibraryCache",{"type":92,"value":3031},",\nkeyed by the canonical binary path. When tenant A activates a plugin the\nfile is ",{"type":87,"tag":111,"props":3033,"children":3035},{"className":3034},[],[3036],{"type":92,"value":3037},"dlopen",{"type":92,"value":3039},"-ed and the resulting ",{"type":87,"tag":111,"props":3041,"children":3043},{"className":3042},[],[3044],{"type":92,"value":3045},"Arc\u003Clibloading::Library>",{"type":92,"value":3047}," is stashed\nin the cache. When tenant B activates the same plugin we reuse the\nexisting ",{"type":87,"tag":111,"props":3049,"children":3051},{"className":3050},[],[3052],{"type":92,"value":1171},{"type":92,"value":3054}," — only the boxed trait objects minted by each tenant's\nown call to ",{"type":87,"tag":111,"props":3056,"children":3058},{"className":3057},[],[3059],{"type":92,"value":3060},"vaultaris_plugin_start(config)",{"type":92,"value":3062}," are new. Operators thus pay\nthe filesystem-read and ",{"type":87,"tag":111,"props":3064,"children":3066},{"className":3065},[],[3067],{"type":92,"value":3037},{"type":92,"value":3069}," cost ",{"type":87,"tag":103,"props":3071,"children":3072},{},[3073],{"type":92,"value":3074},"once",{"type":92,"value":3076},", regardless of how many\ntenants opt in.",{"type":87,"tag":88,"props":3078,"children":3079},{},[3080,3082,3088,3090,3096],{"type":92,"value":3081},"Uninstalling for a single tenant only drops that tenant's slots. The\ncached ",{"type":87,"tag":111,"props":3083,"children":3085},{"className":3084},[],[3086],{"type":92,"value":3087},"Arc\u003CLibrary>",{"type":92,"value":3089}," survives until every tenant referencing the binary\nhas uninstalled, at which point the dylib is ",{"type":87,"tag":111,"props":3091,"children":3093},{"className":3092},[],[3094],{"type":92,"value":3095},"dlclose",{"type":92,"value":3097},"-ed automatically.",{"type":87,"tag":220,"props":3099,"children":3101},{"id":3100},"installing-at-runtime",[3102],{"type":92,"value":3103},"Installing at runtime",{"type":87,"tag":227,"props":3105,"children":3109},{"code":3106,"language":3107,"meta":82,"className":3108,"style":82},"curl -X POST http:\u002F\u002Flocalhost:8080\u002Fapi\u002Fv1\u002Fadmin\u002Fplugins \\\n    -H 'Authorization: Bearer ADMIN_TOKEN' \\\n    -H 'Content-Type: application\u002Fjson' \\\n    -d @plugin-install.json\n","bash","language-bash shiki shiki-themes github-dark-dimmed github-light",[3110],{"type":87,"tag":111,"props":3111,"children":3112},{"__ignoreMap":82},[3113,3142,3159,3175],{"type":87,"tag":237,"props":3114,"children":3115},{"class":239,"line":8},[3116,3121,3126,3131,3136],{"type":87,"tag":237,"props":3117,"children":3118},{"style":258},[3119],{"type":92,"value":3120},"curl",{"type":87,"tag":237,"props":3122,"children":3123},{"style":484},[3124],{"type":92,"value":3125}," -X",{"type":87,"tag":237,"props":3127,"children":3128},{"style":277},[3129],{"type":92,"value":3130}," POST",{"type":87,"tag":237,"props":3132,"children":3133},{"style":277},[3134],{"type":92,"value":3135}," http:\u002F\u002Flocalhost:8080\u002Fapi\u002Fv1\u002Fadmin\u002Fplugins",{"type":87,"tag":237,"props":3137,"children":3139},{"style":3138},"--shiki-default:#F47067;--shiki-light:#005CC5",[3140],{"type":92,"value":3141}," \\\n",{"type":87,"tag":237,"props":3143,"children":3144},{"class":239,"line":42},[3145,3150,3155],{"type":87,"tag":237,"props":3146,"children":3147},{"style":484},[3148],{"type":92,"value":3149},"    -H",{"type":87,"tag":237,"props":3151,"children":3152},{"style":277},[3153],{"type":92,"value":3154}," 'Authorization: Bearer ADMIN_TOKEN'",{"type":87,"tag":237,"props":3156,"children":3157},{"style":3138},[3158],{"type":92,"value":3141},{"type":87,"tag":237,"props":3160,"children":3161},{"class":239,"line":32},[3162,3166,3171],{"type":87,"tag":237,"props":3163,"children":3164},{"style":484},[3165],{"type":92,"value":3149},{"type":87,"tag":237,"props":3167,"children":3168},{"style":277},[3169],{"type":92,"value":3170}," 'Content-Type: application\u002Fjson'",{"type":87,"tag":237,"props":3172,"children":3173},{"style":3138},[3174],{"type":92,"value":3141},{"type":87,"tag":237,"props":3176,"children":3177},{"class":239,"line":14},[3178,3183],{"type":87,"tag":237,"props":3179,"children":3180},{"style":484},[3181],{"type":92,"value":3182},"    -d",{"type":87,"tag":237,"props":3184,"children":3185},{"style":277},[3186],{"type":92,"value":3187}," @plugin-install.json\n",{"type":87,"tag":88,"props":3189,"children":3190},{},[3191,3193,3199,3201,3207],{"type":92,"value":3192},"The handler accepts a ",{"type":87,"tag":111,"props":3194,"children":3196},{"className":3195},[],[3197],{"type":92,"value":3198},"PluginInstallManifest",{"type":92,"value":3200}," and copies the binary to the\nconfigured plugin directory. The next call to\n",{"type":87,"tag":111,"props":3202,"children":3204},{"className":3203},[],[3205],{"type":92,"value":3206},"POST \u002Fapi\u002Fv1\u002Fadmin\u002Fplugins\u002F\u003Cid>\u002Factivate",{"type":92,"value":3208}," runs the loader and inserts the\nplugin into the runtime registry.",{"type":87,"tag":220,"props":3210,"children":3212},{"id":3211},"migrating-from-the-legacy-sdk",[3213],{"type":92,"value":3214},"Migrating from the legacy SDK",{"type":87,"tag":88,"props":3216,"children":3217},{},[3218],{"type":92,"value":3219},"The pre-0.2 SDK is gone. The migration boils down to:",{"type":87,"tag":1837,"props":3221,"children":3222},{},[3223,3239],{"type":87,"tag":1841,"props":3224,"children":3225},{},[3226],{"type":87,"tag":1845,"props":3227,"children":3228},{},[3229,3234],{"type":87,"tag":1849,"props":3230,"children":3231},{},[3232],{"type":92,"value":3233},"Legacy",{"type":87,"tag":1849,"props":3235,"children":3236},{},[3237],{"type":92,"value":3238},"Replacement",{"type":87,"tag":1865,"props":3240,"children":3241},{},[3242,3272,3293,3318,3340],{"type":87,"tag":1845,"props":3243,"children":3244},{},[3245,3254],{"type":87,"tag":1872,"props":3246,"children":3247},{},[3248],{"type":87,"tag":111,"props":3249,"children":3251},{"className":3250},[],[3252],{"type":92,"value":3253},"impl VaultarisPlugin",{"type":87,"tag":1872,"props":3255,"children":3256},{},[3257,3259,3264,3265,3270],{"type":92,"value":3258},"One trait per category (",{"type":87,"tag":111,"props":3260,"children":3262},{"className":3261},[],[3263],{"type":92,"value":116},{"type":92,"value":118},{"type":87,"tag":111,"props":3266,"children":3268},{"className":3267},[],[3269],{"type":92,"value":124},{"type":92,"value":3271},", …)",{"type":87,"tag":1845,"props":3273,"children":3274},{},[3275,3284],{"type":87,"tag":1872,"props":3276,"children":3277},{},[3278],{"type":87,"tag":111,"props":3279,"children":3281},{"className":3280},[],[3282],{"type":92,"value":3283},"vaultaris_plugin!(MyPlugin)",{"type":87,"tag":1872,"props":3285,"children":3286},{},[3287],{"type":87,"tag":111,"props":3288,"children":3290},{"className":3289},[],[3291],{"type":92,"value":3292},"vaultaris_plugin_sdk::plugin_export! { … }",{"type":87,"tag":1845,"props":3294,"children":3295},{},[3296,3307],{"type":87,"tag":1872,"props":3297,"children":3298},{},[3299,3305],{"type":87,"tag":111,"props":3300,"children":3302},{"className":3301},[],[3303],{"type":92,"value":3304},"HookContext",{"type":92,"value":3306}," (JSON)",{"type":87,"tag":1872,"props":3308,"children":3309},{},[3310,3316],{"type":87,"tag":111,"props":3311,"children":3313},{"className":3312},[],[3314],{"type":92,"value":3315},"RequestContext",{"type":92,"value":3317}," + category-specific structs",{"type":87,"tag":1845,"props":3319,"children":3320},{},[3321,3331],{"type":87,"tag":1872,"props":3322,"children":3323},{},[3324,3330],{"type":87,"tag":111,"props":3325,"children":3327},{"className":3326},[],[3328],{"type":92,"value":3329},"HookResult",{"type":92,"value":3306},{"type":87,"tag":1872,"props":3332,"children":3333},{},[3334],{"type":87,"tag":111,"props":3335,"children":3337},{"className":3336},[],[3338],{"type":92,"value":3339},"stabby::abi::Result\u003CT, PluginError>",{"type":87,"tag":1845,"props":3341,"children":3342},{},[3343,3356],{"type":87,"tag":1872,"props":3344,"children":3345},{},[3346,3348,3354],{"type":92,"value":3347},"Manual ",{"type":87,"tag":111,"props":3349,"children":3351},{"className":3350},[],[3352],{"type":92,"value":3353},"entry_point",{"type":92,"value":3355}," field",{"type":87,"tag":1872,"props":3357,"children":3358},{},[3359,3364],{"type":87,"tag":111,"props":3360,"children":3362},{"className":3361},[],[3363],{"type":92,"value":208},{"type":92,"value":3365}," next to the dylib",{"type":87,"tag":88,"props":3367,"children":3368},{},[3369,3371,3382],{"type":92,"value":3370},"Concrete examples live in\n",{"type":87,"tag":151,"props":3372,"children":3375},{"href":3373,"rel":3374},"https:\u002F\u002Fgithub.com\u002FSergioRibera\u002Fvaultaris\u002Ftree\u002Fmain\u002Fexamples\u002Fplugins",[155],[3376],{"type":87,"tag":111,"props":3377,"children":3379},{"className":3378},[],[3380],{"type":92,"value":3381},"examples\u002Fplugins\u002F",{"type":92,"value":535},{"type":87,"tag":220,"props":3384,"children":3386},{"id":3385},"async-dispatch-author-requirements",[3387],{"type":92,"value":3388},"Async dispatch — author requirements",{"type":87,"tag":88,"props":3390,"children":3391},{},[3392,3394,3399,3401,3407,3409,3415,3417,3423,3425,3431,3433,3438,3440,3446,3448,3453,3455,3461],{"type":92,"value":3393},"Every async trait method in the SDK is desugared by ",{"type":87,"tag":111,"props":3395,"children":3397},{"className":3396},[],[3398],{"type":92,"value":170},{"type":92,"value":3400},"\ninto an ",{"type":87,"tag":111,"props":3402,"children":3404},{"className":3403},[],[3405],{"type":92,"value":3406},"extern \"C\" fn(&self, ...) -> DynFuture\u003C'static, T>",{"type":92,"value":3408},". The blanket\nimpl that bridges ",{"type":87,"tag":111,"props":3410,"children":3412},{"className":3411},[],[3413],{"type":92,"value":3414},"T: YourTrait",{"type":92,"value":3416}," to ",{"type":87,"tag":111,"props":3418,"children":3420},{"className":3419},[],[3421],{"type":92,"value":3422},"\u003CYourTrait>Extern",{"type":92,"value":3424}," requires\n",{"type":87,"tag":111,"props":3426,"children":3428},{"className":3427},[],[3429],{"type":92,"value":3430},"T: Clone + 'static",{"type":92,"value":3432},": the macro clones ",{"type":87,"tag":111,"props":3434,"children":3436},{"className":3435},[],[3437],{"type":92,"value":487},{"type":92,"value":3439}," into the future so the\nboxed trait object never has to track a non-",{"type":87,"tag":111,"props":3441,"children":3443},{"className":3442},[],[3444],{"type":92,"value":3445},"'static",{"type":92,"value":3447}," lifetime — exactly\nwhat ",{"type":87,"tag":111,"props":3449,"children":3451},{"className":3450},[],[3452],{"type":92,"value":162},{"type":92,"value":3454},"'s ",{"type":87,"tag":111,"props":3456,"children":3458},{"className":3457},[],[3459],{"type":92,"value":3460},"Dyn",{"type":92,"value":3462}," wrapper expects.",{"type":87,"tag":88,"props":3464,"children":3465},{},[3466,3468,3473,3475,3481],{"type":92,"value":3467},"In practice plugin authors derive ",{"type":87,"tag":111,"props":3469,"children":3471},{"className":3470},[],[3472],{"type":92,"value":1219},{"type":92,"value":3474}," on a thin wrapper struct and\npark heavy state behind ",{"type":87,"tag":111,"props":3476,"children":3478},{"className":3477},[],[3479],{"type":92,"value":3480},"Arc\u003CInner>",{"type":92,"value":3482}," so the clone is essentially a\nrefcount bump:",{"type":87,"tag":227,"props":3484,"children":3486},{"code":3485,"language":327,"meta":82,"className":328,"style":82},"#[derive(Clone)]\npub struct TwilioSmsChannel {\n    inner: std::sync::Arc\u003CTwilioInner>,\n}\n\nstruct TwilioInner {\n    http: reqwest::Client,\n    account_sid: String,\n    auth_token: String,\n}\n",[3487],{"type":87,"tag":111,"props":3488,"children":3489},{"__ignoreMap":82},[3490,3505,3524,3569,3576,3583,3600,3630,3650,3670],{"type":87,"tag":237,"props":3491,"children":3492},{"class":239,"line":8},[3493,3497,3501],{"type":87,"tag":237,"props":3494,"children":3495},{"style":252},[3496],{"type":92,"value":389},{"type":87,"tag":237,"props":3498,"children":3499},{"style":258},[3500],{"type":92,"value":1219},{"type":87,"tag":237,"props":3502,"children":3503},{"style":252},[3504],{"type":92,"value":399},{"type":87,"tag":237,"props":3506,"children":3507},{"class":239,"line":42},[3508,3512,3516,3520],{"type":87,"tag":237,"props":3509,"children":3510},{"style":346},[3511],{"type":92,"value":407},{"type":87,"tag":237,"props":3513,"children":3514},{"style":346},[3515],{"type":92,"value":412},{"type":87,"tag":237,"props":3517,"children":3518},{"style":258},[3519],{"type":92,"value":417},{"type":87,"tag":237,"props":3521,"children":3522},{"style":252},[3523],{"type":92,"value":456},{"type":87,"tag":237,"props":3525,"children":3526},{"class":239,"line":32},[3527,3532,3536,3540,3544,3548,3552,3556,3560,3565],{"type":87,"tag":237,"props":3528,"children":3529},{"style":252},[3530],{"type":92,"value":3531},"    inner",{"type":87,"tag":237,"props":3533,"children":3534},{"style":346},[3535],{"type":92,"value":588},{"type":87,"tag":237,"props":3537,"children":3538},{"style":258},[3539],{"type":92,"value":1153},{"type":87,"tag":237,"props":3541,"children":3542},{"style":346},[3543],{"type":92,"value":359},{"type":87,"tag":237,"props":3545,"children":3546},{"style":258},[3547],{"type":92,"value":1162},{"type":87,"tag":237,"props":3549,"children":3550},{"style":346},[3551],{"type":92,"value":359},{"type":87,"tag":237,"props":3553,"children":3554},{"style":258},[3555],{"type":92,"value":1171},{"type":87,"tag":237,"props":3557,"children":3558},{"style":252},[3559],{"type":92,"value":1409},{"type":87,"tag":237,"props":3561,"children":3562},{"style":258},[3563],{"type":92,"value":3564},"TwilioInner",{"type":87,"tag":237,"props":3566,"children":3567},{"style":252},[3568],{"type":92,"value":857},{"type":87,"tag":237,"props":3570,"children":3571},{"class":239,"line":14},[3572],{"type":87,"tag":237,"props":3573,"children":3574},{"style":252},[3575],{"type":92,"value":1005},{"type":87,"tag":237,"props":3577,"children":3578},{"class":239,"line":78},[3579],{"type":87,"tag":237,"props":3580,"children":3581},{"emptyLinePlaceholder":290},[3582],{"type":92,"value":293},{"type":87,"tag":237,"props":3584,"children":3585},{"class":239,"line":312},[3586,3591,3596],{"type":87,"tag":237,"props":3587,"children":3588},{"style":346},[3589],{"type":92,"value":3590},"struct",{"type":87,"tag":237,"props":3592,"children":3593},{"style":258},[3594],{"type":92,"value":3595}," TwilioInner",{"type":87,"tag":237,"props":3597,"children":3598},{"style":252},[3599],{"type":92,"value":456},{"type":87,"tag":237,"props":3601,"children":3602},{"class":239,"line":431},[3603,3608,3612,3617,3621,3626],{"type":87,"tag":237,"props":3604,"children":3605},{"style":252},[3606],{"type":92,"value":3607},"    http",{"type":87,"tag":237,"props":3609,"children":3610},{"style":346},[3611],{"type":92,"value":588},{"type":87,"tag":237,"props":3613,"children":3614},{"style":258},[3615],{"type":92,"value":3616}," reqwest",{"type":87,"tag":237,"props":3618,"children":3619},{"style":346},[3620],{"type":92,"value":359},{"type":87,"tag":237,"props":3622,"children":3623},{"style":258},[3624],{"type":92,"value":3625},"Client",{"type":87,"tag":237,"props":3627,"children":3628},{"style":252},[3629],{"type":92,"value":696},{"type":87,"tag":237,"props":3631,"children":3632},{"class":239,"line":459},[3633,3638,3642,3646],{"type":87,"tag":237,"props":3634,"children":3635},{"style":252},[3636],{"type":92,"value":3637},"    account_sid",{"type":87,"tag":237,"props":3639,"children":3640},{"style":346},[3641],{"type":92,"value":588},{"type":87,"tag":237,"props":3643,"children":3644},{"style":258},[3645],{"type":92,"value":1285},{"type":87,"tag":237,"props":3647,"children":3648},{"style":252},[3649],{"type":92,"value":696},{"type":87,"tag":237,"props":3651,"children":3652},{"class":239,"line":548},[3653,3658,3662,3666],{"type":87,"tag":237,"props":3654,"children":3655},{"style":252},[3656],{"type":92,"value":3657},"    auth_token",{"type":87,"tag":237,"props":3659,"children":3660},{"style":346},[3661],{"type":92,"value":588},{"type":87,"tag":237,"props":3663,"children":3664},{"style":258},[3665],{"type":92,"value":1285},{"type":87,"tag":237,"props":3667,"children":3668},{"style":252},[3669],{"type":92,"value":696},{"type":87,"tag":237,"props":3671,"children":3672},{"class":239,"line":556},[3673],{"type":87,"tag":237,"props":3674,"children":3675},{"style":252},[3676],{"type":92,"value":1005},{"type":87,"tag":3678,"props":3679,"children":3681},"h3",{"id":3680},"calling-dispatchers-from-axum-handlers",[3682],{"type":92,"value":3683},"Calling dispatchers from axum handlers",{"type":87,"tag":88,"props":3685,"children":3686},{},[3687,3689,3695,3697,3703,3705,3711,3713,3719,3721,3726],{"type":92,"value":3688},"axum's ",{"type":87,"tag":111,"props":3690,"children":3692},{"className":3691},[],[3693],{"type":92,"value":3694},"Handler",{"type":92,"value":3696}," trait requires the handler future to be ",{"type":87,"tag":111,"props":3698,"children":3700},{"className":3699},[],[3701],{"type":92,"value":3702},"Send",{"type":92,"value":3704},".\nBorrowing ",{"type":87,"tag":111,"props":3706,"children":3708},{"className":3707},[],[3709],{"type":92,"value":3710},"&\u003CTrait>Stable",{"type":92,"value":3712}," across an ",{"type":87,"tag":111,"props":3714,"children":3716},{"className":3715},[],[3717],{"type":92,"value":3718},".await",{"type":92,"value":3720}," inside a handler currently\ntrips that bound — the borrow holds a reference into a stabby ",{"type":87,"tag":111,"props":3722,"children":3724},{"className":3723},[],[3725],{"type":92,"value":3460},{"type":92,"value":3727},"\nwhose vtable does not propagate auto traits. Two patterns work today:",{"type":87,"tag":95,"props":3729,"children":3730},{},[3731,3756],{"type":87,"tag":99,"props":3732,"children":3733},{},[3734,3739,3741,3747,3749,3754],{"type":87,"tag":103,"props":3735,"children":3736},{},[3737],{"type":92,"value":3738},"Listing.",{"type":92,"value":3740}," ",{"type":87,"tag":111,"props":3742,"children":3744},{"className":3743},[],[3745],{"type":92,"value":3746},"state.plugins.for_tenant(t).\u003Ccat>().registered_*()",{"type":92,"value":3748}," is\nsync inside the loop body and is safe to ",{"type":87,"tag":111,"props":3750,"children":3752},{"className":3751},[],[3753],{"type":92,"value":3718},{"type":92,"value":3755}," from any handler.\nUse it for admin endpoints that enumerate plugins.",{"type":87,"tag":99,"props":3757,"children":3758},{},[3759,3764,3766,3772,3774,3779,3781],{"type":87,"tag":103,"props":3760,"children":3761},{},[3762],{"type":92,"value":3763},"Fan-out via a task.",{"type":92,"value":3765}," Move the dispatch into a ",{"type":87,"tag":111,"props":3767,"children":3769},{"className":3768},[],[3770],{"type":92,"value":3771},"tokio::spawn",{"type":92,"value":3773}," so\nthe ",{"type":87,"tag":111,"props":3775,"children":3777},{"className":3776},[],[3778],{"type":92,"value":3702},{"type":92,"value":3780},"-sensitive borrow lives entirely inside its own future\nchain:",{"type":87,"tag":227,"props":3782,"children":3784},{"code":3783,"language":327,"meta":82,"className":328,"style":82},"let plugins = state.plugins.clone();\nlet ctx = ContextBuilder::for_tenant(tenant).build();\ntokio::spawn(async move {\n    plugins\n        .for_tenant(tenant)\n        .audit()\n        .record(ctx, event)\n        .await;\n});\n",[3785],{"type":87,"tag":111,"props":3786,"children":3787},{"__ignoreMap":82},[3788,3831,3878,3912,3920,3937,3954,3971,3983],{"type":87,"tag":237,"props":3789,"children":3790},{"class":239,"line":8},[3791,3796,3801,3805,3810,3814,3819,3823,3827],{"type":87,"tag":237,"props":3792,"children":3793},{"style":346},[3794],{"type":92,"value":3795},"let",{"type":87,"tag":237,"props":3797,"children":3798},{"style":252},[3799],{"type":92,"value":3800}," plugins ",{"type":87,"tag":237,"props":3802,"children":3803},{"style":346},[3804],{"type":92,"value":1571},{"type":87,"tag":237,"props":3806,"children":3807},{"style":252},[3808],{"type":92,"value":3809}," state",{"type":87,"tag":237,"props":3811,"children":3812},{"style":346},[3813],{"type":92,"value":535},{"type":87,"tag":237,"props":3815,"children":3816},{"style":252},[3817],{"type":92,"value":3818},"plugins",{"type":87,"tag":237,"props":3820,"children":3821},{"style":346},[3822],{"type":92,"value":535},{"type":87,"tag":237,"props":3824,"children":3825},{"style":468},[3826],{"type":92,"value":974},{"type":87,"tag":237,"props":3828,"children":3829},{"style":252},[3830],{"type":92,"value":2925},{"type":87,"tag":237,"props":3832,"children":3833},{"class":239,"line":42},[3834,3838,3843,3847,3852,3856,3861,3866,3870,3874],{"type":87,"tag":237,"props":3835,"children":3836},{"style":346},[3837],{"type":92,"value":3795},{"type":87,"tag":237,"props":3839,"children":3840},{"style":252},[3841],{"type":92,"value":3842}," ctx ",{"type":87,"tag":237,"props":3844,"children":3845},{"style":346},[3846],{"type":92,"value":1571},{"type":87,"tag":237,"props":3848,"children":3849},{"style":258},[3850],{"type":92,"value":3851}," ContextBuilder",{"type":87,"tag":237,"props":3853,"children":3854},{"style":346},[3855],{"type":92,"value":359},{"type":87,"tag":237,"props":3857,"children":3858},{"style":468},[3859],{"type":92,"value":3860},"for_tenant",{"type":87,"tag":237,"props":3862,"children":3863},{"style":252},[3864],{"type":92,"value":3865},"(tenant)",{"type":87,"tag":237,"props":3867,"children":3868},{"style":346},[3869],{"type":92,"value":535},{"type":87,"tag":237,"props":3871,"children":3872},{"style":468},[3873],{"type":92,"value":2747},{"type":87,"tag":237,"props":3875,"children":3876},{"style":252},[3877],{"type":92,"value":2925},{"type":87,"tag":237,"props":3879,"children":3880},{"class":239,"line":32},[3881,3886,3890,3895,3899,3904,3908],{"type":87,"tag":237,"props":3882,"children":3883},{"style":258},[3884],{"type":92,"value":3885},"tokio",{"type":87,"tag":237,"props":3887,"children":3888},{"style":346},[3889],{"type":92,"value":359},{"type":87,"tag":237,"props":3891,"children":3892},{"style":468},[3893],{"type":92,"value":3894},"spawn",{"type":87,"tag":237,"props":3896,"children":3897},{"style":252},[3898],{"type":92,"value":476},{"type":87,"tag":237,"props":3900,"children":3901},{"style":346},[3902],{"type":92,"value":3903},"async",{"type":87,"tag":237,"props":3905,"children":3906},{"style":346},[3907],{"type":92,"value":904},{"type":87,"tag":237,"props":3909,"children":3910},{"style":252},[3911],{"type":92,"value":456},{"type":87,"tag":237,"props":3913,"children":3914},{"class":239,"line":14},[3915],{"type":87,"tag":237,"props":3916,"children":3917},{"style":252},[3918],{"type":92,"value":3919},"    plugins\n",{"type":87,"tag":237,"props":3921,"children":3922},{"class":239,"line":78},[3923,3928,3932],{"type":87,"tag":237,"props":3924,"children":3925},{"style":346},[3926],{"type":92,"value":3927},"        .",{"type":87,"tag":237,"props":3929,"children":3930},{"style":468},[3931],{"type":92,"value":3860},{"type":87,"tag":237,"props":3933,"children":3934},{"style":252},[3935],{"type":92,"value":3936},"(tenant)\n",{"type":87,"tag":237,"props":3938,"children":3939},{"class":239,"line":312},[3940,3944,3949],{"type":87,"tag":237,"props":3941,"children":3942},{"style":346},[3943],{"type":92,"value":3927},{"type":87,"tag":237,"props":3945,"children":3946},{"style":468},[3947],{"type":92,"value":3948},"audit",{"type":87,"tag":237,"props":3950,"children":3951},{"style":252},[3952],{"type":92,"value":3953},"()\n",{"type":87,"tag":237,"props":3955,"children":3956},{"class":239,"line":431},[3957,3961,3966],{"type":87,"tag":237,"props":3958,"children":3959},{"style":346},[3960],{"type":92,"value":3927},{"type":87,"tag":237,"props":3962,"children":3963},{"style":468},[3964],{"type":92,"value":3965},"record",{"type":87,"tag":237,"props":3967,"children":3968},{"style":252},[3969],{"type":92,"value":3970},"(ctx, event)\n",{"type":87,"tag":237,"props":3972,"children":3973},{"class":239,"line":459},[3974,3979],{"type":87,"tag":237,"props":3975,"children":3976},{"style":346},[3977],{"type":92,"value":3978},"        .await",{"type":87,"tag":237,"props":3980,"children":3981},{"style":252},[3982],{"type":92,"value":374},{"type":87,"tag":237,"props":3984,"children":3985},{"class":239,"line":548},[3986],{"type":87,"tag":237,"props":3987,"children":3988},{"style":252},[3989],{"type":92,"value":3990},"});\n",{"type":87,"tag":88,"props":3992,"children":3993},{},[3994,3996,4002,4004,4009,4011,4016],{"type":92,"value":3995},"A direct in-handler call (",{"type":87,"tag":111,"props":3997,"children":3999},{"className":3998},[],[4000],{"type":92,"value":4001},"state.plugins.for_tenant(t).hooks().emit(...).await",{"type":92,"value":4003},")\nwill compile once the upstream ",{"type":87,"tag":111,"props":4005,"children":4007},{"className":4006},[],[4008],{"type":92,"value":162},{"type":92,"value":4010}," issue tracking auto-trait\npropagation through ",{"type":87,"tag":111,"props":4012,"children":4014},{"className":4013},[],[4015],{"type":92,"value":3460},{"type":92,"value":4017}," lands. The dispatchers and the registry\nthemselves are already async-correct.",{"type":87,"tag":220,"props":4019,"children":4021},{"id":4020},"priority-and-ordering",[4022],{"type":92,"value":4023},"Priority and ordering",{"type":87,"tag":88,"props":4025,"children":4026},{},[4027,4029,4035,4037,4042,4044,4049,4051,4056,4058,4063],{"type":92,"value":4028},"Slots are stable-sorted ascending on ",{"type":87,"tag":111,"props":4030,"children":4032},{"className":4031},[],[4033],{"type":92,"value":4034},"priority",{"type":92,"value":4036}," at install time, so\niteration is deterministic and lower-priority plugins run first.\nManifests set the priority ",{"type":87,"tag":103,"props":4038,"children":4039},{},[4040],{"type":92,"value":4041},"per category",{"type":92,"value":4043}," in ",{"type":87,"tag":111,"props":4045,"children":4047},{"className":4046},[],[4048],{"type":92,"value":208},{"type":92,"value":4050},", so a\nplugin that contributes both an ",{"type":87,"tag":111,"props":4052,"children":4054},{"className":4053},[],[4055],{"type":92,"value":2033},{"type":92,"value":4057}," and an ",{"type":87,"tag":111,"props":4059,"children":4061},{"className":4060},[],[4062],{"type":92,"value":2137},{"type":92,"value":4064},"\ncan run early as a validator and late as an audit sink:",{"type":87,"tag":227,"props":4066,"children":4068},{"code":4067,"language":230,"meta":82,"className":231,"style":82},"[[categories]]\nkind     = \"input_validator\"\npriority = 10            # runs before community validators\n\n[[categories]]\nkind     = \"audit_sink\"\npriority = 200           # ships its data after every other sink\n",[4069],{"type":87,"tag":111,"props":4070,"children":4071},{"__ignoreMap":82},[4072,4087,4099,4116,4123,4138,4149],{"type":87,"tag":237,"props":4073,"children":4074},{"class":239,"line":8},[4075,4079,4083],{"type":87,"tag":237,"props":4076,"children":4077},{"style":252},[4078],{"type":92,"value":1744},{"type":87,"tag":237,"props":4080,"children":4081},{"style":258},[4082],{"type":92,"value":1749},{"type":87,"tag":237,"props":4084,"children":4085},{"style":252},[4086],{"type":92,"value":1754},{"type":87,"tag":237,"props":4088,"children":4089},{"class":239,"line":42},[4090,4094],{"type":87,"tag":237,"props":4091,"children":4092},{"style":252},[4093],{"type":92,"value":1762},{"type":87,"tag":237,"props":4095,"children":4096},{"style":277},[4097],{"type":92,"value":4098},"\"input_validator\"\n",{"type":87,"tag":237,"props":4100,"children":4101},{"class":239,"line":32},[4102,4106,4111],{"type":87,"tag":237,"props":4103,"children":4104},{"style":252},[4105],{"type":92,"value":1775},{"type":87,"tag":237,"props":4107,"children":4108},{"style":484},[4109],{"type":92,"value":4110},"10",{"type":87,"tag":237,"props":4112,"children":4113},{"style":243},[4114],{"type":92,"value":4115},"            # runs before community validators\n",{"type":87,"tag":237,"props":4117,"children":4118},{"class":239,"line":14},[4119],{"type":87,"tag":237,"props":4120,"children":4121},{"emptyLinePlaceholder":290},[4122],{"type":92,"value":293},{"type":87,"tag":237,"props":4124,"children":4125},{"class":239,"line":78},[4126,4130,4134],{"type":87,"tag":237,"props":4127,"children":4128},{"style":252},[4129],{"type":92,"value":1744},{"type":87,"tag":237,"props":4131,"children":4132},{"style":258},[4133],{"type":92,"value":1749},{"type":87,"tag":237,"props":4135,"children":4136},{"style":252},[4137],{"type":92,"value":1754},{"type":87,"tag":237,"props":4139,"children":4140},{"class":239,"line":312},[4141,4145],{"type":87,"tag":237,"props":4142,"children":4143},{"style":252},[4144],{"type":92,"value":1762},{"type":87,"tag":237,"props":4146,"children":4147},{"style":277},[4148],{"type":92,"value":2397},{"type":87,"tag":237,"props":4150,"children":4151},{"class":239,"line":431},[4152,4156,4161],{"type":87,"tag":237,"props":4153,"children":4154},{"style":252},[4155],{"type":92,"value":1775},{"type":87,"tag":237,"props":4157,"children":4158},{"style":484},[4159],{"type":92,"value":4160},"200",{"type":87,"tag":237,"props":4162,"children":4163},{"style":243},[4164],{"type":92,"value":4165},"           # ships its data after every other sink\n",{"type":87,"tag":88,"props":4167,"children":4168},{},[4169],{"type":92,"value":4170},"Two slots that share the same priority keep their install order — that\norder is the order tenants opt-in, so operators can rely on it.",{"type":87,"tag":220,"props":4172,"children":4174},{"id":4173},"per-tenant-configuration",[4175],{"type":92,"value":4176},"Per-tenant configuration",{"type":87,"tag":88,"props":4178,"children":4179},{},[4180,4182,4188],{"type":92,"value":4181},"Operators store every plugin's settings inside the tenant's advanced\nsettings document under the conventional ",{"type":87,"tag":111,"props":4183,"children":4185},{"className":4184},[],[4186],{"type":92,"value":4187},"plugins.\u003Cplugin_id>",{"type":92,"value":4189}," key:",{"type":87,"tag":227,"props":4191,"children":4195},{"code":4192,"language":4193,"meta":82,"className":4194,"style":82},"{\n  \"branding\": { \u002F* … *\u002F },\n  \"plugins\": {\n    \"dev.vaultaris.notifications.twilio-sms\": {\n      \"account_sid\": \"AC...\",\n      \"auth_token\":  \"secret\",\n      \"from_number\": \"+15551234567\"\n    }\n  }\n}\n","jsonc","language-jsonc shiki shiki-themes github-dark-dimmed github-light",[4196],{"type":87,"tag":111,"props":4197,"children":4198},{"__ignoreMap":82},[4199,4207,4215,4223,4231,4239,4247,4255,4262,4270],{"type":87,"tag":237,"props":4200,"children":4201},{"class":239,"line":8},[4202],{"type":87,"tag":237,"props":4203,"children":4204},{},[4205],{"type":92,"value":4206},"{\n",{"type":87,"tag":237,"props":4208,"children":4209},{"class":239,"line":42},[4210],{"type":87,"tag":237,"props":4211,"children":4212},{},[4213],{"type":92,"value":4214},"  \"branding\": { \u002F* … *\u002F },\n",{"type":87,"tag":237,"props":4216,"children":4217},{"class":239,"line":32},[4218],{"type":87,"tag":237,"props":4219,"children":4220},{},[4221],{"type":92,"value":4222},"  \"plugins\": {\n",{"type":87,"tag":237,"props":4224,"children":4225},{"class":239,"line":14},[4226],{"type":87,"tag":237,"props":4227,"children":4228},{},[4229],{"type":92,"value":4230},"    \"dev.vaultaris.notifications.twilio-sms\": {\n",{"type":87,"tag":237,"props":4232,"children":4233},{"class":239,"line":78},[4234],{"type":87,"tag":237,"props":4235,"children":4236},{},[4237],{"type":92,"value":4238},"      \"account_sid\": \"AC...\",\n",{"type":87,"tag":237,"props":4240,"children":4241},{"class":239,"line":312},[4242],{"type":87,"tag":237,"props":4243,"children":4244},{},[4245],{"type":92,"value":4246},"      \"auth_token\":  \"secret\",\n",{"type":87,"tag":237,"props":4248,"children":4249},{"class":239,"line":431},[4250],{"type":87,"tag":237,"props":4251,"children":4252},{},[4253],{"type":92,"value":4254},"      \"from_number\": \"+15551234567\"\n",{"type":87,"tag":237,"props":4256,"children":4257},{"class":239,"line":459},[4258],{"type":87,"tag":237,"props":4259,"children":4260},{},[4261],{"type":92,"value":652},{"type":87,"tag":237,"props":4263,"children":4264},{"class":239,"line":548},[4265],{"type":87,"tag":237,"props":4266,"children":4267},{},[4268],{"type":92,"value":4269},"  }\n",{"type":87,"tag":237,"props":4271,"children":4272},{"class":239,"line":556},[4273],{"type":87,"tag":237,"props":4274,"children":4275},{},[4276],{"type":92,"value":1005},{"type":87,"tag":88,"props":4278,"children":4279},{},[4280,4282,4287,4289,4295,4297,4302],{"type":92,"value":4281},"The host carves the subtree out before crossing the FFI boundary and\nhands it to the plugin's ",{"type":87,"tag":111,"props":4283,"children":4285},{"className":4284},[],[4286],{"type":92,"value":1660},{"type":92,"value":4288}," hook as ",{"type":87,"tag":111,"props":4290,"children":4292},{"className":4291},[],[4293],{"type":92,"value":4294},"PluginStartConfig.config_json",{"type":92,"value":4296},".\nPlugins ",{"type":87,"tag":103,"props":4298,"children":4299},{},[4300],{"type":92,"value":4301},"never",{"type":92,"value":4303}," see anything outside their own subtree, so two plugins\non the same tenant cannot read each other's secrets.",{"type":87,"tag":88,"props":4305,"children":4306},{},[4307],{"type":92,"value":4308},"The control-plane API serves the merged schema of every active plugin\nat:",{"type":87,"tag":227,"props":4310,"children":4312},{"code":4311},"GET \u002Fapi\u002Fv1\u002Ftenants\u002F{tenant_id}\u002Fplugins\u002Factive-schemas\n",[4313],{"type":87,"tag":111,"props":4314,"children":4315},{"__ignoreMap":82},[4316],{"type":92,"value":4311},{"type":87,"tag":88,"props":4318,"children":4319},{},[4320,4322,4328,4330,4336,4338,4343],{"type":92,"value":4321},"so the admin UI can autocomplete ",{"type":87,"tag":111,"props":4323,"children":4325},{"className":4324},[],[4326],{"type":92,"value":4327},"plugins.\u003Cplugin_id>.\u003Cfield>",{"type":92,"value":4329}," keys\nwithout baking plugin-specific knowledge into the frontend. When the\noperator saves a new advanced-settings document the backend invokes\n",{"type":87,"tag":111,"props":4331,"children":4333},{"className":4332},[],[4334],{"type":92,"value":4335},"stop",{"type":92,"value":4337}," + ",{"type":87,"tag":111,"props":4339,"children":4341},{"className":4340},[],[4342],{"type":92,"value":1660},{"type":92,"value":4344}," on every active plugin for the tenant, so rotated\nsecrets take effect without a server restart.",{"type":87,"tag":220,"props":4346,"children":4348},{"id":4347},"inbound-webhooks",[4349],{"type":92,"value":4350},"Inbound webhooks",{"type":87,"tag":88,"props":4352,"children":4353},{},[4354,4356,4365,4367,4373],{"type":92,"value":4355},"Plugins that need to receive HTTP from external providers (Twilio's\ndelivery callbacks, Stripe events, GitHub deployment hooks, …)\nimplement ",{"type":87,"tag":151,"props":4357,"children":4359},{"href":4358},"#",[4360],{"type":87,"tag":111,"props":4361,"children":4363},{"className":4362},[],[4364],{"type":92,"value":2198},{"type":92,"value":4366}," and declare ",{"type":87,"tag":111,"props":4368,"children":4370},{"className":4369},[],[4371],{"type":92,"value":4372},"[[webhook]]",{"type":92,"value":4374}," entries in\ntheir manifest. The host owns the HTTP server and routes inbound\nrequests by URL — plugins never bind a port.",{"type":87,"tag":227,"props":4376,"children":4378},{"code":4377,"language":230,"meta":82,"className":231,"style":82},"# plugin.toml\nslug = \"twilio\"          # optional; URL-safe; falls back to `id`\n\n[[categories]]\nkind = \"webhook_handler\"\n\n[[webhook]]\nroute_id        = \"sms-status\"\npath            = \"\u002Fsms-status\"\nmethods         = [\"POST\"]\ndescription     = \"Twilio MessageStatus delivery callback\"\nmax_body_bytes  = 65536      # default 1 MiB\ntimeout_seconds = 5          # default 10\n",[4379],{"type":87,"tag":111,"props":4380,"children":4381},{"__ignoreMap":82},[4382,4389,4407,4414,4429,4442,4449,4465,4478,4491,4508,4521,4539],{"type":87,"tag":237,"props":4383,"children":4384},{"class":239,"line":8},[4385],{"type":87,"tag":237,"props":4386,"children":4387},{"style":243},[4388],{"type":92,"value":1677},{"type":87,"tag":237,"props":4390,"children":4391},{"class":239,"line":42},[4392,4397,4402],{"type":87,"tag":237,"props":4393,"children":4394},{"style":252},[4395],{"type":92,"value":4396},"slug = ",{"type":87,"tag":237,"props":4398,"children":4399},{"style":277},[4400],{"type":92,"value":4401},"\"twilio\"",{"type":87,"tag":237,"props":4403,"children":4404},{"style":243},[4405],{"type":92,"value":4406},"          # optional; URL-safe; falls back to `id`\n",{"type":87,"tag":237,"props":4408,"children":4409},{"class":239,"line":32},[4410],{"type":87,"tag":237,"props":4411,"children":4412},{"emptyLinePlaceholder":290},[4413],{"type":92,"value":293},{"type":87,"tag":237,"props":4415,"children":4416},{"class":239,"line":14},[4417,4421,4425],{"type":87,"tag":237,"props":4418,"children":4419},{"style":252},[4420],{"type":92,"value":1744},{"type":87,"tag":237,"props":4422,"children":4423},{"style":258},[4424],{"type":92,"value":1749},{"type":87,"tag":237,"props":4426,"children":4427},{"style":252},[4428],{"type":92,"value":1754},{"type":87,"tag":237,"props":4430,"children":4431},{"class":239,"line":78},[4432,4437],{"type":87,"tag":237,"props":4433,"children":4434},{"style":252},[4435],{"type":92,"value":4436},"kind = ",{"type":87,"tag":237,"props":4438,"children":4439},{"style":277},[4440],{"type":92,"value":4441},"\"webhook_handler\"\n",{"type":87,"tag":237,"props":4443,"children":4444},{"class":239,"line":312},[4445],{"type":87,"tag":237,"props":4446,"children":4447},{"emptyLinePlaceholder":290},[4448],{"type":92,"value":293},{"type":87,"tag":237,"props":4450,"children":4451},{"class":239,"line":431},[4452,4456,4461],{"type":87,"tag":237,"props":4453,"children":4454},{"style":252},[4455],{"type":92,"value":1744},{"type":87,"tag":237,"props":4457,"children":4458},{"style":258},[4459],{"type":92,"value":4460},"webhook",{"type":87,"tag":237,"props":4462,"children":4463},{"style":252},[4464],{"type":92,"value":1754},{"type":87,"tag":237,"props":4466,"children":4467},{"class":239,"line":459},[4468,4473],{"type":87,"tag":237,"props":4469,"children":4470},{"style":252},[4471],{"type":92,"value":4472},"route_id        = ",{"type":87,"tag":237,"props":4474,"children":4475},{"style":277},[4476],{"type":92,"value":4477},"\"sms-status\"\n",{"type":87,"tag":237,"props":4479,"children":4480},{"class":239,"line":548},[4481,4486],{"type":87,"tag":237,"props":4482,"children":4483},{"style":252},[4484],{"type":92,"value":4485},"path            = ",{"type":87,"tag":237,"props":4487,"children":4488},{"style":277},[4489],{"type":92,"value":4490},"\"\u002Fsms-status\"\n",{"type":87,"tag":237,"props":4492,"children":4493},{"class":239,"line":556},[4494,4499,4504],{"type":87,"tag":237,"props":4495,"children":4496},{"style":252},[4497],{"type":92,"value":4498},"methods         = [",{"type":87,"tag":237,"props":4500,"children":4501},{"style":277},[4502],{"type":92,"value":4503},"\"POST\"",{"type":87,"tag":237,"props":4505,"children":4506},{"style":252},[4507],{"type":92,"value":266},{"type":87,"tag":237,"props":4509,"children":4510},{"class":239,"line":613},[4511,4516],{"type":87,"tag":237,"props":4512,"children":4513},{"style":252},[4514],{"type":92,"value":4515},"description     = ",{"type":87,"tag":237,"props":4517,"children":4518},{"style":277},[4519],{"type":92,"value":4520},"\"Twilio MessageStatus delivery callback\"\n",{"type":87,"tag":237,"props":4522,"children":4523},{"class":239,"line":646},[4524,4529,4534],{"type":87,"tag":237,"props":4525,"children":4526},{"style":252},[4527],{"type":92,"value":4528},"max_body_bytes  = ",{"type":87,"tag":237,"props":4530,"children":4531},{"style":484},[4532],{"type":92,"value":4533},"65536",{"type":87,"tag":237,"props":4535,"children":4536},{"style":243},[4537],{"type":92,"value":4538},"      # default 1 MiB\n",{"type":87,"tag":237,"props":4540,"children":4541},{"class":239,"line":655},[4542,4547,4552],{"type":87,"tag":237,"props":4543,"children":4544},{"style":252},[4545],{"type":92,"value":4546},"timeout_seconds = ",{"type":87,"tag":237,"props":4548,"children":4549},{"style":484},[4550],{"type":92,"value":4551},"5",{"type":87,"tag":237,"props":4553,"children":4554},{"style":243},[4555],{"type":92,"value":4556},"          # default 10\n",{"type":87,"tag":88,"props":4558,"children":4559},{},[4560,4562,4567],{"type":92,"value":4561},"The host mounts every ",{"type":87,"tag":111,"props":4563,"children":4565},{"className":4564},[],[4566],{"type":92,"value":4372},{"type":92,"value":4568}," entry at:",{"type":87,"tag":227,"props":4570,"children":4573},{"code":4571,"language":92,"meta":82,"className":4572,"style":82},"\u002Fwebhook\u002F{plugin_slug}\u002F{tenant_id}\u002F{rest...}\n","language-text shiki shiki-themes github-dark-dimmed github-light",[4574],{"type":87,"tag":111,"props":4575,"children":4576},{"__ignoreMap":82},[4577],{"type":87,"tag":237,"props":4578,"children":4579},{"class":239,"line":8},[4580],{"type":87,"tag":237,"props":4581,"children":4582},{},[4583],{"type":92,"value":4571},{"type":87,"tag":2518,"props":4585,"children":4586},{},[4587,4621,4646],{"type":87,"tag":99,"props":4588,"children":4589},{},[4590,4596,4598,4604,4606,4611,4613,4619],{"type":87,"tag":111,"props":4591,"children":4593},{"className":4592},[],[4594],{"type":92,"value":4595},"plugin_slug",{"type":92,"value":4597}," is the manifest's ",{"type":87,"tag":111,"props":4599,"children":4601},{"className":4600},[],[4602],{"type":92,"value":4603},"slug",{"type":92,"value":4605}," when set, otherwise the full\nreverse-DNS ",{"type":87,"tag":111,"props":4607,"children":4609},{"className":4608},[],[4610],{"type":92,"value":2561},{"type":92,"value":4612}," (",{"type":87,"tag":111,"props":4614,"children":4616},{"className":4615},[],[4617],{"type":92,"value":4618},"\u002Fwebhook\u002Fdev.vaultaris.notifications.twilio-sms\u002F...",{"type":92,"value":4620},"\nalso works, just less pretty).",{"type":87,"tag":99,"props":4622,"children":4623},{},[4624,4630,4632,4638,4640,4645],{"type":87,"tag":111,"props":4625,"children":4627},{"className":4626},[],[4628],{"type":92,"value":4629},"tenant_id",{"type":92,"value":4631}," is the tenant UUID for tenant-scoped activations or the\nliteral string ",{"type":87,"tag":111,"props":4633,"children":4635},{"className":4634},[],[4636],{"type":92,"value":4637},"global",{"type":92,"value":4639}," for plugins activated under\n",{"type":87,"tag":111,"props":4641,"children":4643},{"className":4642},[],[4644],{"type":92,"value":3005},{"type":92,"value":535},{"type":87,"tag":99,"props":4647,"children":4648},{},[4649,4655,4657,4663,4665,4671,4673,4679,4681,4687],{"type":87,"tag":111,"props":4650,"children":4652},{"className":4651},[],[4653],{"type":92,"value":4654},"rest",{"type":92,"value":4656}," is matched against ",{"type":87,"tag":111,"props":4658,"children":4660},{"className":4659},[],[4661],{"type":92,"value":4662},"[[webhook]].path",{"type":92,"value":4664}," as a literal prefix.\n",{"type":87,"tag":111,"props":4666,"children":4668},{"className":4667},[],[4669],{"type":92,"value":4670},"path = \"\u002Fsms-status\"",{"type":92,"value":4672}," accepts both ",{"type":87,"tag":111,"props":4674,"children":4676},{"className":4675},[],[4677],{"type":92,"value":4678},"\u002Fsms-status",{"type":92,"value":4680}," and\n",{"type":87,"tag":111,"props":4682,"children":4684},{"className":4683},[],[4685],{"type":92,"value":4686},"\u002Fsms-status\u002Fanything",{"type":92,"value":535},{"type":87,"tag":227,"props":4689,"children":4691},{"code":4690,"language":327,"meta":82,"className":328,"style":82},"use vaultaris_plugin_sdk::prelude::*;\n\n#[derive(Clone)]\npub struct TwilioSmsStatusWebhook { cfg: Arc\u003CTwilioConfig> }\n\nimpl FromPluginConfig\u003CTwilioConfig> for TwilioSmsStatusWebhook {\n    fn from_config(cfg: Arc\u003CTwilioConfig>) -> Self { Self { cfg } }\n}\n\nimpl WebhookHandler for TwilioSmsStatusWebhook {\n    fn route_id(&self) -> stabby::string::String { \"sms-status\".into() }\n\n    async fn handle(&self, ctx: WebhookContext, req: WebhookRequest)\n        -> PluginResult\u003CWebhookResponse>\n    {\n        \u002F\u002F 1. Verify the provider signature (Twilio: X-Twilio-Signature\n        \u002F\u002F    HMAC-SHA1 of `full_url + sorted_form_body` with\n        \u002F\u002F    cfg.auth_token as the key).\n        \u002F\u002F 2. Parse the form-encoded body for MessageSid, MessageStatus,\n        \u002F\u002F    From, To, ErrorCode.\n        \u002F\u002F 3. Persist whatever you need through Vaultaris's storage\n        \u002F\u002F    abstractions.\n        stabby::abi::Result::Ok(WebhookResponse::no_content())\n    }\n}\n\nplugin_export! {\n    config = TwilioConfig;\n    NotificationChannel => [TwilioSmsChannel],\n    WebhookHandler      => [TwilioSmsStatusWebhook],\n}\n",[4692],{"type":87,"tag":111,"props":4693,"children":4694},{"__ignoreMap":82},[4695,4722,4729,4744,4784,4791,4826,4881,4888,4895,4919,4992,4999,5061,5088,5096,5104,5112,5120,5128,5136,5144,5152,5205,5212,5219,5226,5237,5256,5279,5305],{"type":87,"tag":237,"props":4696,"children":4697},{"class":239,"line":8},[4698,4702,4706,4710,4714,4718],{"type":87,"tag":237,"props":4699,"children":4700},{"style":346},[4701],{"type":92,"value":349},{"type":87,"tag":237,"props":4703,"children":4704},{"style":258},[4705],{"type":92,"value":354},{"type":87,"tag":237,"props":4707,"children":4708},{"style":346},[4709],{"type":92,"value":359},{"type":87,"tag":237,"props":4711,"children":4712},{"style":258},[4713],{"type":92,"value":364},{"type":87,"tag":237,"props":4715,"children":4716},{"style":346},[4717],{"type":92,"value":369},{"type":87,"tag":237,"props":4719,"children":4720},{"style":252},[4721],{"type":92,"value":374},{"type":87,"tag":237,"props":4723,"children":4724},{"class":239,"line":42},[4725],{"type":87,"tag":237,"props":4726,"children":4727},{"emptyLinePlaceholder":290},[4728],{"type":92,"value":293},{"type":87,"tag":237,"props":4730,"children":4731},{"class":239,"line":32},[4732,4736,4740],{"type":87,"tag":237,"props":4733,"children":4734},{"style":252},[4735],{"type":92,"value":389},{"type":87,"tag":237,"props":4737,"children":4738},{"style":258},[4739],{"type":92,"value":1219},{"type":87,"tag":237,"props":4741,"children":4742},{"style":252},[4743],{"type":92,"value":399},{"type":87,"tag":237,"props":4745,"children":4746},{"class":239,"line":14},[4747,4751,4755,4760,4764,4768,4772,4776,4780],{"type":87,"tag":237,"props":4748,"children":4749},{"style":346},[4750],{"type":92,"value":407},{"type":87,"tag":237,"props":4752,"children":4753},{"style":346},[4754],{"type":92,"value":412},{"type":87,"tag":237,"props":4756,"children":4757},{"style":258},[4758],{"type":92,"value":4759}," TwilioSmsStatusWebhook",{"type":87,"tag":237,"props":4761,"children":4762},{"style":252},[4763],{"type":92,"value":1395},{"type":87,"tag":237,"props":4765,"children":4766},{"style":346},[4767],{"type":92,"value":588},{"type":87,"tag":237,"props":4769,"children":4770},{"style":258},[4771],{"type":92,"value":1404},{"type":87,"tag":237,"props":4773,"children":4774},{"style":252},[4775],{"type":92,"value":1409},{"type":87,"tag":237,"props":4777,"children":4778},{"style":258},[4779],{"type":92,"value":1414},{"type":87,"tag":237,"props":4781,"children":4782},{"style":252},[4783],{"type":92,"value":1419},{"type":87,"tag":237,"props":4785,"children":4786},{"class":239,"line":78},[4787],{"type":87,"tag":237,"props":4788,"children":4789},{"emptyLinePlaceholder":290},[4790],{"type":92,"value":293},{"type":87,"tag":237,"props":4792,"children":4793},{"class":239,"line":312},[4794,4798,4802,4806,4810,4814,4818,4822],{"type":87,"tag":237,"props":4795,"children":4796},{"style":346},[4797],{"type":92,"value":437},{"type":87,"tag":237,"props":4799,"children":4800},{"style":258},[4801],{"type":92,"value":1438},{"type":87,"tag":237,"props":4803,"children":4804},{"style":252},[4805],{"type":92,"value":1409},{"type":87,"tag":237,"props":4807,"children":4808},{"style":258},[4809],{"type":92,"value":1414},{"type":87,"tag":237,"props":4811,"children":4812},{"style":252},[4813],{"type":92,"value":1451},{"type":87,"tag":237,"props":4815,"children":4816},{"style":346},[4817],{"type":92,"value":1456},{"type":87,"tag":237,"props":4819,"children":4820},{"style":258},[4821],{"type":92,"value":4759},{"type":87,"tag":237,"props":4823,"children":4824},{"style":252},[4825],{"type":92,"value":456},{"type":87,"tag":237,"props":4827,"children":4828},{"class":239,"line":431},[4829,4833,4837,4841,4845,4849,4853,4857,4861,4865,4869,4873,4877],{"type":87,"tag":237,"props":4830,"children":4831},{"style":346},[4832],{"type":92,"value":465},{"type":87,"tag":237,"props":4834,"children":4835},{"style":468},[4836],{"type":92,"value":1476},{"type":87,"tag":237,"props":4838,"children":4839},{"style":252},[4840],{"type":92,"value":1481},{"type":87,"tag":237,"props":4842,"children":4843},{"style":346},[4844],{"type":92,"value":588},{"type":87,"tag":237,"props":4846,"children":4847},{"style":258},[4848],{"type":92,"value":1404},{"type":87,"tag":237,"props":4850,"children":4851},{"style":252},[4852],{"type":92,"value":1409},{"type":87,"tag":237,"props":4854,"children":4855},{"style":258},[4856],{"type":92,"value":1414},{"type":87,"tag":237,"props":4858,"children":4859},{"style":252},[4860],{"type":92,"value":1502},{"type":87,"tag":237,"props":4862,"children":4863},{"style":346},[4864],{"type":92,"value":497},{"type":87,"tag":237,"props":4866,"children":4867},{"style":484},[4868],{"type":92,"value":1511},{"type":87,"tag":237,"props":4870,"children":4871},{"style":252},[4872],{"type":92,"value":525},{"type":87,"tag":237,"props":4874,"children":4875},{"style":484},[4876],{"type":92,"value":1520},{"type":87,"tag":237,"props":4878,"children":4879},{"style":252},[4880],{"type":92,"value":1525},{"type":87,"tag":237,"props":4882,"children":4883},{"class":239,"line":459},[4884],{"type":87,"tag":237,"props":4885,"children":4886},{"style":252},[4887],{"type":92,"value":1005},{"type":87,"tag":237,"props":4889,"children":4890},{"class":239,"line":548},[4891],{"type":87,"tag":237,"props":4892,"children":4893},{"emptyLinePlaceholder":290},[4894],{"type":92,"value":293},{"type":87,"tag":237,"props":4896,"children":4897},{"class":239,"line":556},[4898,4902,4907,4911,4915],{"type":87,"tag":237,"props":4899,"children":4900},{"style":346},[4901],{"type":92,"value":437},{"type":87,"tag":237,"props":4903,"children":4904},{"style":258},[4905],{"type":92,"value":4906}," WebhookHandler",{"type":87,"tag":237,"props":4908,"children":4909},{"style":346},[4910],{"type":92,"value":447},{"type":87,"tag":237,"props":4912,"children":4913},{"style":258},[4914],{"type":92,"value":4759},{"type":87,"tag":237,"props":4916,"children":4917},{"style":252},[4918],{"type":92,"value":456},{"type":87,"tag":237,"props":4920,"children":4921},{"class":239,"line":613},[4922,4926,4931,4935,4939,4943,4947,4951,4955,4959,4963,4967,4971,4975,4980,4984,4988],{"type":87,"tag":237,"props":4923,"children":4924},{"style":346},[4925],{"type":92,"value":465},{"type":87,"tag":237,"props":4927,"children":4928},{"style":468},[4929],{"type":92,"value":4930}," route_id",{"type":87,"tag":237,"props":4932,"children":4933},{"style":252},[4934],{"type":92,"value":476},{"type":87,"tag":237,"props":4936,"children":4937},{"style":346},[4938],{"type":92,"value":481},{"type":87,"tag":237,"props":4940,"children":4941},{"style":484},[4942],{"type":92,"value":487},{"type":87,"tag":237,"props":4944,"children":4945},{"style":252},[4946],{"type":92,"value":492},{"type":87,"tag":237,"props":4948,"children":4949},{"style":346},[4950],{"type":92,"value":497},{"type":87,"tag":237,"props":4952,"children":4953},{"style":258},[4954],{"type":92,"value":502},{"type":87,"tag":237,"props":4956,"children":4957},{"style":346},[4958],{"type":92,"value":359},{"type":87,"tag":237,"props":4960,"children":4961},{"style":258},[4962],{"type":92,"value":511},{"type":87,"tag":237,"props":4964,"children":4965},{"style":346},[4966],{"type":92,"value":359},{"type":87,"tag":237,"props":4968,"children":4969},{"style":258},[4970],{"type":92,"value":520},{"type":87,"tag":237,"props":4972,"children":4973},{"style":252},[4974],{"type":92,"value":525},{"type":87,"tag":237,"props":4976,"children":4977},{"style":277},[4978],{"type":92,"value":4979},"\"sms-status\"",{"type":87,"tag":237,"props":4981,"children":4982},{"style":346},[4983],{"type":92,"value":535},{"type":87,"tag":237,"props":4985,"children":4986},{"style":468},[4987],{"type":92,"value":540},{"type":87,"tag":237,"props":4989,"children":4990},{"style":252},[4991],{"type":92,"value":545},{"type":87,"tag":237,"props":4993,"children":4994},{"class":239,"line":646},[4995],{"type":87,"tag":237,"props":4996,"children":4997},{"emptyLinePlaceholder":290},[4998],{"type":92,"value":293},{"type":87,"tag":237,"props":5000,"children":5001},{"class":239,"line":655},[5002,5007,5012,5017,5021,5025,5029,5034,5038,5043,5048,5052,5057],{"type":87,"tag":237,"props":5003,"children":5004},{"style":346},[5005],{"type":92,"value":5006},"    async",{"type":87,"tag":237,"props":5008,"children":5009},{"style":346},[5010],{"type":92,"value":5011}," fn",{"type":87,"tag":237,"props":5013,"children":5014},{"style":468},[5015],{"type":92,"value":5016}," handle",{"type":87,"tag":237,"props":5018,"children":5019},{"style":252},[5020],{"type":92,"value":476},{"type":87,"tag":237,"props":5022,"children":5023},{"style":346},[5024],{"type":92,"value":481},{"type":87,"tag":237,"props":5026,"children":5027},{"style":484},[5028],{"type":92,"value":487},{"type":87,"tag":237,"props":5030,"children":5031},{"style":252},[5032],{"type":92,"value":5033},", ctx",{"type":87,"tag":237,"props":5035,"children":5036},{"style":346},[5037],{"type":92,"value":588},{"type":87,"tag":237,"props":5039,"children":5040},{"style":258},[5041],{"type":92,"value":5042}," WebhookContext",{"type":87,"tag":237,"props":5044,"children":5045},{"style":252},[5046],{"type":92,"value":5047},", req",{"type":87,"tag":237,"props":5049,"children":5050},{"style":346},[5051],{"type":92,"value":588},{"type":87,"tag":237,"props":5053,"children":5054},{"style":258},[5055],{"type":92,"value":5056}," WebhookRequest",{"type":87,"tag":237,"props":5058,"children":5059},{"style":252},[5060],{"type":92,"value":643},{"type":87,"tag":237,"props":5062,"children":5063},{"class":239,"line":663},[5064,5069,5074,5078,5083],{"type":87,"tag":237,"props":5065,"children":5066},{"style":346},[5067],{"type":92,"value":5068},"        ->",{"type":87,"tag":237,"props":5070,"children":5071},{"style":258},[5072],{"type":92,"value":5073}," PluginResult",{"type":87,"tag":237,"props":5075,"children":5076},{"style":252},[5077],{"type":92,"value":1409},{"type":87,"tag":237,"props":5079,"children":5080},{"style":258},[5081],{"type":92,"value":5082},"WebhookResponse",{"type":87,"tag":237,"props":5084,"children":5085},{"style":252},[5086],{"type":92,"value":5087},">\n",{"type":87,"tag":237,"props":5089,"children":5090},{"class":239,"line":681},[5091],{"type":87,"tag":237,"props":5092,"children":5093},{"style":252},[5094],{"type":92,"value":5095},"    {\n",{"type":87,"tag":237,"props":5097,"children":5098},{"class":239,"line":699},[5099],{"type":87,"tag":237,"props":5100,"children":5101},{"style":243},[5102],{"type":92,"value":5103},"        \u002F\u002F 1. Verify the provider signature (Twilio: X-Twilio-Signature\n",{"type":87,"tag":237,"props":5105,"children":5106},{"class":239,"line":721},[5107],{"type":87,"tag":237,"props":5108,"children":5109},{"style":243},[5110],{"type":92,"value":5111},"        \u002F\u002F    HMAC-SHA1 of `full_url + sorted_form_body` with\n",{"type":87,"tag":237,"props":5113,"children":5114},{"class":239,"line":743},[5115],{"type":87,"tag":237,"props":5116,"children":5117},{"style":243},[5118],{"type":92,"value":5119},"        \u002F\u002F    cfg.auth_token as the key).\n",{"type":87,"tag":237,"props":5121,"children":5122},{"class":239,"line":789},[5123],{"type":87,"tag":237,"props":5124,"children":5125},{"style":243},[5126],{"type":92,"value":5127},"        \u002F\u002F 2. Parse the form-encoded body for MessageSid, MessageStatus,\n",{"type":87,"tag":237,"props":5129,"children":5130},{"class":239,"line":860},[5131],{"type":87,"tag":237,"props":5132,"children":5133},{"style":243},[5134],{"type":92,"value":5135},"        \u002F\u002F    From, To, ErrorCode.\n",{"type":87,"tag":237,"props":5137,"children":5138},{"class":239,"line":893},[5139],{"type":87,"tag":237,"props":5140,"children":5141},{"style":243},[5142],{"type":92,"value":5143},"        \u002F\u002F 3. Persist whatever you need through Vaultaris's storage\n",{"type":87,"tag":237,"props":5145,"children":5146},{"class":239,"line":911},[5147],{"type":87,"tag":237,"props":5148,"children":5149},{"style":243},[5150],{"type":92,"value":5151},"        \u002F\u002F    abstractions.\n",{"type":87,"tag":237,"props":5153,"children":5154},{"class":239,"line":920},[5155,5160,5164,5168,5172,5176,5180,5184,5188,5192,5196,5201],{"type":87,"tag":237,"props":5156,"children":5157},{"style":258},[5158],{"type":92,"value":5159},"        stabby",{"type":87,"tag":237,"props":5161,"children":5162},{"style":346},[5163],{"type":92,"value":359},{"type":87,"tag":237,"props":5165,"children":5166},{"style":258},[5167],{"type":92,"value":813},{"type":87,"tag":237,"props":5169,"children":5170},{"style":346},[5171],{"type":92,"value":359},{"type":87,"tag":237,"props":5173,"children":5174},{"style":258},[5175],{"type":92,"value":822},{"type":87,"tag":237,"props":5177,"children":5178},{"style":346},[5179],{"type":92,"value":359},{"type":87,"tag":237,"props":5181,"children":5182},{"style":258},[5183],{"type":92,"value":951},{"type":87,"tag":237,"props":5185,"children":5186},{"style":252},[5187],{"type":92,"value":476},{"type":87,"tag":237,"props":5189,"children":5190},{"style":258},[5191],{"type":92,"value":5082},{"type":87,"tag":237,"props":5193,"children":5194},{"style":346},[5195],{"type":92,"value":359},{"type":87,"tag":237,"props":5197,"children":5198},{"style":468},[5199],{"type":92,"value":5200},"no_content",{"type":87,"tag":237,"props":5202,"children":5203},{"style":252},[5204],{"type":92,"value":979},{"type":87,"tag":237,"props":5206,"children":5207},{"class":239,"line":982},[5208],{"type":87,"tag":237,"props":5209,"children":5210},{"style":252},[5211],{"type":92,"value":652},{"type":87,"tag":237,"props":5213,"children":5214},{"class":239,"line":991},[5215],{"type":87,"tag":237,"props":5216,"children":5217},{"style":252},[5218],{"type":92,"value":1005},{"type":87,"tag":237,"props":5220,"children":5221},{"class":239,"line":999},[5222],{"type":87,"tag":237,"props":5223,"children":5224},{"emptyLinePlaceholder":290},[5225],{"type":92,"value":293},{"type":87,"tag":237,"props":5227,"children":5228},{"class":239,"line":1008},[5229,5233],{"type":87,"tag":237,"props":5230,"children":5231},{"style":468},[5232],{"type":92,"value":1031},{"type":87,"tag":237,"props":5234,"children":5235},{"style":252},[5236],{"type":92,"value":456},{"type":87,"tag":237,"props":5238,"children":5239},{"class":239,"line":1016},[5240,5244,5248,5252],{"type":87,"tag":237,"props":5241,"children":5242},{"style":252},[5243],{"type":92,"value":1566},{"type":87,"tag":237,"props":5245,"children":5246},{"style":346},[5247],{"type":92,"value":1571},{"type":87,"tag":237,"props":5249,"children":5250},{"style":258},[5251],{"type":92,"value":1255},{"type":87,"tag":237,"props":5253,"children":5254},{"style":252},[5255],{"type":92,"value":374},{"type":87,"tag":237,"props":5257,"children":5258},{"class":239,"line":1038},[5259,5263,5267,5271,5275],{"type":87,"tag":237,"props":5260,"children":5261},{"style":258},[5262],{"type":92,"value":1044},{"type":87,"tag":237,"props":5264,"children":5265},{"style":346},[5266],{"type":92,"value":1049},{"type":87,"tag":237,"props":5268,"children":5269},{"style":252},[5270],{"type":92,"value":1054},{"type":87,"tag":237,"props":5272,"children":5273},{"style":258},[5274],{"type":92,"value":1059},{"type":87,"tag":237,"props":5276,"children":5277},{"style":252},[5278],{"type":92,"value":1064},{"type":87,"tag":237,"props":5280,"children":5281},{"class":239,"line":1067},[5282,5287,5292,5296,5301],{"type":87,"tag":237,"props":5283,"children":5284},{"style":258},[5285],{"type":92,"value":5286},"    WebhookHandler",{"type":87,"tag":237,"props":5288,"children":5289},{"style":346},[5290],{"type":92,"value":5291},"      =>",{"type":87,"tag":237,"props":5293,"children":5294},{"style":252},[5295],{"type":92,"value":1054},{"type":87,"tag":237,"props":5297,"children":5298},{"style":258},[5299],{"type":92,"value":5300},"TwilioSmsStatusWebhook",{"type":87,"tag":237,"props":5302,"children":5303},{"style":252},[5304],{"type":92,"value":1064},{"type":87,"tag":237,"props":5306,"children":5308},{"class":239,"line":5307},31,[5309],{"type":87,"tag":237,"props":5310,"children":5311},{"style":252},[5312],{"type":92,"value":1005},{"type":87,"tag":3678,"props":5314,"children":5316},{"id":5315},"why-webhooks-live-outside-apiv1",[5317,5319],{"type":92,"value":5318},"Why webhooks live outside ",{"type":87,"tag":111,"props":5320,"children":5322},{"className":5321},[],[5323],{"type":92,"value":5324},"\u002Fapi\u002Fv1",{"type":87,"tag":88,"props":5326,"children":5327},{},[5328,5330,5336,5338,5343,5345,5351,5353,5359],{"type":92,"value":5329},"Webhook providers don't speak our Bearer token; they speak HMAC over a\nshared secret stored in the plugin's tenant config. The webhook router\ntherefore sits at the outer router level (under ",{"type":87,"tag":111,"props":5331,"children":5333},{"className":5332},[],[5334],{"type":92,"value":5335},"\u002Fwebhook\u002F...",{"type":92,"value":5337},") and\n",{"type":87,"tag":103,"props":5339,"children":5340},{},[5341],{"type":92,"value":5342},"bypasses",{"type":92,"value":5344}," the Bearer middleware. Every plugin authenticates the\ninbound request inside ",{"type":87,"tag":111,"props":5346,"children":5348},{"className":5347},[],[5349],{"type":92,"value":5350},"handle()",{"type":92,"value":5352}," by checking the provider's signature\nheader against the request body, and returns\n",{"type":87,"tag":111,"props":5354,"children":5356},{"className":5355},[],[5357],{"type":92,"value":5358},"WebhookResponse::unauthorized(\"...\")",{"type":92,"value":5360}," on mismatch.",{"type":87,"tag":88,"props":5362,"children":5363},{},[5364,5366,5371],{"type":92,"value":5365},"Rate limiting, the read-only guard and the request-id middleware\n",{"type":87,"tag":103,"props":5367,"children":5368},{},[5369],{"type":92,"value":5370},"still",{"type":92,"value":5372}," wrap webhook traffic — those layers sit one level above the\nauth one, so webhooks share the platform's traffic-shaping with the\nrest of the API.",{"type":87,"tag":3678,"props":5374,"children":5376},{"id":5375},"body-size-and-timeouts",[5377],{"type":92,"value":5378},"Body size and timeouts",{"type":87,"tag":88,"props":5380,"children":5381},{},[5382,5384,5390,5392,5398,5400,5406,5408,5414,5416,5422],{"type":92,"value":5383},"Each route declares its own ",{"type":87,"tag":111,"props":5385,"children":5387},{"className":5386},[],[5388],{"type":92,"value":5389},"max_body_bytes",{"type":92,"value":5391}," and ",{"type":87,"tag":111,"props":5393,"children":5395},{"className":5394},[],[5396],{"type":92,"value":5397},"timeout_seconds",{"type":92,"value":5399},".\nThe router rejects oversized bodies with ",{"type":87,"tag":111,"props":5401,"children":5403},{"className":5402},[],[5404],{"type":92,"value":5405},"413",{"type":92,"value":5407}," before crossing the FFI\nboundary, and abandons the in-flight future with ",{"type":87,"tag":111,"props":5409,"children":5411},{"className":5410},[],[5412],{"type":92,"value":5413},"504",{"type":92,"value":5415}," when the\nplugin's ",{"type":87,"tag":111,"props":5417,"children":5419},{"className":5418},[],[5420],{"type":92,"value":5421},"handle",{"type":92,"value":5423}," future does not resolve within the timeout. Keep\nboth knobs as low as your provider needs — Twilio's status callbacks\nare a few hundred bytes and respond in milliseconds; aiming for the\n1 MiB \u002F 10 s defaults wastes resources.",{"type":87,"tag":5425,"props":5426,"children":5427},"style",{},[5428],{"type":92,"value":5429},"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 .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);}",{"title":82,"searchDepth":32,"depth":32,"links":5431},[5432,5433,5434,5435,5436,5437,5438,5439,5440,5443,5444,5445],{"id":222,"depth":42,"text":225},{"id":1783,"depth":42,"text":1786},{"id":2206,"depth":42,"text":2209},{"id":2566,"depth":42,"text":2569},{"id":2956,"depth":42,"text":2959},{"id":3010,"depth":42,"text":3013},{"id":3100,"depth":42,"text":3103},{"id":3211,"depth":42,"text":3214},{"id":3385,"depth":42,"text":3388,"children":5441},[5442],{"id":3680,"depth":32,"text":3683},{"id":4020,"depth":42,"text":4023},{"id":4173,"depth":42,"text":4176},{"id":4347,"depth":42,"text":4350,"children":5446},[5447,5449],{"id":5315,"depth":32,"text":5448},"Why webhooks live outside \u002Fapi\u002Fv1",{"id":5375,"depth":32,"text":5378},"markdown","content:docs:plugins.md","content","docs\u002Fplugins.md","docs\u002Fplugins","md",{"_path":53,"_dir":80,"_draft":81,"_partial":81,"_locale":82,"title":54,"description":55,"order":8,"category":56,"body":5457,"_type":5450,"_id":5451,"_source":5452,"_file":5453,"_stem":5454,"_extension":5455},{"type":84,"children":5458,"toc":10085},[5459,5463,5556,5560,5636,6268,6307,6317,6762,6802,6903,6907,6911,6944,6948,7271,7275,7290,7542,7546,7584,7588,7610,7682,7692,7911,7927,7931,7959,7968,7972,8021,8037,8041,8111,8127,8131,8135,8264,8278,8282,8340,8356,8540,8544,8578,8810,8832,8836,8869,8964,8968,8972,8982,9058,9079,9083,9090,9112,9116,9135,9296,9306,9319,9403,9998,10007,10034,10043,10047,10081],{"type":87,"tag":88,"props":5460,"children":5461},{},[5462],{"type":92,"value":93},{"type":87,"tag":95,"props":5464,"children":5465},{},[5466,5498,5527],{"type":87,"tag":99,"props":5467,"children":5468},{},[5469,5473,5474,5479,5480,5485,5486,5491,5492,5497],{"type":87,"tag":103,"props":5470,"children":5471},{},[5472],{"type":92,"value":107},{"type":92,"value":109},{"type":87,"tag":111,"props":5475,"children":5477},{"className":5476},[],[5478],{"type":92,"value":116},{"type":92,"value":118},{"type":87,"tag":111,"props":5481,"children":5483},{"className":5482},[],[5484],{"type":92,"value":124},{"type":92,"value":118},{"type":87,"tag":111,"props":5487,"children":5489},{"className":5488},[],[5490],{"type":92,"value":131},{"type":92,"value":133},{"type":87,"tag":111,"props":5493,"children":5495},{"className":5494},[],[5496],{"type":92,"value":139},{"type":92,"value":141},{"type":87,"tag":99,"props":5499,"children":5500},{},[5501,5514,5515,5520,5521,5526],{"type":87,"tag":103,"props":5502,"children":5503},{},[5504,5505],{"type":92,"value":149},{"type":87,"tag":151,"props":5506,"children":5508},{"href":153,"rel":5507},[155],[5509],{"type":87,"tag":111,"props":5510,"children":5512},{"className":5511},[],[5513],{"type":92,"value":162},{"type":92,"value":164},{"type":87,"tag":111,"props":5516,"children":5518},{"className":5517},[],[5519],{"type":92,"value":170},{"type":92,"value":172},{"type":87,"tag":111,"props":5522,"children":5524},{"className":5523},[],[5525],{"type":92,"value":178},{"type":92,"value":180},{"type":87,"tag":99,"props":5528,"children":5529},{},[5530,5540,5541,5549,5550,5555],{"type":87,"tag":103,"props":5531,"children":5532},{},[5533,5534,5539],{"type":92,"value":188},{"type":87,"tag":111,"props":5535,"children":5537},{"className":5536},[],[5538],{"type":92,"value":194},{"type":92,"value":196},{"type":92,"value":198},{"type":87,"tag":151,"props":5542,"children":5543},{"href":201},[5544],{"type":87,"tag":111,"props":5545,"children":5547},{"className":5546},[],[5548],{"type":92,"value":208},{"type":92,"value":210},{"type":87,"tag":111,"props":5551,"children":5553},{"className":5552},[],[5554],{"type":92,"value":216},{"type":92,"value":218},{"type":87,"tag":220,"props":5557,"children":5558},{"id":222},[5559],{"type":92,"value":225},{"type":87,"tag":227,"props":5561,"children":5562},{"code":229,"language":230,"meta":82,"className":231,"style":82},[5563],{"type":87,"tag":111,"props":5564,"children":5565},{"__ignoreMap":82},[5566,5573,5588,5603,5610,5625],{"type":87,"tag":237,"props":5567,"children":5568},{"class":239,"line":8},[5569],{"type":87,"tag":237,"props":5570,"children":5571},{"style":243},[5572],{"type":92,"value":246},{"type":87,"tag":237,"props":5574,"children":5575},{"class":239,"line":42},[5576,5580,5584],{"type":87,"tag":237,"props":5577,"children":5578},{"style":252},[5579],{"type":92,"value":255},{"type":87,"tag":237,"props":5581,"children":5582},{"style":258},[5583],{"type":92,"value":261},{"type":87,"tag":237,"props":5585,"children":5586},{"style":252},[5587],{"type":92,"value":266},{"type":87,"tag":237,"props":5589,"children":5590},{"class":239,"line":32},[5591,5595,5599],{"type":87,"tag":237,"props":5592,"children":5593},{"style":252},[5594],{"type":92,"value":274},{"type":87,"tag":237,"props":5596,"children":5597},{"style":277},[5598],{"type":92,"value":280},{"type":87,"tag":237,"props":5600,"children":5601},{"style":252},[5602],{"type":92,"value":266},{"type":87,"tag":237,"props":5604,"children":5605},{"class":239,"line":14},[5606],{"type":87,"tag":237,"props":5607,"children":5608},{"emptyLinePlaceholder":290},[5609],{"type":92,"value":293},{"type":87,"tag":237,"props":5611,"children":5612},{"class":239,"line":78},[5613,5617,5621],{"type":87,"tag":237,"props":5614,"children":5615},{"style":252},[5616],{"type":92,"value":255},{"type":87,"tag":237,"props":5618,"children":5619},{"style":258},[5620],{"type":92,"value":305},{"type":87,"tag":237,"props":5622,"children":5623},{"style":252},[5624],{"type":92,"value":266},{"type":87,"tag":237,"props":5626,"children":5627},{"class":239,"line":312},[5628,5632],{"type":87,"tag":237,"props":5629,"children":5630},{"style":252},[5631],{"type":92,"value":318},{"type":87,"tag":237,"props":5633,"children":5634},{"style":277},[5635],{"type":92,"value":323},{"type":87,"tag":227,"props":5637,"children":5638},{"code":326,"language":327,"meta":82,"className":328,"style":82},[5639],{"type":87,"tag":111,"props":5640,"children":5641},{"__ignoreMap":82},[5642,5649,5676,5683,5698,5717,5724,5747,5818,5825,5876,5903,5910,5917,5932,5947,5966,5985,6024,6087,6114,6129,6136,6191,6198,6205,6212,6219,6238,6261],{"type":87,"tag":237,"props":5643,"children":5644},{"class":239,"line":8},[5645],{"type":87,"tag":237,"props":5646,"children":5647},{"style":243},[5648],{"type":92,"value":340},{"type":87,"tag":237,"props":5650,"children":5651},{"class":239,"line":42},[5652,5656,5660,5664,5668,5672],{"type":87,"tag":237,"props":5653,"children":5654},{"style":346},[5655],{"type":92,"value":349},{"type":87,"tag":237,"props":5657,"children":5658},{"style":258},[5659],{"type":92,"value":354},{"type":87,"tag":237,"props":5661,"children":5662},{"style":346},[5663],{"type":92,"value":359},{"type":87,"tag":237,"props":5665,"children":5666},{"style":258},[5667],{"type":92,"value":364},{"type":87,"tag":237,"props":5669,"children":5670},{"style":346},[5671],{"type":92,"value":369},{"type":87,"tag":237,"props":5673,"children":5674},{"style":252},[5675],{"type":92,"value":374},{"type":87,"tag":237,"props":5677,"children":5678},{"class":239,"line":32},[5679],{"type":87,"tag":237,"props":5680,"children":5681},{"emptyLinePlaceholder":290},[5682],{"type":92,"value":293},{"type":87,"tag":237,"props":5684,"children":5685},{"class":239,"line":14},[5686,5690,5694],{"type":87,"tag":237,"props":5687,"children":5688},{"style":252},[5689],{"type":92,"value":389},{"type":87,"tag":237,"props":5691,"children":5692},{"style":258},[5693],{"type":92,"value":394},{"type":87,"tag":237,"props":5695,"children":5696},{"style":252},[5697],{"type":92,"value":399},{"type":87,"tag":237,"props":5699,"children":5700},{"class":239,"line":78},[5701,5705,5709,5713],{"type":87,"tag":237,"props":5702,"children":5703},{"style":346},[5704],{"type":92,"value":407},{"type":87,"tag":237,"props":5706,"children":5707},{"style":346},[5708],{"type":92,"value":412},{"type":87,"tag":237,"props":5710,"children":5711},{"style":258},[5712],{"type":92,"value":417},{"type":87,"tag":237,"props":5714,"children":5715},{"style":252},[5716],{"type":92,"value":374},{"type":87,"tag":237,"props":5718,"children":5719},{"class":239,"line":312},[5720],{"type":87,"tag":237,"props":5721,"children":5722},{"emptyLinePlaceholder":290},[5723],{"type":92,"value":293},{"type":87,"tag":237,"props":5725,"children":5726},{"class":239,"line":431},[5727,5731,5735,5739,5743],{"type":87,"tag":237,"props":5728,"children":5729},{"style":346},[5730],{"type":92,"value":437},{"type":87,"tag":237,"props":5732,"children":5733},{"style":258},[5734],{"type":92,"value":442},{"type":87,"tag":237,"props":5736,"children":5737},{"style":346},[5738],{"type":92,"value":447},{"type":87,"tag":237,"props":5740,"children":5741},{"style":258},[5742],{"type":92,"value":417},{"type":87,"tag":237,"props":5744,"children":5745},{"style":252},[5746],{"type":92,"value":456},{"type":87,"tag":237,"props":5748,"children":5749},{"class":239,"line":459},[5750,5754,5758,5762,5766,5770,5774,5778,5782,5786,5790,5794,5798,5802,5806,5810,5814],{"type":87,"tag":237,"props":5751,"children":5752},{"style":346},[5753],{"type":92,"value":465},{"type":87,"tag":237,"props":5755,"children":5756},{"style":468},[5757],{"type":92,"value":471},{"type":87,"tag":237,"props":5759,"children":5760},{"style":252},[5761],{"type":92,"value":476},{"type":87,"tag":237,"props":5763,"children":5764},{"style":346},[5765],{"type":92,"value":481},{"type":87,"tag":237,"props":5767,"children":5768},{"style":484},[5769],{"type":92,"value":487},{"type":87,"tag":237,"props":5771,"children":5772},{"style":252},[5773],{"type":92,"value":492},{"type":87,"tag":237,"props":5775,"children":5776},{"style":346},[5777],{"type":92,"value":497},{"type":87,"tag":237,"props":5779,"children":5780},{"style":258},[5781],{"type":92,"value":502},{"type":87,"tag":237,"props":5783,"children":5784},{"style":346},[5785],{"type":92,"value":359},{"type":87,"tag":237,"props":5787,"children":5788},{"style":258},[5789],{"type":92,"value":511},{"type":87,"tag":237,"props":5791,"children":5792},{"style":346},[5793],{"type":92,"value":359},{"type":87,"tag":237,"props":5795,"children":5796},{"style":258},[5797],{"type":92,"value":520},{"type":87,"tag":237,"props":5799,"children":5800},{"style":252},[5801],{"type":92,"value":525},{"type":87,"tag":237,"props":5803,"children":5804},{"style":277},[5805],{"type":92,"value":530},{"type":87,"tag":237,"props":5807,"children":5808},{"style":346},[5809],{"type":92,"value":535},{"type":87,"tag":237,"props":5811,"children":5812},{"style":468},[5813],{"type":92,"value":540},{"type":87,"tag":237,"props":5815,"children":5816},{"style":252},[5817],{"type":92,"value":545},{"type":87,"tag":237,"props":5819,"children":5820},{"class":239,"line":548},[5821],{"type":87,"tag":237,"props":5822,"children":5823},{"emptyLinePlaceholder":290},[5824],{"type":92,"value":293},{"type":87,"tag":237,"props":5826,"children":5827},{"class":239,"line":556},[5828,5832,5836,5840,5844,5848,5852,5856,5860,5864,5868,5872],{"type":87,"tag":237,"props":5829,"children":5830},{"style":346},[5831],{"type":92,"value":465},{"type":87,"tag":237,"props":5833,"children":5834},{"style":468},[5835],{"type":92,"value":566},{"type":87,"tag":237,"props":5837,"children":5838},{"style":252},[5839],{"type":92,"value":476},{"type":87,"tag":237,"props":5841,"children":5842},{"style":346},[5843],{"type":92,"value":481},{"type":87,"tag":237,"props":5845,"children":5846},{"style":484},[5847],{"type":92,"value":487},{"type":87,"tag":237,"props":5849,"children":5850},{"style":252},[5851],{"type":92,"value":583},{"type":87,"tag":237,"props":5853,"children":5854},{"style":346},[5855],{"type":92,"value":588},{"type":87,"tag":237,"props":5857,"children":5858},{"style":258},[5859],{"type":92,"value":593},{"type":87,"tag":237,"props":5861,"children":5862},{"style":252},[5863],{"type":92,"value":492},{"type":87,"tag":237,"props":5865,"children":5866},{"style":346},[5867],{"type":92,"value":497},{"type":87,"tag":237,"props":5869,"children":5870},{"style":258},[5871],{"type":92,"value":606},{"type":87,"tag":237,"props":5873,"children":5874},{"style":252},[5875],{"type":92,"value":456},{"type":87,"tag":237,"props":5877,"children":5878},{"class":239,"line":613},[5879,5883,5887,5891,5895,5899],{"type":87,"tag":237,"props":5880,"children":5881},{"style":468},[5882],{"type":92,"value":619},{"type":87,"tag":237,"props":5884,"children":5885},{"style":252},[5886],{"type":92,"value":624},{"type":87,"tag":237,"props":5888,"children":5889},{"style":258},[5890],{"type":92,"value":629},{"type":87,"tag":237,"props":5892,"children":5893},{"style":346},[5894],{"type":92,"value":359},{"type":87,"tag":237,"props":5896,"children":5897},{"style":258},[5898],{"type":92,"value":638},{"type":87,"tag":237,"props":5900,"children":5901},{"style":252},[5902],{"type":92,"value":643},{"type":87,"tag":237,"props":5904,"children":5905},{"class":239,"line":646},[5906],{"type":87,"tag":237,"props":5907,"children":5908},{"style":252},[5909],{"type":92,"value":652},{"type":87,"tag":237,"props":5911,"children":5912},{"class":239,"line":655},[5913],{"type":87,"tag":237,"props":5914,"children":5915},{"emptyLinePlaceholder":290},[5916],{"type":92,"value":293},{"type":87,"tag":237,"props":5918,"children":5919},{"class":239,"line":663},[5920,5924,5928],{"type":87,"tag":237,"props":5921,"children":5922},{"style":346},[5923],{"type":92,"value":465},{"type":87,"tag":237,"props":5925,"children":5926},{"style":468},[5927],{"type":92,"value":673},{"type":87,"tag":237,"props":5929,"children":5930},{"style":252},[5931],{"type":92,"value":678},{"type":87,"tag":237,"props":5933,"children":5934},{"class":239,"line":681},[5935,5939,5943],{"type":87,"tag":237,"props":5936,"children":5937},{"style":346},[5938],{"type":92,"value":687},{"type":87,"tag":237,"props":5940,"children":5941},{"style":484},[5942],{"type":92,"value":487},{"type":87,"tag":237,"props":5944,"children":5945},{"style":252},[5946],{"type":92,"value":696},{"type":87,"tag":237,"props":5948,"children":5949},{"class":239,"line":699},[5950,5954,5958,5962],{"type":87,"tag":237,"props":5951,"children":5952},{"style":252},[5953],{"type":92,"value":705},{"type":87,"tag":237,"props":5955,"children":5956},{"style":346},[5957],{"type":92,"value":588},{"type":87,"tag":237,"props":5959,"children":5960},{"style":258},[5961],{"type":92,"value":714},{"type":87,"tag":237,"props":5963,"children":5964},{"style":252},[5965],{"type":92,"value":696},{"type":87,"tag":237,"props":5967,"children":5968},{"class":239,"line":721},[5969,5973,5977,5981],{"type":87,"tag":237,"props":5970,"children":5971},{"style":252},[5972],{"type":92,"value":727},{"type":87,"tag":237,"props":5974,"children":5975},{"style":346},[5976],{"type":92,"value":588},{"type":87,"tag":237,"props":5978,"children":5979},{"style":258},[5980],{"type":92,"value":736},{"type":87,"tag":237,"props":5982,"children":5983},{"style":252},[5984],{"type":92,"value":696},{"type":87,"tag":237,"props":5986,"children":5987},{"class":239,"line":743},[5988,5992,5996,6000,6004,6008,6012,6016,6020],{"type":87,"tag":237,"props":5989,"children":5990},{"style":252},[5991],{"type":92,"value":749},{"type":87,"tag":237,"props":5993,"children":5994},{"style":346},[5995],{"type":92,"value":497},{"type":87,"tag":237,"props":5997,"children":5998},{"style":346},[5999],{"type":92,"value":758},{"type":87,"tag":237,"props":6001,"children":6002},{"style":258},[6003],{"type":92,"value":763},{"type":87,"tag":237,"props":6005,"children":6006},{"style":346},[6007],{"type":92,"value":359},{"type":87,"tag":237,"props":6009,"children":6010},{"style":258},[6011],{"type":92,"value":772},{"type":87,"tag":237,"props":6013,"children":6014},{"style":346},[6015],{"type":92,"value":359},{"type":87,"tag":237,"props":6017,"children":6018},{"style":258},[6019],{"type":92,"value":781},{"type":87,"tag":237,"props":6021,"children":6022},{"style":252},[6023],{"type":92,"value":786},{"type":87,"tag":237,"props":6025,"children":6026},{"class":239,"line":789},[6027,6031,6035,6039,6043,6047,6051,6055,6059,6063,6067,6071,6075,6079,6083],{"type":87,"tag":237,"props":6028,"children":6029},{"style":258},[6030],{"type":92,"value":795},{"type":87,"tag":237,"props":6032,"children":6033},{"style":346},[6034],{"type":92,"value":800},{"type":87,"tag":237,"props":6036,"children":6037},{"style":252},[6038],{"type":92,"value":502},{"type":87,"tag":237,"props":6040,"children":6041},{"style":346},[6042],{"type":92,"value":359},{"type":87,"tag":237,"props":6044,"children":6045},{"style":252},[6046],{"type":92,"value":813},{"type":87,"tag":237,"props":6048,"children":6049},{"style":346},[6050],{"type":92,"value":359},{"type":87,"tag":237,"props":6052,"children":6053},{"style":258},[6054],{"type":92,"value":822},{"type":87,"tag":237,"props":6056,"children":6057},{"style":252},[6058],{"type":92,"value":827},{"type":87,"tag":237,"props":6060,"children":6061},{"style":346},[6062],{"type":92,"value":359},{"type":87,"tag":237,"props":6064,"children":6065},{"style":252},[6066],{"type":92,"value":511},{"type":87,"tag":237,"props":6068,"children":6069},{"style":346},[6070],{"type":92,"value":359},{"type":87,"tag":237,"props":6072,"children":6073},{"style":258},[6074],{"type":92,"value":520},{"type":87,"tag":237,"props":6076,"children":6077},{"style":252},[6078],{"type":92,"value":118},{"type":87,"tag":237,"props":6080,"children":6081},{"style":258},[6082],{"type":92,"value":852},{"type":87,"tag":237,"props":6084,"children":6085},{"style":252},[6086],{"type":92,"value":857},{"type":87,"tag":237,"props":6088,"children":6089},{"class":239,"line":860},[6090,6094,6098,6102,6106,6110],{"type":87,"tag":237,"props":6091,"children":6092},{"style":252},[6093],{"type":92,"value":866},{"type":87,"tag":237,"props":6095,"children":6096},{"style":346},[6097],{"type":92,"value":871},{"type":87,"tag":237,"props":6099,"children":6100},{"style":258},[6101],{"type":92,"value":876},{"type":87,"tag":237,"props":6103,"children":6104},{"style":346},[6105],{"type":92,"value":881},{"type":87,"tag":237,"props":6107,"children":6108},{"style":258},[6109],{"type":92,"value":886},{"type":87,"tag":237,"props":6111,"children":6112},{"style":252},[6113],{"type":92,"value":456},{"type":87,"tag":237,"props":6115,"children":6116},{"class":239,"line":893},[6117,6121,6125],{"type":87,"tag":237,"props":6118,"children":6119},{"style":346},[6120],{"type":92,"value":899},{"type":87,"tag":237,"props":6122,"children":6123},{"style":346},[6124],{"type":92,"value":904},{"type":87,"tag":237,"props":6126,"children":6127},{"style":252},[6128],{"type":92,"value":456},{"type":87,"tag":237,"props":6130,"children":6131},{"class":239,"line":911},[6132],{"type":87,"tag":237,"props":6133,"children":6134},{"style":243},[6135],{"type":92,"value":917},{"type":87,"tag":237,"props":6137,"children":6138},{"class":239,"line":920},[6139,6143,6147,6151,6155,6159,6163,6167,6171,6175,6179,6183,6187],{"type":87,"tag":237,"props":6140,"children":6141},{"style":258},[6142],{"type":92,"value":926},{"type":87,"tag":237,"props":6144,"children":6145},{"style":346},[6146],{"type":92,"value":359},{"type":87,"tag":237,"props":6148,"children":6149},{"style":258},[6150],{"type":92,"value":813},{"type":87,"tag":237,"props":6152,"children":6153},{"style":346},[6154],{"type":92,"value":359},{"type":87,"tag":237,"props":6156,"children":6157},{"style":258},[6158],{"type":92,"value":822},{"type":87,"tag":237,"props":6160,"children":6161},{"style":346},[6162],{"type":92,"value":359},{"type":87,"tag":237,"props":6164,"children":6165},{"style":258},[6166],{"type":92,"value":951},{"type":87,"tag":237,"props":6168,"children":6169},{"style":252},[6170],{"type":92,"value":956},{"type":87,"tag":237,"props":6172,"children":6173},{"style":346},[6174],{"type":92,"value":535},{"type":87,"tag":237,"props":6176,"children":6177},{"style":252},[6178],{"type":92,"value":965},{"type":87,"tag":237,"props":6180,"children":6181},{"style":346},[6182],{"type":92,"value":535},{"type":87,"tag":237,"props":6184,"children":6185},{"style":468},[6186],{"type":92,"value":974},{"type":87,"tag":237,"props":6188,"children":6189},{"style":252},[6190],{"type":92,"value":979},{"type":87,"tag":237,"props":6192,"children":6193},{"class":239,"line":982},[6194],{"type":87,"tag":237,"props":6195,"children":6196},{"style":252},[6197],{"type":92,"value":988},{"type":87,"tag":237,"props":6199,"children":6200},{"class":239,"line":991},[6201],{"type":87,"tag":237,"props":6202,"children":6203},{"style":252},[6204],{"type":92,"value":652},{"type":87,"tag":237,"props":6206,"children":6207},{"class":239,"line":999},[6208],{"type":87,"tag":237,"props":6209,"children":6210},{"style":252},[6211],{"type":92,"value":1005},{"type":87,"tag":237,"props":6213,"children":6214},{"class":239,"line":1008},[6215],{"type":87,"tag":237,"props":6216,"children":6217},{"emptyLinePlaceholder":290},[6218],{"type":92,"value":293},{"type":87,"tag":237,"props":6220,"children":6221},{"class":239,"line":1016},[6222,6226,6230,6234],{"type":87,"tag":237,"props":6223,"children":6224},{"style":258},[6225],{"type":92,"value":1022},{"type":87,"tag":237,"props":6227,"children":6228},{"style":346},[6229],{"type":92,"value":359},{"type":87,"tag":237,"props":6231,"children":6232},{"style":468},[6233],{"type":92,"value":1031},{"type":87,"tag":237,"props":6235,"children":6236},{"style":252},[6237],{"type":92,"value":456},{"type":87,"tag":237,"props":6239,"children":6240},{"class":239,"line":1038},[6241,6245,6249,6253,6257],{"type":87,"tag":237,"props":6242,"children":6243},{"style":258},[6244],{"type":92,"value":1044},{"type":87,"tag":237,"props":6246,"children":6247},{"style":346},[6248],{"type":92,"value":1049},{"type":87,"tag":237,"props":6250,"children":6251},{"style":252},[6252],{"type":92,"value":1054},{"type":87,"tag":237,"props":6254,"children":6255},{"style":258},[6256],{"type":92,"value":1059},{"type":87,"tag":237,"props":6258,"children":6259},{"style":252},[6260],{"type":92,"value":1064},{"type":87,"tag":237,"props":6262,"children":6263},{"class":239,"line":1067},[6264],{"type":87,"tag":237,"props":6265,"children":6266},{"style":252},[6267],{"type":92,"value":1005},{"type":87,"tag":88,"props":6269,"children":6270},{},[6271,6276,6277,6282,6283,6288,6289,6294,6295,6300,6301,6306],{"type":87,"tag":111,"props":6272,"children":6274},{"className":6273},[],[6275],{"type":92,"value":1031},{"type":92,"value":1082},{"type":87,"tag":111,"props":6278,"children":6280},{"className":6279},[],[6281],{"type":92,"value":208},{"type":92,"value":1089},{"type":87,"tag":111,"props":6284,"children":6286},{"className":6285},[],[6287],{"type":92,"value":1095},{"type":92,"value":1097},{"type":87,"tag":111,"props":6290,"children":6292},{"className":6291},[],[6293],{"type":92,"value":1103},{"type":92,"value":1105},{"type":87,"tag":111,"props":6296,"children":6298},{"className":6297},[],[6299],{"type":92,"value":1111},{"type":92,"value":1113},{"type":87,"tag":111,"props":6302,"children":6304},{"className":6303},[],[6305],{"type":92,"value":1119},{"type":92,"value":1121},{"type":87,"tag":88,"props":6308,"children":6309},{},[6310,6311,6316],{"type":92,"value":1126},{"type":87,"tag":111,"props":6312,"children":6314},{"className":6313},[],[6315],{"type":92,"value":1132},{"type":92,"value":1134},{"type":87,"tag":227,"props":6318,"children":6319},{"code":1137,"language":327,"meta":82,"className":328,"style":82},[6320],{"type":87,"tag":111,"props":6321,"children":6322},{"__ignoreMap":82},[6323,6354,6377,6384,6415,6434,6461,6488,6515,6522,6529,6544,6583,6590,6625,6680,6687,6694,6713,6732,6755],{"type":87,"tag":237,"props":6324,"children":6325},{"class":239,"line":8},[6326,6330,6334,6338,6342,6346,6350],{"type":87,"tag":237,"props":6327,"children":6328},{"style":346},[6329],{"type":92,"value":349},{"type":87,"tag":237,"props":6331,"children":6332},{"style":258},[6333],{"type":92,"value":1153},{"type":87,"tag":237,"props":6335,"children":6336},{"style":346},[6337],{"type":92,"value":359},{"type":87,"tag":237,"props":6339,"children":6340},{"style":258},[6341],{"type":92,"value":1162},{"type":87,"tag":237,"props":6343,"children":6344},{"style":346},[6345],{"type":92,"value":359},{"type":87,"tag":237,"props":6347,"children":6348},{"style":258},[6349],{"type":92,"value":1171},{"type":87,"tag":237,"props":6351,"children":6352},{"style":252},[6353],{"type":92,"value":374},{"type":87,"tag":237,"props":6355,"children":6356},{"class":239,"line":42},[6357,6361,6365,6369,6373],{"type":87,"tag":237,"props":6358,"children":6359},{"style":346},[6360],{"type":92,"value":349},{"type":87,"tag":237,"props":6362,"children":6363},{"style":258},[6364],{"type":92,"value":1187},{"type":87,"tag":237,"props":6366,"children":6367},{"style":346},[6368],{"type":92,"value":359},{"type":87,"tag":237,"props":6370,"children":6371},{"style":258},[6372],{"type":92,"value":1196},{"type":87,"tag":237,"props":6374,"children":6375},{"style":252},[6376],{"type":92,"value":374},{"type":87,"tag":237,"props":6378,"children":6379},{"class":239,"line":32},[6380],{"type":87,"tag":237,"props":6381,"children":6382},{"emptyLinePlaceholder":290},[6383],{"type":92,"value":293},{"type":87,"tag":237,"props":6385,"children":6386},{"class":239,"line":14},[6387,6391,6395,6399,6403,6407,6411],{"type":87,"tag":237,"props":6388,"children":6389},{"style":252},[6390],{"type":92,"value":389},{"type":87,"tag":237,"props":6392,"children":6393},{"style":258},[6394],{"type":92,"value":1219},{"type":87,"tag":237,"props":6396,"children":6397},{"style":252},[6398],{"type":92,"value":118},{"type":87,"tag":237,"props":6400,"children":6401},{"style":258},[6402],{"type":92,"value":394},{"type":87,"tag":237,"props":6404,"children":6405},{"style":252},[6406],{"type":92,"value":118},{"type":87,"tag":237,"props":6408,"children":6409},{"style":258},[6410],{"type":92,"value":1196},{"type":87,"tag":237,"props":6412,"children":6413},{"style":252},[6414],{"type":92,"value":399},{"type":87,"tag":237,"props":6416,"children":6417},{"class":239,"line":78},[6418,6422,6426,6430],{"type":87,"tag":237,"props":6419,"children":6420},{"style":346},[6421],{"type":92,"value":407},{"type":87,"tag":237,"props":6423,"children":6424},{"style":346},[6425],{"type":92,"value":412},{"type":87,"tag":237,"props":6427,"children":6428},{"style":258},[6429],{"type":92,"value":1255},{"type":87,"tag":237,"props":6431,"children":6432},{"style":252},[6433],{"type":92,"value":456},{"type":87,"tag":237,"props":6435,"children":6436},{"class":239,"line":312},[6437,6441,6445,6449,6453,6457],{"type":87,"tag":237,"props":6438,"children":6439},{"style":252},[6440],{"type":92,"value":1267},{"type":87,"tag":237,"props":6442,"children":6443},{"style":346},[6444],{"type":92,"value":407},{"type":87,"tag":237,"props":6446,"children":6447},{"style":252},[6448],{"type":92,"value":1276},{"type":87,"tag":237,"props":6450,"children":6451},{"style":346},[6452],{"type":92,"value":588},{"type":87,"tag":237,"props":6454,"children":6455},{"style":258},[6456],{"type":92,"value":1285},{"type":87,"tag":237,"props":6458,"children":6459},{"style":252},[6460],{"type":92,"value":696},{"type":87,"tag":237,"props":6462,"children":6463},{"class":239,"line":431},[6464,6468,6472,6476,6480,6484],{"type":87,"tag":237,"props":6465,"children":6466},{"style":252},[6467],{"type":92,"value":1267},{"type":87,"tag":237,"props":6469,"children":6470},{"style":346},[6471],{"type":92,"value":407},{"type":87,"tag":237,"props":6473,"children":6474},{"style":252},[6475],{"type":92,"value":1305},{"type":87,"tag":237,"props":6477,"children":6478},{"style":346},[6479],{"type":92,"value":588},{"type":87,"tag":237,"props":6481,"children":6482},{"style":258},[6483],{"type":92,"value":1314},{"type":87,"tag":237,"props":6485,"children":6486},{"style":252},[6487],{"type":92,"value":696},{"type":87,"tag":237,"props":6489,"children":6490},{"class":239,"line":459},[6491,6495,6499,6503,6507,6511],{"type":87,"tag":237,"props":6492,"children":6493},{"style":252},[6494],{"type":92,"value":1267},{"type":87,"tag":237,"props":6496,"children":6497},{"style":346},[6498],{"type":92,"value":407},{"type":87,"tag":237,"props":6500,"children":6501},{"style":252},[6502],{"type":92,"value":1334},{"type":87,"tag":237,"props":6504,"children":6505},{"style":346},[6506],{"type":92,"value":588},{"type":87,"tag":237,"props":6508,"children":6509},{"style":258},[6510],{"type":92,"value":1285},{"type":87,"tag":237,"props":6512,"children":6513},{"style":252},[6514],{"type":92,"value":696},{"type":87,"tag":237,"props":6516,"children":6517},{"class":239,"line":548},[6518],{"type":87,"tag":237,"props":6519,"children":6520},{"style":252},[6521],{"type":92,"value":1005},{"type":87,"tag":237,"props":6523,"children":6524},{"class":239,"line":556},[6525],{"type":87,"tag":237,"props":6526,"children":6527},{"emptyLinePlaceholder":290},[6528],{"type":92,"value":293},{"type":87,"tag":237,"props":6530,"children":6531},{"class":239,"line":613},[6532,6536,6540],{"type":87,"tag":237,"props":6533,"children":6534},{"style":252},[6535],{"type":92,"value":389},{"type":87,"tag":237,"props":6537,"children":6538},{"style":258},[6539],{"type":92,"value":1219},{"type":87,"tag":237,"props":6541,"children":6542},{"style":252},[6543],{"type":92,"value":399},{"type":87,"tag":237,"props":6545,"children":6546},{"class":239,"line":646},[6547,6551,6555,6559,6563,6567,6571,6575,6579],{"type":87,"tag":237,"props":6548,"children":6549},{"style":346},[6550],{"type":92,"value":407},{"type":87,"tag":237,"props":6552,"children":6553},{"style":346},[6554],{"type":92,"value":412},{"type":87,"tag":237,"props":6556,"children":6557},{"style":258},[6558],{"type":92,"value":417},{"type":87,"tag":237,"props":6560,"children":6561},{"style":252},[6562],{"type":92,"value":1395},{"type":87,"tag":237,"props":6564,"children":6565},{"style":346},[6566],{"type":92,"value":588},{"type":87,"tag":237,"props":6568,"children":6569},{"style":258},[6570],{"type":92,"value":1404},{"type":87,"tag":237,"props":6572,"children":6573},{"style":252},[6574],{"type":92,"value":1409},{"type":87,"tag":237,"props":6576,"children":6577},{"style":258},[6578],{"type":92,"value":1414},{"type":87,"tag":237,"props":6580,"children":6581},{"style":252},[6582],{"type":92,"value":1419},{"type":87,"tag":237,"props":6584,"children":6585},{"class":239,"line":655},[6586],{"type":87,"tag":237,"props":6587,"children":6588},{"emptyLinePlaceholder":290},[6589],{"type":92,"value":293},{"type":87,"tag":237,"props":6591,"children":6592},{"class":239,"line":663},[6593,6597,6601,6605,6609,6613,6617,6621],{"type":87,"tag":237,"props":6594,"children":6595},{"style":346},[6596],{"type":92,"value":437},{"type":87,"tag":237,"props":6598,"children":6599},{"style":258},[6600],{"type":92,"value":1438},{"type":87,"tag":237,"props":6602,"children":6603},{"style":252},[6604],{"type":92,"value":1409},{"type":87,"tag":237,"props":6606,"children":6607},{"style":258},[6608],{"type":92,"value":1414},{"type":87,"tag":237,"props":6610,"children":6611},{"style":252},[6612],{"type":92,"value":1451},{"type":87,"tag":237,"props":6614,"children":6615},{"style":346},[6616],{"type":92,"value":1456},{"type":87,"tag":237,"props":6618,"children":6619},{"style":258},[6620],{"type":92,"value":417},{"type":87,"tag":237,"props":6622,"children":6623},{"style":252},[6624],{"type":92,"value":456},{"type":87,"tag":237,"props":6626,"children":6627},{"class":239,"line":681},[6628,6632,6636,6640,6644,6648,6652,6656,6660,6664,6668,6672,6676],{"type":87,"tag":237,"props":6629,"children":6630},{"style":346},[6631],{"type":92,"value":465},{"type":87,"tag":237,"props":6633,"children":6634},{"style":468},[6635],{"type":92,"value":1476},{"type":87,"tag":237,"props":6637,"children":6638},{"style":252},[6639],{"type":92,"value":1481},{"type":87,"tag":237,"props":6641,"children":6642},{"style":346},[6643],{"type":92,"value":588},{"type":87,"tag":237,"props":6645,"children":6646},{"style":258},[6647],{"type":92,"value":1404},{"type":87,"tag":237,"props":6649,"children":6650},{"style":252},[6651],{"type":92,"value":1409},{"type":87,"tag":237,"props":6653,"children":6654},{"style":258},[6655],{"type":92,"value":1414},{"type":87,"tag":237,"props":6657,"children":6658},{"style":252},[6659],{"type":92,"value":1502},{"type":87,"tag":237,"props":6661,"children":6662},{"style":346},[6663],{"type":92,"value":497},{"type":87,"tag":237,"props":6665,"children":6666},{"style":484},[6667],{"type":92,"value":1511},{"type":87,"tag":237,"props":6669,"children":6670},{"style":252},[6671],{"type":92,"value":525},{"type":87,"tag":237,"props":6673,"children":6674},{"style":484},[6675],{"type":92,"value":1520},{"type":87,"tag":237,"props":6677,"children":6678},{"style":252},[6679],{"type":92,"value":1525},{"type":87,"tag":237,"props":6681,"children":6682},{"class":239,"line":699},[6683],{"type":87,"tag":237,"props":6684,"children":6685},{"style":252},[6686],{"type":92,"value":1005},{"type":87,"tag":237,"props":6688,"children":6689},{"class":239,"line":721},[6690],{"type":87,"tag":237,"props":6691,"children":6692},{"emptyLinePlaceholder":290},[6693],{"type":92,"value":293},{"type":87,"tag":237,"props":6695,"children":6696},{"class":239,"line":743},[6697,6701,6705,6709],{"type":87,"tag":237,"props":6698,"children":6699},{"style":258},[6700],{"type":92,"value":1022},{"type":87,"tag":237,"props":6702,"children":6703},{"style":346},[6704],{"type":92,"value":359},{"type":87,"tag":237,"props":6706,"children":6707},{"style":468},[6708],{"type":92,"value":1031},{"type":87,"tag":237,"props":6710,"children":6711},{"style":252},[6712],{"type":92,"value":456},{"type":87,"tag":237,"props":6714,"children":6715},{"class":239,"line":789},[6716,6720,6724,6728],{"type":87,"tag":237,"props":6717,"children":6718},{"style":252},[6719],{"type":92,"value":1566},{"type":87,"tag":237,"props":6721,"children":6722},{"style":346},[6723],{"type":92,"value":1571},{"type":87,"tag":237,"props":6725,"children":6726},{"style":258},[6727],{"type":92,"value":1255},{"type":87,"tag":237,"props":6729,"children":6730},{"style":252},[6731],{"type":92,"value":374},{"type":87,"tag":237,"props":6733,"children":6734},{"class":239,"line":860},[6735,6739,6743,6747,6751],{"type":87,"tag":237,"props":6736,"children":6737},{"style":258},[6738],{"type":92,"value":1044},{"type":87,"tag":237,"props":6740,"children":6741},{"style":346},[6742],{"type":92,"value":1049},{"type":87,"tag":237,"props":6744,"children":6745},{"style":252},[6746],{"type":92,"value":1054},{"type":87,"tag":237,"props":6748,"children":6749},{"style":258},[6750],{"type":92,"value":1059},{"type":87,"tag":237,"props":6752,"children":6753},{"style":252},[6754],{"type":92,"value":1064},{"type":87,"tag":237,"props":6756,"children":6757},{"class":239,"line":893},[6758],{"type":87,"tag":237,"props":6759,"children":6760},{"style":252},[6761],{"type":92,"value":1005},{"type":87,"tag":88,"props":6763,"children":6764},{},[6765,6766,6771,6772,6777,6778,6783,6784,6789,6790,6795,6796,6801],{"type":92,"value":1614},{"type":87,"tag":111,"props":6767,"children":6769},{"className":6768},[],[6770],{"type":92,"value":1620},{"type":92,"value":1622},{"type":87,"tag":111,"props":6773,"children":6775},{"className":6774},[],[6776],{"type":92,"value":1628},{"type":92,"value":1630},{"type":87,"tag":111,"props":6779,"children":6781},{"className":6780},[],[6782],{"type":92,"value":1636},{"type":92,"value":1638},{"type":87,"tag":111,"props":6785,"children":6787},{"className":6786},[],[6788],{"type":92,"value":1644},{"type":92,"value":1646},{"type":87,"tag":111,"props":6791,"children":6793},{"className":6792},[],[6794],{"type":92,"value":1652},{"type":92,"value":1654},{"type":87,"tag":111,"props":6797,"children":6799},{"className":6798},[],[6800],{"type":92,"value":1660},{"type":92,"value":1662},{"type":87,"tag":227,"props":6803,"children":6804},{"code":1665,"language":230,"meta":82,"className":231,"style":82},[6805],{"type":87,"tag":111,"props":6806,"children":6807},{"__ignoreMap":82},[6808,6815,6826,6837,6848,6859,6866,6881,6892],{"type":87,"tag":237,"props":6809,"children":6810},{"class":239,"line":8},[6811],{"type":87,"tag":237,"props":6812,"children":6813},{"style":243},[6814],{"type":92,"value":1677},{"type":87,"tag":237,"props":6816,"children":6817},{"class":239,"line":42},[6818,6822],{"type":87,"tag":237,"props":6819,"children":6820},{"style":252},[6821],{"type":92,"value":1685},{"type":87,"tag":237,"props":6823,"children":6824},{"style":277},[6825],{"type":92,"value":1690},{"type":87,"tag":237,"props":6827,"children":6828},{"class":239,"line":32},[6829,6833],{"type":87,"tag":237,"props":6830,"children":6831},{"style":252},[6832],{"type":92,"value":1698},{"type":87,"tag":237,"props":6834,"children":6835},{"style":277},[6836],{"type":92,"value":1703},{"type":87,"tag":237,"props":6838,"children":6839},{"class":239,"line":14},[6840,6844],{"type":87,"tag":237,"props":6841,"children":6842},{"style":252},[6843],{"type":92,"value":1711},{"type":87,"tag":237,"props":6845,"children":6846},{"style":277},[6847],{"type":92,"value":1716},{"type":87,"tag":237,"props":6849,"children":6850},{"class":239,"line":78},[6851,6855],{"type":87,"tag":237,"props":6852,"children":6853},{"style":252},[6854],{"type":92,"value":1724},{"type":87,"tag":237,"props":6856,"children":6857},{"style":484},[6858],{"type":92,"value":1729},{"type":87,"tag":237,"props":6860,"children":6861},{"class":239,"line":312},[6862],{"type":87,"tag":237,"props":6863,"children":6864},{"emptyLinePlaceholder":290},[6865],{"type":92,"value":293},{"type":87,"tag":237,"props":6867,"children":6868},{"class":239,"line":431},[6869,6873,6877],{"type":87,"tag":237,"props":6870,"children":6871},{"style":252},[6872],{"type":92,"value":1744},{"type":87,"tag":237,"props":6874,"children":6875},{"style":258},[6876],{"type":92,"value":1749},{"type":87,"tag":237,"props":6878,"children":6879},{"style":252},[6880],{"type":92,"value":1754},{"type":87,"tag":237,"props":6882,"children":6883},{"class":239,"line":459},[6884,6888],{"type":87,"tag":237,"props":6885,"children":6886},{"style":252},[6887],{"type":92,"value":1762},{"type":87,"tag":237,"props":6889,"children":6890},{"style":277},[6891],{"type":92,"value":1767},{"type":87,"tag":237,"props":6893,"children":6894},{"class":239,"line":548},[6895,6899],{"type":87,"tag":237,"props":6896,"children":6897},{"style":252},[6898],{"type":92,"value":1775},{"type":87,"tag":237,"props":6900,"children":6901},{"style":484},[6902],{"type":92,"value":1780},{"type":87,"tag":220,"props":6904,"children":6905},{"id":1783},[6906],{"type":92,"value":1786},{"type":87,"tag":88,"props":6908,"children":6909},{},[6910],{"type":92,"value":1791},{"type":87,"tag":95,"props":6912,"children":6913},{},[6914,6924,6934],{"type":87,"tag":99,"props":6915,"children":6916},{},[6917,6918,6923],{"type":92,"value":1799},{"type":87,"tag":111,"props":6919,"children":6921},{"className":6920},[],[6922],{"type":92,"value":1805},{"type":92,"value":1807},{"type":87,"tag":99,"props":6925,"children":6926},{},[6927,6928,6933],{"type":92,"value":1812},{"type":87,"tag":111,"props":6929,"children":6931},{"className":6930},[],[6932],{"type":92,"value":1111},{"type":92,"value":1807},{"type":87,"tag":99,"props":6935,"children":6936},{},[6937,6938,6943],{"type":92,"value":1823},{"type":87,"tag":111,"props":6939,"children":6941},{"className":6940},[],[6942],{"type":92,"value":1829},{"type":92,"value":1807},{"type":87,"tag":88,"props":6945,"children":6946},{},[6947],{"type":92,"value":1835},{"type":87,"tag":1837,"props":6949,"children":6950},{},[6951,6969],{"type":87,"tag":1841,"props":6952,"children":6953},{},[6954],{"type":87,"tag":1845,"props":6955,"children":6956},{},[6957,6961,6965],{"type":87,"tag":1849,"props":6958,"children":6959},{},[6960],{"type":92,"value":1853},{"type":87,"tag":1849,"props":6962,"children":6963},{},[6964],{"type":92,"value":1858},{"type":87,"tag":1849,"props":6966,"children":6967},{},[6968],{"type":92,"value":1863},{"type":87,"tag":1865,"props":6970,"children":6971},{},[6972,6995,7018,7041,7064,7087,7110,7133,7156,7179,7202,7225,7248],{"type":87,"tag":1845,"props":6973,"children":6974},{},[6975,6983,6991],{"type":87,"tag":1872,"props":6976,"children":6977},{},[6978],{"type":87,"tag":111,"props":6979,"children":6981},{"className":6980},[],[6982],{"type":92,"value":1880},{"type":87,"tag":1872,"props":6984,"children":6985},{},[6986],{"type":87,"tag":111,"props":6987,"children":6989},{"className":6988},[],[6990],{"type":92,"value":116},{"type":87,"tag":1872,"props":6992,"children":6993},{},[6994],{"type":92,"value":1893},{"type":87,"tag":1845,"props":6996,"children":6997},{},[6998,7006,7014],{"type":87,"tag":1872,"props":6999,"children":7000},{},[7001],{"type":87,"tag":111,"props":7002,"children":7004},{"className":7003},[],[7005],{"type":92,"value":1905},{"type":87,"tag":1872,"props":7007,"children":7008},{},[7009],{"type":87,"tag":111,"props":7010,"children":7012},{"className":7011},[],[7013],{"type":92,"value":1914},{"type":87,"tag":1872,"props":7015,"children":7016},{},[7017],{"type":92,"value":1919},{"type":87,"tag":1845,"props":7019,"children":7020},{},[7021,7029,7037],{"type":87,"tag":1872,"props":7022,"children":7023},{},[7024],{"type":87,"tag":111,"props":7025,"children":7027},{"className":7026},[],[7028],{"type":92,"value":1931},{"type":87,"tag":1872,"props":7030,"children":7031},{},[7032],{"type":87,"tag":111,"props":7033,"children":7035},{"className":7034},[],[7036],{"type":92,"value":131},{"type":87,"tag":1872,"props":7038,"children":7039},{},[7040],{"type":92,"value":1944},{"type":87,"tag":1845,"props":7042,"children":7043},{},[7044,7052,7060],{"type":87,"tag":1872,"props":7045,"children":7046},{},[7047],{"type":87,"tag":111,"props":7048,"children":7050},{"className":7049},[],[7051],{"type":92,"value":1956},{"type":87,"tag":1872,"props":7053,"children":7054},{},[7055],{"type":87,"tag":111,"props":7056,"children":7058},{"className":7057},[],[7059],{"type":92,"value":124},{"type":87,"tag":1872,"props":7061,"children":7062},{},[7063],{"type":92,"value":1969},{"type":87,"tag":1845,"props":7065,"children":7066},{},[7067,7075,7083],{"type":87,"tag":1872,"props":7068,"children":7069},{},[7070],{"type":87,"tag":111,"props":7071,"children":7073},{"className":7072},[],[7074],{"type":92,"value":1981},{"type":87,"tag":1872,"props":7076,"children":7077},{},[7078],{"type":87,"tag":111,"props":7079,"children":7081},{"className":7080},[],[7082],{"type":92,"value":1990},{"type":87,"tag":1872,"props":7084,"children":7085},{},[7086],{"type":92,"value":1995},{"type":87,"tag":1845,"props":7088,"children":7089},{},[7090,7098,7106],{"type":87,"tag":1872,"props":7091,"children":7092},{},[7093],{"type":87,"tag":111,"props":7094,"children":7096},{"className":7095},[],[7097],{"type":92,"value":2007},{"type":87,"tag":1872,"props":7099,"children":7100},{},[7101],{"type":87,"tag":111,"props":7102,"children":7104},{"className":7103},[],[7105],{"type":92,"value":2016},{"type":87,"tag":1872,"props":7107,"children":7108},{},[7109],{"type":92,"value":2021},{"type":87,"tag":1845,"props":7111,"children":7112},{},[7113,7121,7129],{"type":87,"tag":1872,"props":7114,"children":7115},{},[7116],{"type":87,"tag":111,"props":7117,"children":7119},{"className":7118},[],[7120],{"type":92,"value":2033},{"type":87,"tag":1872,"props":7122,"children":7123},{},[7124],{"type":87,"tag":111,"props":7125,"children":7127},{"className":7126},[],[7128],{"type":92,"value":2042},{"type":87,"tag":1872,"props":7130,"children":7131},{},[7132],{"type":92,"value":2047},{"type":87,"tag":1845,"props":7134,"children":7135},{},[7136,7144,7152],{"type":87,"tag":1872,"props":7137,"children":7138},{},[7139],{"type":87,"tag":111,"props":7140,"children":7142},{"className":7141},[],[7143],{"type":92,"value":2059},{"type":87,"tag":1872,"props":7145,"children":7146},{},[7147],{"type":87,"tag":111,"props":7148,"children":7150},{"className":7149},[],[7151],{"type":92,"value":2068},{"type":87,"tag":1872,"props":7153,"children":7154},{},[7155],{"type":92,"value":2073},{"type":87,"tag":1845,"props":7157,"children":7158},{},[7159,7167,7175],{"type":87,"tag":1872,"props":7160,"children":7161},{},[7162],{"type":87,"tag":111,"props":7163,"children":7165},{"className":7164},[],[7166],{"type":92,"value":2085},{"type":87,"tag":1872,"props":7168,"children":7169},{},[7170],{"type":87,"tag":111,"props":7171,"children":7173},{"className":7172},[],[7174],{"type":92,"value":2094},{"type":87,"tag":1872,"props":7176,"children":7177},{},[7178],{"type":92,"value":2099},{"type":87,"tag":1845,"props":7180,"children":7181},{},[7182,7190,7198],{"type":87,"tag":1872,"props":7183,"children":7184},{},[7185],{"type":87,"tag":111,"props":7186,"children":7188},{"className":7187},[],[7189],{"type":92,"value":2111},{"type":87,"tag":1872,"props":7191,"children":7192},{},[7193],{"type":87,"tag":111,"props":7194,"children":7196},{"className":7195},[],[7197],{"type":92,"value":2120},{"type":87,"tag":1872,"props":7199,"children":7200},{},[7201],{"type":92,"value":2125},{"type":87,"tag":1845,"props":7203,"children":7204},{},[7205,7213,7221],{"type":87,"tag":1872,"props":7206,"children":7207},{},[7208],{"type":87,"tag":111,"props":7209,"children":7211},{"className":7210},[],[7212],{"type":92,"value":2137},{"type":87,"tag":1872,"props":7214,"children":7215},{},[7216],{"type":87,"tag":111,"props":7217,"children":7219},{"className":7218},[],[7220],{"type":92,"value":2146},{"type":87,"tag":1872,"props":7222,"children":7223},{},[7224],{"type":92,"value":2151},{"type":87,"tag":1845,"props":7226,"children":7227},{},[7228,7236,7244],{"type":87,"tag":1872,"props":7229,"children":7230},{},[7231],{"type":87,"tag":111,"props":7232,"children":7234},{"className":7233},[],[7235],{"type":92,"value":2163},{"type":87,"tag":1872,"props":7237,"children":7238},{},[7239],{"type":87,"tag":111,"props":7240,"children":7242},{"className":7241},[],[7243],{"type":92,"value":2172},{"type":87,"tag":1872,"props":7245,"children":7246},{},[7247],{"type":92,"value":2177},{"type":87,"tag":1845,"props":7249,"children":7250},{},[7251,7259,7267],{"type":87,"tag":1872,"props":7252,"children":7253},{},[7254],{"type":87,"tag":111,"props":7255,"children":7257},{"className":7256},[],[7258],{"type":92,"value":2189},{"type":87,"tag":1872,"props":7260,"children":7261},{},[7262],{"type":87,"tag":111,"props":7263,"children":7265},{"className":7264},[],[7266],{"type":92,"value":2198},{"type":87,"tag":1872,"props":7268,"children":7269},{},[7270],{"type":92,"value":2203},{"type":87,"tag":220,"props":7272,"children":7273},{"id":2206},[7274],{"type":92,"value":2209},{"type":87,"tag":88,"props":7276,"children":7277},{},[7278,7283,7284,7289],{"type":87,"tag":111,"props":7279,"children":7281},{"className":7280},[],[7282],{"type":92,"value":208},{"type":92,"value":2219},{"type":87,"tag":111,"props":7285,"children":7287},{"className":7286},[],[7288],{"type":92,"value":2225},{"type":92,"value":588},{"type":87,"tag":227,"props":7291,"children":7292},{"code":2229,"language":230,"meta":82,"className":231,"style":82},[7293],{"type":87,"tag":111,"props":7294,"children":7295},{"__ignoreMap":82},[7296,7307,7318,7329,7340,7351,7362,7373,7384,7395,7410,7417,7432,7443,7454,7465,7472,7487,7498,7509,7520,7531],{"type":87,"tag":237,"props":7297,"children":7298},{"class":239,"line":8},[7299,7303],{"type":87,"tag":237,"props":7300,"children":7301},{"style":252},[7302],{"type":92,"value":1685},{"type":87,"tag":237,"props":7304,"children":7305},{"style":277},[7306],{"type":92,"value":2245},{"type":87,"tag":237,"props":7308,"children":7309},{"class":239,"line":42},[7310,7314],{"type":87,"tag":237,"props":7311,"children":7312},{"style":252},[7313],{"type":92,"value":1698},{"type":87,"tag":237,"props":7315,"children":7316},{"style":277},[7317],{"type":92,"value":2257},{"type":87,"tag":237,"props":7319,"children":7320},{"class":239,"line":32},[7321,7325],{"type":87,"tag":237,"props":7322,"children":7323},{"style":252},[7324],{"type":92,"value":1711},{"type":87,"tag":237,"props":7326,"children":7327},{"style":277},[7328],{"type":92,"value":2269},{"type":87,"tag":237,"props":7330,"children":7331},{"class":239,"line":14},[7332,7336],{"type":87,"tag":237,"props":7333,"children":7334},{"style":252},[7335],{"type":92,"value":2277},{"type":87,"tag":237,"props":7337,"children":7338},{"style":277},[7339],{"type":92,"value":2282},{"type":87,"tag":237,"props":7341,"children":7342},{"class":239,"line":78},[7343,7347],{"type":87,"tag":237,"props":7344,"children":7345},{"style":252},[7346],{"type":92,"value":2290},{"type":87,"tag":237,"props":7348,"children":7349},{"style":277},[7350],{"type":92,"value":2295},{"type":87,"tag":237,"props":7352,"children":7353},{"class":239,"line":312},[7354,7358],{"type":87,"tag":237,"props":7355,"children":7356},{"style":252},[7357],{"type":92,"value":2303},{"type":87,"tag":237,"props":7359,"children":7360},{"style":277},[7361],{"type":92,"value":2308},{"type":87,"tag":237,"props":7363,"children":7364},{"class":239,"line":431},[7365,7369],{"type":87,"tag":237,"props":7366,"children":7367},{"style":252},[7368],{"type":92,"value":2316},{"type":87,"tag":237,"props":7370,"children":7371},{"style":277},[7372],{"type":92,"value":2321},{"type":87,"tag":237,"props":7374,"children":7375},{"class":239,"line":459},[7376,7380],{"type":87,"tag":237,"props":7377,"children":7378},{"style":252},[7379],{"type":92,"value":2329},{"type":87,"tag":237,"props":7381,"children":7382},{"style":277},[7383],{"type":92,"value":2334},{"type":87,"tag":237,"props":7385,"children":7386},{"class":239,"line":548},[7387,7391],{"type":87,"tag":237,"props":7388,"children":7389},{"style":252},[7390],{"type":92,"value":1724},{"type":87,"tag":237,"props":7392,"children":7393},{"style":484},[7394],{"type":92,"value":1729},{"type":87,"tag":237,"props":7396,"children":7397},{"class":239,"line":556},[7398,7402,7406],{"type":87,"tag":237,"props":7399,"children":7400},{"style":252},[7401],{"type":92,"value":2353},{"type":87,"tag":237,"props":7403,"children":7404},{"style":277},[7405],{"type":92,"value":2358},{"type":87,"tag":237,"props":7407,"children":7408},{"style":252},[7409],{"type":92,"value":266},{"type":87,"tag":237,"props":7411,"children":7412},{"class":239,"line":613},[7413],{"type":87,"tag":237,"props":7414,"children":7415},{"emptyLinePlaceholder":290},[7416],{"type":92,"value":293},{"type":87,"tag":237,"props":7418,"children":7419},{"class":239,"line":646},[7420,7424,7428],{"type":87,"tag":237,"props":7421,"children":7422},{"style":252},[7423],{"type":92,"value":1744},{"type":87,"tag":237,"props":7425,"children":7426},{"style":258},[7427],{"type":92,"value":1749},{"type":87,"tag":237,"props":7429,"children":7430},{"style":252},[7431],{"type":92,"value":1754},{"type":87,"tag":237,"props":7433,"children":7434},{"class":239,"line":655},[7435,7439],{"type":87,"tag":237,"props":7436,"children":7437},{"style":252},[7438],{"type":92,"value":2392},{"type":87,"tag":237,"props":7440,"children":7441},{"style":277},[7442],{"type":92,"value":2397},{"type":87,"tag":237,"props":7444,"children":7445},{"class":239,"line":663},[7446,7450],{"type":87,"tag":237,"props":7447,"children":7448},{"style":252},[7449],{"type":92,"value":2405},{"type":87,"tag":237,"props":7451,"children":7452},{"style":484},[7453],{"type":92,"value":2410},{"type":87,"tag":237,"props":7455,"children":7456},{"class":239,"line":681},[7457,7461],{"type":87,"tag":237,"props":7458,"children":7459},{"style":252},[7460],{"type":92,"value":2418},{"type":87,"tag":237,"props":7462,"children":7463},{"style":484},[7464],{"type":92,"value":2423},{"type":87,"tag":237,"props":7466,"children":7467},{"class":239,"line":699},[7468],{"type":87,"tag":237,"props":7469,"children":7470},{"emptyLinePlaceholder":290},[7471],{"type":92,"value":293},{"type":87,"tag":237,"props":7473,"children":7474},{"class":239,"line":721},[7475,7479,7483],{"type":87,"tag":237,"props":7476,"children":7477},{"style":252},[7478],{"type":92,"value":1744},{"type":87,"tag":237,"props":7480,"children":7481},{"style":258},[7482],{"type":92,"value":2442},{"type":87,"tag":237,"props":7484,"children":7485},{"style":252},[7486],{"type":92,"value":1754},{"type":87,"tag":237,"props":7488,"children":7489},{"class":239,"line":743},[7490,7494],{"type":87,"tag":237,"props":7491,"children":7492},{"style":252},[7493],{"type":92,"value":2454},{"type":87,"tag":237,"props":7495,"children":7496},{"style":277},[7497],{"type":92,"value":2459},{"type":87,"tag":237,"props":7499,"children":7500},{"class":239,"line":789},[7501,7505],{"type":87,"tag":237,"props":7502,"children":7503},{"style":252},[7504],{"type":92,"value":2467},{"type":87,"tag":237,"props":7506,"children":7507},{"style":277},[7508],{"type":92,"value":2472},{"type":87,"tag":237,"props":7510,"children":7511},{"class":239,"line":860},[7512,7516],{"type":87,"tag":237,"props":7513,"children":7514},{"style":252},[7515],{"type":92,"value":2480},{"type":87,"tag":237,"props":7517,"children":7518},{"style":277},[7519],{"type":92,"value":2485},{"type":87,"tag":237,"props":7521,"children":7522},{"class":239,"line":893},[7523,7527],{"type":87,"tag":237,"props":7524,"children":7525},{"style":252},[7526],{"type":92,"value":2493},{"type":87,"tag":237,"props":7528,"children":7529},{"style":484},[7530],{"type":92,"value":2498},{"type":87,"tag":237,"props":7532,"children":7533},{"class":239,"line":911},[7534,7538],{"type":87,"tag":237,"props":7535,"children":7536},{"style":252},[7537],{"type":92,"value":2506},{"type":87,"tag":237,"props":7539,"children":7540},{"style":277},[7541],{"type":92,"value":2511},{"type":87,"tag":88,"props":7543,"children":7544},{},[7545],{"type":92,"value":2516},{"type":87,"tag":2518,"props":7547,"children":7548},{},[7549,7564,7574],{"type":87,"tag":99,"props":7550,"children":7551},{},[7552,7557,7558,7563],{"type":87,"tag":111,"props":7553,"children":7555},{"className":7554},[],[7556],{"type":92,"value":2529},{"type":92,"value":2531},{"type":87,"tag":111,"props":7559,"children":7561},{"className":7560},[],[7562],{"type":92,"value":2537},{"type":92,"value":1807},{"type":87,"tag":99,"props":7565,"children":7566},{},[7567,7568,7573],{"type":92,"value":2543},{"type":87,"tag":111,"props":7569,"children":7571},{"className":7570},[],[7572],{"type":92,"value":2549},{"type":92,"value":1807},{"type":87,"tag":99,"props":7575,"children":7576},{},[7577,7578,7583],{"type":92,"value":2555},{"type":87,"tag":111,"props":7579,"children":7581},{"className":7580},[],[7582],{"type":92,"value":2561},{"type":92,"value":2563},{"type":87,"tag":220,"props":7585,"children":7586},{"id":2566},[7587],{"type":92,"value":2569},{"type":87,"tag":88,"props":7589,"children":7590},{},[7591,7592,7597,7598,7603,7604,7609],{"type":92,"value":2574},{"type":87,"tag":111,"props":7593,"children":7595},{"className":7594},[],[7596],{"type":92,"value":2580},{"type":92,"value":2582},{"type":87,"tag":111,"props":7599,"children":7601},{"className":7600},[],[7602],{"type":92,"value":216},{"type":92,"value":2589},{"type":87,"tag":111,"props":7605,"children":7607},{"className":7606},[],[7608],{"type":92,"value":2595},{"type":92,"value":588},{"type":87,"tag":227,"props":7611,"children":7612},{"code":2599,"language":230,"meta":82,"className":231,"style":82},[7613],{"type":87,"tag":111,"props":7614,"children":7615},{"__ignoreMap":82},[7616,7627,7634,7649,7660,7671],{"type":87,"tag":237,"props":7617,"children":7618},{"class":239,"line":8},[7619,7623],{"type":87,"tag":237,"props":7620,"children":7621},{"style":252},[7622],{"type":92,"value":2611},{"type":87,"tag":237,"props":7624,"children":7625},{"style":277},[7626],{"type":92,"value":2616},{"type":87,"tag":237,"props":7628,"children":7629},{"class":239,"line":42},[7630],{"type":87,"tag":237,"props":7631,"children":7632},{"emptyLinePlaceholder":290},[7633],{"type":92,"value":293},{"type":87,"tag":237,"props":7635,"children":7636},{"class":239,"line":32},[7637,7641,7645],{"type":87,"tag":237,"props":7638,"children":7639},{"style":252},[7640],{"type":92,"value":1744},{"type":87,"tag":237,"props":7642,"children":7643},{"style":258},[7644],{"type":92,"value":2635},{"type":87,"tag":237,"props":7646,"children":7647},{"style":252},[7648],{"type":92,"value":1754},{"type":87,"tag":237,"props":7650,"children":7651},{"class":239,"line":14},[7652,7656],{"type":87,"tag":237,"props":7653,"children":7654},{"style":252},[7655],{"type":92,"value":2647},{"type":87,"tag":237,"props":7657,"children":7658},{"style":277},[7659],{"type":92,"value":1690},{"type":87,"tag":237,"props":7661,"children":7662},{"class":239,"line":78},[7663,7667],{"type":87,"tag":237,"props":7664,"children":7665},{"style":252},[7666],{"type":92,"value":2659},{"type":87,"tag":237,"props":7668,"children":7669},{"style":277},[7670],{"type":92,"value":2664},{"type":87,"tag":237,"props":7672,"children":7673},{"class":239,"line":312},[7674,7678],{"type":87,"tag":237,"props":7675,"children":7676},{"style":252},[7677],{"type":92,"value":2672},{"type":87,"tag":237,"props":7679,"children":7680},{"style":484},[7681],{"type":92,"value":2498},{"type":87,"tag":88,"props":7683,"children":7684},{},[7685,7686,7691],{"type":92,"value":2681},{"type":87,"tag":111,"props":7687,"children":7689},{"className":7688},[],[7690],{"type":92,"value":194},{"type":92,"value":588},{"type":87,"tag":227,"props":7693,"children":7694},{"code":2690,"language":327,"meta":82,"className":328,"style":82},[7695],{"type":87,"tag":111,"props":7696,"children":7697},{"__ignoreMap":82},[7698,7729,7756,7763,7778,7873,7904],{"type":87,"tag":237,"props":7699,"children":7700},{"class":239,"line":8},[7701,7705,7709,7713,7717,7721,7725],{"type":87,"tag":237,"props":7702,"children":7703},{"style":346},[7704],{"type":92,"value":349},{"type":87,"tag":237,"props":7706,"children":7707},{"style":258},[7708],{"type":92,"value":1153},{"type":87,"tag":237,"props":7710,"children":7711},{"style":346},[7712],{"type":92,"value":359},{"type":87,"tag":237,"props":7714,"children":7715},{"style":258},[7716],{"type":92,"value":2714},{"type":87,"tag":237,"props":7718,"children":7719},{"style":346},[7720],{"type":92,"value":359},{"type":87,"tag":237,"props":7722,"children":7723},{"style":258},[7724],{"type":92,"value":2723},{"type":87,"tag":237,"props":7726,"children":7727},{"style":252},[7728],{"type":92,"value":374},{"type":87,"tag":237,"props":7730,"children":7731},{"class":239,"line":42},[7732,7736,7740,7744,7748,7752],{"type":87,"tag":237,"props":7733,"children":7734},{"style":346},[7735],{"type":92,"value":349},{"type":87,"tag":237,"props":7737,"children":7738},{"style":258},[7739],{"type":92,"value":354},{"type":87,"tag":237,"props":7741,"children":7742},{"style":346},[7743],{"type":92,"value":359},{"type":87,"tag":237,"props":7745,"children":7746},{"style":258},[7747],{"type":92,"value":2747},{"type":87,"tag":237,"props":7749,"children":7750},{"style":346},[7751],{"type":92,"value":359},{"type":87,"tag":237,"props":7753,"children":7754},{"style":252},[7755],{"type":92,"value":2756},{"type":87,"tag":237,"props":7757,"children":7758},{"class":239,"line":32},[7759],{"type":87,"tag":237,"props":7760,"children":7761},{"emptyLinePlaceholder":290},[7762],{"type":92,"value":293},{"type":87,"tag":237,"props":7764,"children":7765},{"class":239,"line":14},[7766,7770,7774],{"type":87,"tag":237,"props":7767,"children":7768},{"style":346},[7769],{"type":92,"value":2771},{"type":87,"tag":237,"props":7771,"children":7772},{"style":468},[7773],{"type":92,"value":2776},{"type":87,"tag":237,"props":7775,"children":7776},{"style":252},[7777],{"type":92,"value":2781},{"type":87,"tag":237,"props":7779,"children":7780},{"class":239,"line":78},[7781,7785,7789,7793,7797,7801,7805,7809,7813,7817,7821,7825,7829,7833,7837,7841,7845,7849,7853,7857,7861,7865,7869],{"type":87,"tag":237,"props":7782,"children":7783},{"style":346},[7784],{"type":92,"value":2789},{"type":87,"tag":237,"props":7786,"children":7787},{"style":252},[7788],{"type":92,"value":2794},{"type":87,"tag":237,"props":7790,"children":7791},{"style":346},[7792],{"type":92,"value":1571},{"type":87,"tag":237,"props":7794,"children":7795},{"style":258},[7796],{"type":92,"value":2803},{"type":87,"tag":237,"props":7798,"children":7799},{"style":346},[7800],{"type":92,"value":359},{"type":87,"tag":237,"props":7802,"children":7803},{"style":468},[7804],{"type":92,"value":2812},{"type":87,"tag":237,"props":7806,"children":7807},{"style":252},[7808],{"type":92,"value":476},{"type":87,"tag":237,"props":7810,"children":7811},{"style":258},[7812],{"type":92,"value":2821},{"type":87,"tag":237,"props":7814,"children":7815},{"style":346},[7816],{"type":92,"value":359},{"type":87,"tag":237,"props":7818,"children":7819},{"style":258},[7820],{"type":92,"value":2830},{"type":87,"tag":237,"props":7822,"children":7823},{"style":346},[7824],{"type":92,"value":359},{"type":87,"tag":237,"props":7826,"children":7827},{"style":468},[7828],{"type":92,"value":2839},{"type":87,"tag":237,"props":7830,"children":7831},{"style":252},[7832],{"type":92,"value":476},{"type":87,"tag":237,"props":7834,"children":7835},{"style":277},[7836],{"type":92,"value":2848},{"type":87,"tag":237,"props":7838,"children":7839},{"style":252},[7840],{"type":92,"value":2853},{"type":87,"tag":237,"props":7842,"children":7843},{"style":346},[7844],{"type":92,"value":535},{"type":87,"tag":237,"props":7846,"children":7847},{"style":468},[7848],{"type":92,"value":2862},{"type":87,"tag":237,"props":7850,"children":7851},{"style":252},[7852],{"type":92,"value":2867},{"type":87,"tag":237,"props":7854,"children":7855},{"style":346},[7856],{"type":92,"value":535},{"type":87,"tag":237,"props":7858,"children":7859},{"style":468},[7860],{"type":92,"value":2876},{"type":87,"tag":237,"props":7862,"children":7863},{"style":252},[7864],{"type":92,"value":476},{"type":87,"tag":237,"props":7866,"children":7867},{"style":277},[7868],{"type":92,"value":2885},{"type":87,"tag":237,"props":7870,"children":7871},{"style":252},[7872],{"type":92,"value":2890},{"type":87,"tag":237,"props":7874,"children":7875},{"class":239,"line":312},[7876,7880,7884,7888,7892,7896,7900],{"type":87,"tag":237,"props":7877,"children":7878},{"style":468},[7879],{"type":92,"value":2898},{"type":87,"tag":237,"props":7881,"children":7882},{"style":252},[7883],{"type":92,"value":476},{"type":87,"tag":237,"props":7885,"children":7886},{"style":277},[7887],{"type":92,"value":2907},{"type":87,"tag":237,"props":7889,"children":7890},{"style":252},[7891],{"type":92,"value":2912},{"type":87,"tag":237,"props":7893,"children":7894},{"style":346},[7895],{"type":92,"value":535},{"type":87,"tag":237,"props":7897,"children":7898},{"style":468},[7899],{"type":92,"value":2862},{"type":87,"tag":237,"props":7901,"children":7902},{"style":252},[7903],{"type":92,"value":2925},{"type":87,"tag":237,"props":7905,"children":7906},{"class":239,"line":431},[7907],{"type":87,"tag":237,"props":7908,"children":7909},{"style":252},[7910],{"type":92,"value":1005},{"type":87,"tag":88,"props":7912,"children":7913},{},[7914,7915,7920,7921,7926],{"type":92,"value":2937},{"type":87,"tag":111,"props":7916,"children":7918},{"className":7917},[],[7919],{"type":92,"value":2943},{"type":92,"value":2945},{"type":87,"tag":111,"props":7922,"children":7924},{"className":7923},[],[7925],{"type":92,"value":2951},{"type":92,"value":2953},{"type":87,"tag":220,"props":7928,"children":7929},{"id":2956},[7930],{"type":92,"value":2959},{"type":87,"tag":88,"props":7932,"children":7933},{},[7934,7935,7939,7940,7948,7949,7958],{"type":92,"value":2964},{"type":87,"tag":103,"props":7936,"children":7937},{},[7938],{"type":92,"value":2969},{"type":92,"value":2971},{"type":87,"tag":151,"props":7941,"children":7942},{"href":2974},[7943],{"type":87,"tag":111,"props":7944,"children":7946},{"className":7945},[],[7947],{"type":92,"value":2981},{"type":92,"value":2983},{"type":87,"tag":151,"props":7950,"children":7952},{"href":2986,"rel":7951},[155],[7953],{"type":87,"tag":111,"props":7954,"children":7956},{"className":7955},[],[7957],{"type":92,"value":2994},{"type":92,"value":2996},{"type":87,"tag":88,"props":7960,"children":7961},{},[7962,7967],{"type":87,"tag":111,"props":7963,"children":7965},{"className":7964},[],[7966],{"type":92,"value":3005},{"type":92,"value":3007},{"type":87,"tag":220,"props":7969,"children":7970},{"id":3010},[7971],{"type":92,"value":3013},{"type":87,"tag":88,"props":7973,"children":7974},{},[7975,7976,7985,7986,7991,7992,7997,7998,8003,8004,8009,8010,8015,8016,8020],{"type":92,"value":3018},{"type":87,"tag":151,"props":7977,"children":7979},{"href":3021,"rel":7978},[155],[7980],{"type":87,"tag":111,"props":7981,"children":7983},{"className":7982},[],[7984],{"type":92,"value":3029},{"type":92,"value":3031},{"type":87,"tag":111,"props":7987,"children":7989},{"className":7988},[],[7990],{"type":92,"value":3037},{"type":92,"value":3039},{"type":87,"tag":111,"props":7993,"children":7995},{"className":7994},[],[7996],{"type":92,"value":3045},{"type":92,"value":3047},{"type":87,"tag":111,"props":7999,"children":8001},{"className":8000},[],[8002],{"type":92,"value":1171},{"type":92,"value":3054},{"type":87,"tag":111,"props":8005,"children":8007},{"className":8006},[],[8008],{"type":92,"value":3060},{"type":92,"value":3062},{"type":87,"tag":111,"props":8011,"children":8013},{"className":8012},[],[8014],{"type":92,"value":3037},{"type":92,"value":3069},{"type":87,"tag":103,"props":8017,"children":8018},{},[8019],{"type":92,"value":3074},{"type":92,"value":3076},{"type":87,"tag":88,"props":8022,"children":8023},{},[8024,8025,8030,8031,8036],{"type":92,"value":3081},{"type":87,"tag":111,"props":8026,"children":8028},{"className":8027},[],[8029],{"type":92,"value":3087},{"type":92,"value":3089},{"type":87,"tag":111,"props":8032,"children":8034},{"className":8033},[],[8035],{"type":92,"value":3095},{"type":92,"value":3097},{"type":87,"tag":220,"props":8038,"children":8039},{"id":3100},[8040],{"type":92,"value":3103},{"type":87,"tag":227,"props":8042,"children":8043},{"code":3106,"language":3107,"meta":82,"className":3108,"style":82},[8044],{"type":87,"tag":111,"props":8045,"children":8046},{"__ignoreMap":82},[8047,8070,8085,8100],{"type":87,"tag":237,"props":8048,"children":8049},{"class":239,"line":8},[8050,8054,8058,8062,8066],{"type":87,"tag":237,"props":8051,"children":8052},{"style":258},[8053],{"type":92,"value":3120},{"type":87,"tag":237,"props":8055,"children":8056},{"style":484},[8057],{"type":92,"value":3125},{"type":87,"tag":237,"props":8059,"children":8060},{"style":277},[8061],{"type":92,"value":3130},{"type":87,"tag":237,"props":8063,"children":8064},{"style":277},[8065],{"type":92,"value":3135},{"type":87,"tag":237,"props":8067,"children":8068},{"style":3138},[8069],{"type":92,"value":3141},{"type":87,"tag":237,"props":8071,"children":8072},{"class":239,"line":42},[8073,8077,8081],{"type":87,"tag":237,"props":8074,"children":8075},{"style":484},[8076],{"type":92,"value":3149},{"type":87,"tag":237,"props":8078,"children":8079},{"style":277},[8080],{"type":92,"value":3154},{"type":87,"tag":237,"props":8082,"children":8083},{"style":3138},[8084],{"type":92,"value":3141},{"type":87,"tag":237,"props":8086,"children":8087},{"class":239,"line":32},[8088,8092,8096],{"type":87,"tag":237,"props":8089,"children":8090},{"style":484},[8091],{"type":92,"value":3149},{"type":87,"tag":237,"props":8093,"children":8094},{"style":277},[8095],{"type":92,"value":3170},{"type":87,"tag":237,"props":8097,"children":8098},{"style":3138},[8099],{"type":92,"value":3141},{"type":87,"tag":237,"props":8101,"children":8102},{"class":239,"line":14},[8103,8107],{"type":87,"tag":237,"props":8104,"children":8105},{"style":484},[8106],{"type":92,"value":3182},{"type":87,"tag":237,"props":8108,"children":8109},{"style":277},[8110],{"type":92,"value":3187},{"type":87,"tag":88,"props":8112,"children":8113},{},[8114,8115,8120,8121,8126],{"type":92,"value":3192},{"type":87,"tag":111,"props":8116,"children":8118},{"className":8117},[],[8119],{"type":92,"value":3198},{"type":92,"value":3200},{"type":87,"tag":111,"props":8122,"children":8124},{"className":8123},[],[8125],{"type":92,"value":3206},{"type":92,"value":3208},{"type":87,"tag":220,"props":8128,"children":8129},{"id":3211},[8130],{"type":92,"value":3214},{"type":87,"tag":88,"props":8132,"children":8133},{},[8134],{"type":92,"value":3219},{"type":87,"tag":1837,"props":8136,"children":8137},{},[8138,8152],{"type":87,"tag":1841,"props":8139,"children":8140},{},[8141],{"type":87,"tag":1845,"props":8142,"children":8143},{},[8144,8148],{"type":87,"tag":1849,"props":8145,"children":8146},{},[8147],{"type":92,"value":3233},{"type":87,"tag":1849,"props":8149,"children":8150},{},[8151],{"type":92,"value":3238},{"type":87,"tag":1865,"props":8153,"children":8154},{},[8155,8182,8201,8222,8242],{"type":87,"tag":1845,"props":8156,"children":8157},{},[8158,8166],{"type":87,"tag":1872,"props":8159,"children":8160},{},[8161],{"type":87,"tag":111,"props":8162,"children":8164},{"className":8163},[],[8165],{"type":92,"value":3253},{"type":87,"tag":1872,"props":8167,"children":8168},{},[8169,8170,8175,8176,8181],{"type":92,"value":3258},{"type":87,"tag":111,"props":8171,"children":8173},{"className":8172},[],[8174],{"type":92,"value":116},{"type":92,"value":118},{"type":87,"tag":111,"props":8177,"children":8179},{"className":8178},[],[8180],{"type":92,"value":124},{"type":92,"value":3271},{"type":87,"tag":1845,"props":8183,"children":8184},{},[8185,8193],{"type":87,"tag":1872,"props":8186,"children":8187},{},[8188],{"type":87,"tag":111,"props":8189,"children":8191},{"className":8190},[],[8192],{"type":92,"value":3283},{"type":87,"tag":1872,"props":8194,"children":8195},{},[8196],{"type":87,"tag":111,"props":8197,"children":8199},{"className":8198},[],[8200],{"type":92,"value":3292},{"type":87,"tag":1845,"props":8202,"children":8203},{},[8204,8213],{"type":87,"tag":1872,"props":8205,"children":8206},{},[8207,8212],{"type":87,"tag":111,"props":8208,"children":8210},{"className":8209},[],[8211],{"type":92,"value":3304},{"type":92,"value":3306},{"type":87,"tag":1872,"props":8214,"children":8215},{},[8216,8221],{"type":87,"tag":111,"props":8217,"children":8219},{"className":8218},[],[8220],{"type":92,"value":3315},{"type":92,"value":3317},{"type":87,"tag":1845,"props":8223,"children":8224},{},[8225,8234],{"type":87,"tag":1872,"props":8226,"children":8227},{},[8228,8233],{"type":87,"tag":111,"props":8229,"children":8231},{"className":8230},[],[8232],{"type":92,"value":3329},{"type":92,"value":3306},{"type":87,"tag":1872,"props":8235,"children":8236},{},[8237],{"type":87,"tag":111,"props":8238,"children":8240},{"className":8239},[],[8241],{"type":92,"value":3339},{"type":87,"tag":1845,"props":8243,"children":8244},{},[8245,8255],{"type":87,"tag":1872,"props":8246,"children":8247},{},[8248,8249,8254],{"type":92,"value":3347},{"type":87,"tag":111,"props":8250,"children":8252},{"className":8251},[],[8253],{"type":92,"value":3353},{"type":92,"value":3355},{"type":87,"tag":1872,"props":8256,"children":8257},{},[8258,8263],{"type":87,"tag":111,"props":8259,"children":8261},{"className":8260},[],[8262],{"type":92,"value":208},{"type":92,"value":3365},{"type":87,"tag":88,"props":8265,"children":8266},{},[8267,8268,8277],{"type":92,"value":3370},{"type":87,"tag":151,"props":8269,"children":8271},{"href":3373,"rel":8270},[155],[8272],{"type":87,"tag":111,"props":8273,"children":8275},{"className":8274},[],[8276],{"type":92,"value":3381},{"type":92,"value":535},{"type":87,"tag":220,"props":8279,"children":8280},{"id":3385},[8281],{"type":92,"value":3388},{"type":87,"tag":88,"props":8283,"children":8284},{},[8285,8286,8291,8292,8297,8298,8303,8304,8309,8310,8315,8316,8321,8322,8327,8328,8333,8334,8339],{"type":92,"value":3393},{"type":87,"tag":111,"props":8287,"children":8289},{"className":8288},[],[8290],{"type":92,"value":170},{"type":92,"value":3400},{"type":87,"tag":111,"props":8293,"children":8295},{"className":8294},[],[8296],{"type":92,"value":3406},{"type":92,"value":3408},{"type":87,"tag":111,"props":8299,"children":8301},{"className":8300},[],[8302],{"type":92,"value":3414},{"type":92,"value":3416},{"type":87,"tag":111,"props":8305,"children":8307},{"className":8306},[],[8308],{"type":92,"value":3422},{"type":92,"value":3424},{"type":87,"tag":111,"props":8311,"children":8313},{"className":8312},[],[8314],{"type":92,"value":3430},{"type":92,"value":3432},{"type":87,"tag":111,"props":8317,"children":8319},{"className":8318},[],[8320],{"type":92,"value":487},{"type":92,"value":3439},{"type":87,"tag":111,"props":8323,"children":8325},{"className":8324},[],[8326],{"type":92,"value":3445},{"type":92,"value":3447},{"type":87,"tag":111,"props":8329,"children":8331},{"className":8330},[],[8332],{"type":92,"value":162},{"type":92,"value":3454},{"type":87,"tag":111,"props":8335,"children":8337},{"className":8336},[],[8338],{"type":92,"value":3460},{"type":92,"value":3462},{"type":87,"tag":88,"props":8341,"children":8342},{},[8343,8344,8349,8350,8355],{"type":92,"value":3467},{"type":87,"tag":111,"props":8345,"children":8347},{"className":8346},[],[8348],{"type":92,"value":1219},{"type":92,"value":3474},{"type":87,"tag":111,"props":8351,"children":8353},{"className":8352},[],[8354],{"type":92,"value":3480},{"type":92,"value":3482},{"type":87,"tag":227,"props":8357,"children":8358},{"code":3485,"language":327,"meta":82,"className":328,"style":82},[8359],{"type":87,"tag":111,"props":8360,"children":8361},{"__ignoreMap":82},[8362,8377,8396,8439,8446,8453,8468,8495,8514,8533],{"type":87,"tag":237,"props":8363,"children":8364},{"class":239,"line":8},[8365,8369,8373],{"type":87,"tag":237,"props":8366,"children":8367},{"style":252},[8368],{"type":92,"value":389},{"type":87,"tag":237,"props":8370,"children":8371},{"style":258},[8372],{"type":92,"value":1219},{"type":87,"tag":237,"props":8374,"children":8375},{"style":252},[8376],{"type":92,"value":399},{"type":87,"tag":237,"props":8378,"children":8379},{"class":239,"line":42},[8380,8384,8388,8392],{"type":87,"tag":237,"props":8381,"children":8382},{"style":346},[8383],{"type":92,"value":407},{"type":87,"tag":237,"props":8385,"children":8386},{"style":346},[8387],{"type":92,"value":412},{"type":87,"tag":237,"props":8389,"children":8390},{"style":258},[8391],{"type":92,"value":417},{"type":87,"tag":237,"props":8393,"children":8394},{"style":252},[8395],{"type":92,"value":456},{"type":87,"tag":237,"props":8397,"children":8398},{"class":239,"line":32},[8399,8403,8407,8411,8415,8419,8423,8427,8431,8435],{"type":87,"tag":237,"props":8400,"children":8401},{"style":252},[8402],{"type":92,"value":3531},{"type":87,"tag":237,"props":8404,"children":8405},{"style":346},[8406],{"type":92,"value":588},{"type":87,"tag":237,"props":8408,"children":8409},{"style":258},[8410],{"type":92,"value":1153},{"type":87,"tag":237,"props":8412,"children":8413},{"style":346},[8414],{"type":92,"value":359},{"type":87,"tag":237,"props":8416,"children":8417},{"style":258},[8418],{"type":92,"value":1162},{"type":87,"tag":237,"props":8420,"children":8421},{"style":346},[8422],{"type":92,"value":359},{"type":87,"tag":237,"props":8424,"children":8425},{"style":258},[8426],{"type":92,"value":1171},{"type":87,"tag":237,"props":8428,"children":8429},{"style":252},[8430],{"type":92,"value":1409},{"type":87,"tag":237,"props":8432,"children":8433},{"style":258},[8434],{"type":92,"value":3564},{"type":87,"tag":237,"props":8436,"children":8437},{"style":252},[8438],{"type":92,"value":857},{"type":87,"tag":237,"props":8440,"children":8441},{"class":239,"line":14},[8442],{"type":87,"tag":237,"props":8443,"children":8444},{"style":252},[8445],{"type":92,"value":1005},{"type":87,"tag":237,"props":8447,"children":8448},{"class":239,"line":78},[8449],{"type":87,"tag":237,"props":8450,"children":8451},{"emptyLinePlaceholder":290},[8452],{"type":92,"value":293},{"type":87,"tag":237,"props":8454,"children":8455},{"class":239,"line":312},[8456,8460,8464],{"type":87,"tag":237,"props":8457,"children":8458},{"style":346},[8459],{"type":92,"value":3590},{"type":87,"tag":237,"props":8461,"children":8462},{"style":258},[8463],{"type":92,"value":3595},{"type":87,"tag":237,"props":8465,"children":8466},{"style":252},[8467],{"type":92,"value":456},{"type":87,"tag":237,"props":8469,"children":8470},{"class":239,"line":431},[8471,8475,8479,8483,8487,8491],{"type":87,"tag":237,"props":8472,"children":8473},{"style":252},[8474],{"type":92,"value":3607},{"type":87,"tag":237,"props":8476,"children":8477},{"style":346},[8478],{"type":92,"value":588},{"type":87,"tag":237,"props":8480,"children":8481},{"style":258},[8482],{"type":92,"value":3616},{"type":87,"tag":237,"props":8484,"children":8485},{"style":346},[8486],{"type":92,"value":359},{"type":87,"tag":237,"props":8488,"children":8489},{"style":258},[8490],{"type":92,"value":3625},{"type":87,"tag":237,"props":8492,"children":8493},{"style":252},[8494],{"type":92,"value":696},{"type":87,"tag":237,"props":8496,"children":8497},{"class":239,"line":459},[8498,8502,8506,8510],{"type":87,"tag":237,"props":8499,"children":8500},{"style":252},[8501],{"type":92,"value":3637},{"type":87,"tag":237,"props":8503,"children":8504},{"style":346},[8505],{"type":92,"value":588},{"type":87,"tag":237,"props":8507,"children":8508},{"style":258},[8509],{"type":92,"value":1285},{"type":87,"tag":237,"props":8511,"children":8512},{"style":252},[8513],{"type":92,"value":696},{"type":87,"tag":237,"props":8515,"children":8516},{"class":239,"line":548},[8517,8521,8525,8529],{"type":87,"tag":237,"props":8518,"children":8519},{"style":252},[8520],{"type":92,"value":3657},{"type":87,"tag":237,"props":8522,"children":8523},{"style":346},[8524],{"type":92,"value":588},{"type":87,"tag":237,"props":8526,"children":8527},{"style":258},[8528],{"type":92,"value":1285},{"type":87,"tag":237,"props":8530,"children":8531},{"style":252},[8532],{"type":92,"value":696},{"type":87,"tag":237,"props":8534,"children":8535},{"class":239,"line":556},[8536],{"type":87,"tag":237,"props":8537,"children":8538},{"style":252},[8539],{"type":92,"value":1005},{"type":87,"tag":3678,"props":8541,"children":8542},{"id":3680},[8543],{"type":92,"value":3683},{"type":87,"tag":88,"props":8545,"children":8546},{},[8547,8548,8553,8554,8559,8560,8565,8566,8571,8572,8577],{"type":92,"value":3688},{"type":87,"tag":111,"props":8549,"children":8551},{"className":8550},[],[8552],{"type":92,"value":3694},{"type":92,"value":3696},{"type":87,"tag":111,"props":8555,"children":8557},{"className":8556},[],[8558],{"type":92,"value":3702},{"type":92,"value":3704},{"type":87,"tag":111,"props":8561,"children":8563},{"className":8562},[],[8564],{"type":92,"value":3710},{"type":92,"value":3712},{"type":87,"tag":111,"props":8567,"children":8569},{"className":8568},[],[8570],{"type":92,"value":3718},{"type":92,"value":3720},{"type":87,"tag":111,"props":8573,"children":8575},{"className":8574},[],[8576],{"type":92,"value":3460},{"type":92,"value":3727},{"type":87,"tag":95,"props":8579,"children":8580},{},[8581,8601],{"type":87,"tag":99,"props":8582,"children":8583},{},[8584,8588,8589,8594,8595,8600],{"type":87,"tag":103,"props":8585,"children":8586},{},[8587],{"type":92,"value":3738},{"type":92,"value":3740},{"type":87,"tag":111,"props":8590,"children":8592},{"className":8591},[],[8593],{"type":92,"value":3746},{"type":92,"value":3748},{"type":87,"tag":111,"props":8596,"children":8598},{"className":8597},[],[8599],{"type":92,"value":3718},{"type":92,"value":3755},{"type":87,"tag":99,"props":8602,"children":8603},{},[8604,8608,8609,8614,8615,8620,8621],{"type":87,"tag":103,"props":8605,"children":8606},{},[8607],{"type":92,"value":3763},{"type":92,"value":3765},{"type":87,"tag":111,"props":8610,"children":8612},{"className":8611},[],[8613],{"type":92,"value":3771},{"type":92,"value":3773},{"type":87,"tag":111,"props":8616,"children":8618},{"className":8617},[],[8619],{"type":92,"value":3702},{"type":92,"value":3780},{"type":87,"tag":227,"props":8622,"children":8623},{"code":3783,"language":327,"meta":82,"className":328,"style":82},[8624],{"type":87,"tag":111,"props":8625,"children":8626},{"__ignoreMap":82},[8627,8666,8709,8740,8747,8762,8777,8792,8803],{"type":87,"tag":237,"props":8628,"children":8629},{"class":239,"line":8},[8630,8634,8638,8642,8646,8650,8654,8658,8662],{"type":87,"tag":237,"props":8631,"children":8632},{"style":346},[8633],{"type":92,"value":3795},{"type":87,"tag":237,"props":8635,"children":8636},{"style":252},[8637],{"type":92,"value":3800},{"type":87,"tag":237,"props":8639,"children":8640},{"style":346},[8641],{"type":92,"value":1571},{"type":87,"tag":237,"props":8643,"children":8644},{"style":252},[8645],{"type":92,"value":3809},{"type":87,"tag":237,"props":8647,"children":8648},{"style":346},[8649],{"type":92,"value":535},{"type":87,"tag":237,"props":8651,"children":8652},{"style":252},[8653],{"type":92,"value":3818},{"type":87,"tag":237,"props":8655,"children":8656},{"style":346},[8657],{"type":92,"value":535},{"type":87,"tag":237,"props":8659,"children":8660},{"style":468},[8661],{"type":92,"value":974},{"type":87,"tag":237,"props":8663,"children":8664},{"style":252},[8665],{"type":92,"value":2925},{"type":87,"tag":237,"props":8667,"children":8668},{"class":239,"line":42},[8669,8673,8677,8681,8685,8689,8693,8697,8701,8705],{"type":87,"tag":237,"props":8670,"children":8671},{"style":346},[8672],{"type":92,"value":3795},{"type":87,"tag":237,"props":8674,"children":8675},{"style":252},[8676],{"type":92,"value":3842},{"type":87,"tag":237,"props":8678,"children":8679},{"style":346},[8680],{"type":92,"value":1571},{"type":87,"tag":237,"props":8682,"children":8683},{"style":258},[8684],{"type":92,"value":3851},{"type":87,"tag":237,"props":8686,"children":8687},{"style":346},[8688],{"type":92,"value":359},{"type":87,"tag":237,"props":8690,"children":8691},{"style":468},[8692],{"type":92,"value":3860},{"type":87,"tag":237,"props":8694,"children":8695},{"style":252},[8696],{"type":92,"value":3865},{"type":87,"tag":237,"props":8698,"children":8699},{"style":346},[8700],{"type":92,"value":535},{"type":87,"tag":237,"props":8702,"children":8703},{"style":468},[8704],{"type":92,"value":2747},{"type":87,"tag":237,"props":8706,"children":8707},{"style":252},[8708],{"type":92,"value":2925},{"type":87,"tag":237,"props":8710,"children":8711},{"class":239,"line":32},[8712,8716,8720,8724,8728,8732,8736],{"type":87,"tag":237,"props":8713,"children":8714},{"style":258},[8715],{"type":92,"value":3885},{"type":87,"tag":237,"props":8717,"children":8718},{"style":346},[8719],{"type":92,"value":359},{"type":87,"tag":237,"props":8721,"children":8722},{"style":468},[8723],{"type":92,"value":3894},{"type":87,"tag":237,"props":8725,"children":8726},{"style":252},[8727],{"type":92,"value":476},{"type":87,"tag":237,"props":8729,"children":8730},{"style":346},[8731],{"type":92,"value":3903},{"type":87,"tag":237,"props":8733,"children":8734},{"style":346},[8735],{"type":92,"value":904},{"type":87,"tag":237,"props":8737,"children":8738},{"style":252},[8739],{"type":92,"value":456},{"type":87,"tag":237,"props":8741,"children":8742},{"class":239,"line":14},[8743],{"type":87,"tag":237,"props":8744,"children":8745},{"style":252},[8746],{"type":92,"value":3919},{"type":87,"tag":237,"props":8748,"children":8749},{"class":239,"line":78},[8750,8754,8758],{"type":87,"tag":237,"props":8751,"children":8752},{"style":346},[8753],{"type":92,"value":3927},{"type":87,"tag":237,"props":8755,"children":8756},{"style":468},[8757],{"type":92,"value":3860},{"type":87,"tag":237,"props":8759,"children":8760},{"style":252},[8761],{"type":92,"value":3936},{"type":87,"tag":237,"props":8763,"children":8764},{"class":239,"line":312},[8765,8769,8773],{"type":87,"tag":237,"props":8766,"children":8767},{"style":346},[8768],{"type":92,"value":3927},{"type":87,"tag":237,"props":8770,"children":8771},{"style":468},[8772],{"type":92,"value":3948},{"type":87,"tag":237,"props":8774,"children":8775},{"style":252},[8776],{"type":92,"value":3953},{"type":87,"tag":237,"props":8778,"children":8779},{"class":239,"line":431},[8780,8784,8788],{"type":87,"tag":237,"props":8781,"children":8782},{"style":346},[8783],{"type":92,"value":3927},{"type":87,"tag":237,"props":8785,"children":8786},{"style":468},[8787],{"type":92,"value":3965},{"type":87,"tag":237,"props":8789,"children":8790},{"style":252},[8791],{"type":92,"value":3970},{"type":87,"tag":237,"props":8793,"children":8794},{"class":239,"line":459},[8795,8799],{"type":87,"tag":237,"props":8796,"children":8797},{"style":346},[8798],{"type":92,"value":3978},{"type":87,"tag":237,"props":8800,"children":8801},{"style":252},[8802],{"type":92,"value":374},{"type":87,"tag":237,"props":8804,"children":8805},{"class":239,"line":548},[8806],{"type":87,"tag":237,"props":8807,"children":8808},{"style":252},[8809],{"type":92,"value":3990},{"type":87,"tag":88,"props":8811,"children":8812},{},[8813,8814,8819,8820,8825,8826,8831],{"type":92,"value":3995},{"type":87,"tag":111,"props":8815,"children":8817},{"className":8816},[],[8818],{"type":92,"value":4001},{"type":92,"value":4003},{"type":87,"tag":111,"props":8821,"children":8823},{"className":8822},[],[8824],{"type":92,"value":162},{"type":92,"value":4010},{"type":87,"tag":111,"props":8827,"children":8829},{"className":8828},[],[8830],{"type":92,"value":3460},{"type":92,"value":4017},{"type":87,"tag":220,"props":8833,"children":8834},{"id":4020},[8835],{"type":92,"value":4023},{"type":87,"tag":88,"props":8837,"children":8838},{},[8839,8840,8845,8846,8850,8851,8856,8857,8862,8863,8868],{"type":92,"value":4028},{"type":87,"tag":111,"props":8841,"children":8843},{"className":8842},[],[8844],{"type":92,"value":4034},{"type":92,"value":4036},{"type":87,"tag":103,"props":8847,"children":8848},{},[8849],{"type":92,"value":4041},{"type":92,"value":4043},{"type":87,"tag":111,"props":8852,"children":8854},{"className":8853},[],[8855],{"type":92,"value":208},{"type":92,"value":4050},{"type":87,"tag":111,"props":8858,"children":8860},{"className":8859},[],[8861],{"type":92,"value":2033},{"type":92,"value":4057},{"type":87,"tag":111,"props":8864,"children":8866},{"className":8865},[],[8867],{"type":92,"value":2137},{"type":92,"value":4064},{"type":87,"tag":227,"props":8870,"children":8871},{"code":4067,"language":230,"meta":82,"className":231,"style":82},[8872],{"type":87,"tag":111,"props":8873,"children":8874},{"__ignoreMap":82},[8875,8890,8901,8916,8923,8938,8949],{"type":87,"tag":237,"props":8876,"children":8877},{"class":239,"line":8},[8878,8882,8886],{"type":87,"tag":237,"props":8879,"children":8880},{"style":252},[8881],{"type":92,"value":1744},{"type":87,"tag":237,"props":8883,"children":8884},{"style":258},[8885],{"type":92,"value":1749},{"type":87,"tag":237,"props":8887,"children":8888},{"style":252},[8889],{"type":92,"value":1754},{"type":87,"tag":237,"props":8891,"children":8892},{"class":239,"line":42},[8893,8897],{"type":87,"tag":237,"props":8894,"children":8895},{"style":252},[8896],{"type":92,"value":1762},{"type":87,"tag":237,"props":8898,"children":8899},{"style":277},[8900],{"type":92,"value":4098},{"type":87,"tag":237,"props":8902,"children":8903},{"class":239,"line":32},[8904,8908,8912],{"type":87,"tag":237,"props":8905,"children":8906},{"style":252},[8907],{"type":92,"value":1775},{"type":87,"tag":237,"props":8909,"children":8910},{"style":484},[8911],{"type":92,"value":4110},{"type":87,"tag":237,"props":8913,"children":8914},{"style":243},[8915],{"type":92,"value":4115},{"type":87,"tag":237,"props":8917,"children":8918},{"class":239,"line":14},[8919],{"type":87,"tag":237,"props":8920,"children":8921},{"emptyLinePlaceholder":290},[8922],{"type":92,"value":293},{"type":87,"tag":237,"props":8924,"children":8925},{"class":239,"line":78},[8926,8930,8934],{"type":87,"tag":237,"props":8927,"children":8928},{"style":252},[8929],{"type":92,"value":1744},{"type":87,"tag":237,"props":8931,"children":8932},{"style":258},[8933],{"type":92,"value":1749},{"type":87,"tag":237,"props":8935,"children":8936},{"style":252},[8937],{"type":92,"value":1754},{"type":87,"tag":237,"props":8939,"children":8940},{"class":239,"line":312},[8941,8945],{"type":87,"tag":237,"props":8942,"children":8943},{"style":252},[8944],{"type":92,"value":1762},{"type":87,"tag":237,"props":8946,"children":8947},{"style":277},[8948],{"type":92,"value":2397},{"type":87,"tag":237,"props":8950,"children":8951},{"class":239,"line":431},[8952,8956,8960],{"type":87,"tag":237,"props":8953,"children":8954},{"style":252},[8955],{"type":92,"value":1775},{"type":87,"tag":237,"props":8957,"children":8958},{"style":484},[8959],{"type":92,"value":4160},{"type":87,"tag":237,"props":8961,"children":8962},{"style":243},[8963],{"type":92,"value":4165},{"type":87,"tag":88,"props":8965,"children":8966},{},[8967],{"type":92,"value":4170},{"type":87,"tag":220,"props":8969,"children":8970},{"id":4173},[8971],{"type":92,"value":4176},{"type":87,"tag":88,"props":8973,"children":8974},{},[8975,8976,8981],{"type":92,"value":4181},{"type":87,"tag":111,"props":8977,"children":8979},{"className":8978},[],[8980],{"type":92,"value":4187},{"type":92,"value":4189},{"type":87,"tag":227,"props":8983,"children":8984},{"code":4192,"language":4193,"meta":82,"className":4194,"style":82},[8985],{"type":87,"tag":111,"props":8986,"children":8987},{"__ignoreMap":82},[8988,8995,9002,9009,9016,9023,9030,9037,9044,9051],{"type":87,"tag":237,"props":8989,"children":8990},{"class":239,"line":8},[8991],{"type":87,"tag":237,"props":8992,"children":8993},{},[8994],{"type":92,"value":4206},{"type":87,"tag":237,"props":8996,"children":8997},{"class":239,"line":42},[8998],{"type":87,"tag":237,"props":8999,"children":9000},{},[9001],{"type":92,"value":4214},{"type":87,"tag":237,"props":9003,"children":9004},{"class":239,"line":32},[9005],{"type":87,"tag":237,"props":9006,"children":9007},{},[9008],{"type":92,"value":4222},{"type":87,"tag":237,"props":9010,"children":9011},{"class":239,"line":14},[9012],{"type":87,"tag":237,"props":9013,"children":9014},{},[9015],{"type":92,"value":4230},{"type":87,"tag":237,"props":9017,"children":9018},{"class":239,"line":78},[9019],{"type":87,"tag":237,"props":9020,"children":9021},{},[9022],{"type":92,"value":4238},{"type":87,"tag":237,"props":9024,"children":9025},{"class":239,"line":312},[9026],{"type":87,"tag":237,"props":9027,"children":9028},{},[9029],{"type":92,"value":4246},{"type":87,"tag":237,"props":9031,"children":9032},{"class":239,"line":431},[9033],{"type":87,"tag":237,"props":9034,"children":9035},{},[9036],{"type":92,"value":4254},{"type":87,"tag":237,"props":9038,"children":9039},{"class":239,"line":459},[9040],{"type":87,"tag":237,"props":9041,"children":9042},{},[9043],{"type":92,"value":652},{"type":87,"tag":237,"props":9045,"children":9046},{"class":239,"line":548},[9047],{"type":87,"tag":237,"props":9048,"children":9049},{},[9050],{"type":92,"value":4269},{"type":87,"tag":237,"props":9052,"children":9053},{"class":239,"line":556},[9054],{"type":87,"tag":237,"props":9055,"children":9056},{},[9057],{"type":92,"value":1005},{"type":87,"tag":88,"props":9059,"children":9060},{},[9061,9062,9067,9068,9073,9074,9078],{"type":92,"value":4281},{"type":87,"tag":111,"props":9063,"children":9065},{"className":9064},[],[9066],{"type":92,"value":1660},{"type":92,"value":4288},{"type":87,"tag":111,"props":9069,"children":9071},{"className":9070},[],[9072],{"type":92,"value":4294},{"type":92,"value":4296},{"type":87,"tag":103,"props":9075,"children":9076},{},[9077],{"type":92,"value":4301},{"type":92,"value":4303},{"type":87,"tag":88,"props":9080,"children":9081},{},[9082],{"type":92,"value":4308},{"type":87,"tag":227,"props":9084,"children":9085},{"code":4311},[9086],{"type":87,"tag":111,"props":9087,"children":9088},{"__ignoreMap":82},[9089],{"type":92,"value":4311},{"type":87,"tag":88,"props":9091,"children":9092},{},[9093,9094,9099,9100,9105,9106,9111],{"type":92,"value":4321},{"type":87,"tag":111,"props":9095,"children":9097},{"className":9096},[],[9098],{"type":92,"value":4327},{"type":92,"value":4329},{"type":87,"tag":111,"props":9101,"children":9103},{"className":9102},[],[9104],{"type":92,"value":4335},{"type":92,"value":4337},{"type":87,"tag":111,"props":9107,"children":9109},{"className":9108},[],[9110],{"type":92,"value":1660},{"type":92,"value":4344},{"type":87,"tag":220,"props":9113,"children":9114},{"id":4347},[9115],{"type":92,"value":4350},{"type":87,"tag":88,"props":9117,"children":9118},{},[9119,9120,9128,9129,9134],{"type":92,"value":4355},{"type":87,"tag":151,"props":9121,"children":9122},{"href":4358},[9123],{"type":87,"tag":111,"props":9124,"children":9126},{"className":9125},[],[9127],{"type":92,"value":2198},{"type":92,"value":4366},{"type":87,"tag":111,"props":9130,"children":9132},{"className":9131},[],[9133],{"type":92,"value":4372},{"type":92,"value":4374},{"type":87,"tag":227,"props":9136,"children":9137},{"code":4377,"language":230,"meta":82,"className":231,"style":82},[9138],{"type":87,"tag":111,"props":9139,"children":9140},{"__ignoreMap":82},[9141,9148,9163,9170,9185,9196,9203,9218,9229,9240,9255,9266,9281],{"type":87,"tag":237,"props":9142,"children":9143},{"class":239,"line":8},[9144],{"type":87,"tag":237,"props":9145,"children":9146},{"style":243},[9147],{"type":92,"value":1677},{"type":87,"tag":237,"props":9149,"children":9150},{"class":239,"line":42},[9151,9155,9159],{"type":87,"tag":237,"props":9152,"children":9153},{"style":252},[9154],{"type":92,"value":4396},{"type":87,"tag":237,"props":9156,"children":9157},{"style":277},[9158],{"type":92,"value":4401},{"type":87,"tag":237,"props":9160,"children":9161},{"style":243},[9162],{"type":92,"value":4406},{"type":87,"tag":237,"props":9164,"children":9165},{"class":239,"line":32},[9166],{"type":87,"tag":237,"props":9167,"children":9168},{"emptyLinePlaceholder":290},[9169],{"type":92,"value":293},{"type":87,"tag":237,"props":9171,"children":9172},{"class":239,"line":14},[9173,9177,9181],{"type":87,"tag":237,"props":9174,"children":9175},{"style":252},[9176],{"type":92,"value":1744},{"type":87,"tag":237,"props":9178,"children":9179},{"style":258},[9180],{"type":92,"value":1749},{"type":87,"tag":237,"props":9182,"children":9183},{"style":252},[9184],{"type":92,"value":1754},{"type":87,"tag":237,"props":9186,"children":9187},{"class":239,"line":78},[9188,9192],{"type":87,"tag":237,"props":9189,"children":9190},{"style":252},[9191],{"type":92,"value":4436},{"type":87,"tag":237,"props":9193,"children":9194},{"style":277},[9195],{"type":92,"value":4441},{"type":87,"tag":237,"props":9197,"children":9198},{"class":239,"line":312},[9199],{"type":87,"tag":237,"props":9200,"children":9201},{"emptyLinePlaceholder":290},[9202],{"type":92,"value":293},{"type":87,"tag":237,"props":9204,"children":9205},{"class":239,"line":431},[9206,9210,9214],{"type":87,"tag":237,"props":9207,"children":9208},{"style":252},[9209],{"type":92,"value":1744},{"type":87,"tag":237,"props":9211,"children":9212},{"style":258},[9213],{"type":92,"value":4460},{"type":87,"tag":237,"props":9215,"children":9216},{"style":252},[9217],{"type":92,"value":1754},{"type":87,"tag":237,"props":9219,"children":9220},{"class":239,"line":459},[9221,9225],{"type":87,"tag":237,"props":9222,"children":9223},{"style":252},[9224],{"type":92,"value":4472},{"type":87,"tag":237,"props":9226,"children":9227},{"style":277},[9228],{"type":92,"value":4477},{"type":87,"tag":237,"props":9230,"children":9231},{"class":239,"line":548},[9232,9236],{"type":87,"tag":237,"props":9233,"children":9234},{"style":252},[9235],{"type":92,"value":4485},{"type":87,"tag":237,"props":9237,"children":9238},{"style":277},[9239],{"type":92,"value":4490},{"type":87,"tag":237,"props":9241,"children":9242},{"class":239,"line":556},[9243,9247,9251],{"type":87,"tag":237,"props":9244,"children":9245},{"style":252},[9246],{"type":92,"value":4498},{"type":87,"tag":237,"props":9248,"children":9249},{"style":277},[9250],{"type":92,"value":4503},{"type":87,"tag":237,"props":9252,"children":9253},{"style":252},[9254],{"type":92,"value":266},{"type":87,"tag":237,"props":9256,"children":9257},{"class":239,"line":613},[9258,9262],{"type":87,"tag":237,"props":9259,"children":9260},{"style":252},[9261],{"type":92,"value":4515},{"type":87,"tag":237,"props":9263,"children":9264},{"style":277},[9265],{"type":92,"value":4520},{"type":87,"tag":237,"props":9267,"children":9268},{"class":239,"line":646},[9269,9273,9277],{"type":87,"tag":237,"props":9270,"children":9271},{"style":252},[9272],{"type":92,"value":4528},{"type":87,"tag":237,"props":9274,"children":9275},{"style":484},[9276],{"type":92,"value":4533},{"type":87,"tag":237,"props":9278,"children":9279},{"style":243},[9280],{"type":92,"value":4538},{"type":87,"tag":237,"props":9282,"children":9283},{"class":239,"line":655},[9284,9288,9292],{"type":87,"tag":237,"props":9285,"children":9286},{"style":252},[9287],{"type":92,"value":4546},{"type":87,"tag":237,"props":9289,"children":9290},{"style":484},[9291],{"type":92,"value":4551},{"type":87,"tag":237,"props":9293,"children":9294},{"style":243},[9295],{"type":92,"value":4556},{"type":87,"tag":88,"props":9297,"children":9298},{},[9299,9300,9305],{"type":92,"value":4561},{"type":87,"tag":111,"props":9301,"children":9303},{"className":9302},[],[9304],{"type":92,"value":4372},{"type":92,"value":4568},{"type":87,"tag":227,"props":9307,"children":9308},{"code":4571,"language":92,"meta":82,"className":4572,"style":82},[9309],{"type":87,"tag":111,"props":9310,"children":9311},{"__ignoreMap":82},[9312],{"type":87,"tag":237,"props":9313,"children":9314},{"class":239,"line":8},[9315],{"type":87,"tag":237,"props":9316,"children":9317},{},[9318],{"type":92,"value":4571},{"type":87,"tag":2518,"props":9320,"children":9321},{},[9322,9349,9370],{"type":87,"tag":99,"props":9323,"children":9324},{},[9325,9330,9331,9336,9337,9342,9343,9348],{"type":87,"tag":111,"props":9326,"children":9328},{"className":9327},[],[9329],{"type":92,"value":4595},{"type":92,"value":4597},{"type":87,"tag":111,"props":9332,"children":9334},{"className":9333},[],[9335],{"type":92,"value":4603},{"type":92,"value":4605},{"type":87,"tag":111,"props":9338,"children":9340},{"className":9339},[],[9341],{"type":92,"value":2561},{"type":92,"value":4612},{"type":87,"tag":111,"props":9344,"children":9346},{"className":9345},[],[9347],{"type":92,"value":4618},{"type":92,"value":4620},{"type":87,"tag":99,"props":9350,"children":9351},{},[9352,9357,9358,9363,9364,9369],{"type":87,"tag":111,"props":9353,"children":9355},{"className":9354},[],[9356],{"type":92,"value":4629},{"type":92,"value":4631},{"type":87,"tag":111,"props":9359,"children":9361},{"className":9360},[],[9362],{"type":92,"value":4637},{"type":92,"value":4639},{"type":87,"tag":111,"props":9365,"children":9367},{"className":9366},[],[9368],{"type":92,"value":3005},{"type":92,"value":535},{"type":87,"tag":99,"props":9371,"children":9372},{},[9373,9378,9379,9384,9385,9390,9391,9396,9397,9402],{"type":87,"tag":111,"props":9374,"children":9376},{"className":9375},[],[9377],{"type":92,"value":4654},{"type":92,"value":4656},{"type":87,"tag":111,"props":9380,"children":9382},{"className":9381},[],[9383],{"type":92,"value":4662},{"type":92,"value":4664},{"type":87,"tag":111,"props":9386,"children":9388},{"className":9387},[],[9389],{"type":92,"value":4670},{"type":92,"value":4672},{"type":87,"tag":111,"props":9392,"children":9394},{"className":9393},[],[9395],{"type":92,"value":4678},{"type":92,"value":4680},{"type":87,"tag":111,"props":9398,"children":9400},{"className":9399},[],[9401],{"type":92,"value":4686},{"type":92,"value":535},{"type":87,"tag":227,"props":9404,"children":9405},{"code":4690,"language":327,"meta":82,"className":328,"style":82},[9406],{"type":87,"tag":111,"props":9407,"children":9408},{"__ignoreMap":82},[9409,9436,9443,9458,9497,9504,9539,9594,9601,9608,9631,9702,9709,9764,9787,9794,9801,9808,9815,9822,9829,9836,9843,9894,9901,9908,9915,9926,9945,9968,9991],{"type":87,"tag":237,"props":9410,"children":9411},{"class":239,"line":8},[9412,9416,9420,9424,9428,9432],{"type":87,"tag":237,"props":9413,"children":9414},{"style":346},[9415],{"type":92,"value":349},{"type":87,"tag":237,"props":9417,"children":9418},{"style":258},[9419],{"type":92,"value":354},{"type":87,"tag":237,"props":9421,"children":9422},{"style":346},[9423],{"type":92,"value":359},{"type":87,"tag":237,"props":9425,"children":9426},{"style":258},[9427],{"type":92,"value":364},{"type":87,"tag":237,"props":9429,"children":9430},{"style":346},[9431],{"type":92,"value":369},{"type":87,"tag":237,"props":9433,"children":9434},{"style":252},[9435],{"type":92,"value":374},{"type":87,"tag":237,"props":9437,"children":9438},{"class":239,"line":42},[9439],{"type":87,"tag":237,"props":9440,"children":9441},{"emptyLinePlaceholder":290},[9442],{"type":92,"value":293},{"type":87,"tag":237,"props":9444,"children":9445},{"class":239,"line":32},[9446,9450,9454],{"type":87,"tag":237,"props":9447,"children":9448},{"style":252},[9449],{"type":92,"value":389},{"type":87,"tag":237,"props":9451,"children":9452},{"style":258},[9453],{"type":92,"value":1219},{"type":87,"tag":237,"props":9455,"children":9456},{"style":252},[9457],{"type":92,"value":399},{"type":87,"tag":237,"props":9459,"children":9460},{"class":239,"line":14},[9461,9465,9469,9473,9477,9481,9485,9489,9493],{"type":87,"tag":237,"props":9462,"children":9463},{"style":346},[9464],{"type":92,"value":407},{"type":87,"tag":237,"props":9466,"children":9467},{"style":346},[9468],{"type":92,"value":412},{"type":87,"tag":237,"props":9470,"children":9471},{"style":258},[9472],{"type":92,"value":4759},{"type":87,"tag":237,"props":9474,"children":9475},{"style":252},[9476],{"type":92,"value":1395},{"type":87,"tag":237,"props":9478,"children":9479},{"style":346},[9480],{"type":92,"value":588},{"type":87,"tag":237,"props":9482,"children":9483},{"style":258},[9484],{"type":92,"value":1404},{"type":87,"tag":237,"props":9486,"children":9487},{"style":252},[9488],{"type":92,"value":1409},{"type":87,"tag":237,"props":9490,"children":9491},{"style":258},[9492],{"type":92,"value":1414},{"type":87,"tag":237,"props":9494,"children":9495},{"style":252},[9496],{"type":92,"value":1419},{"type":87,"tag":237,"props":9498,"children":9499},{"class":239,"line":78},[9500],{"type":87,"tag":237,"props":9501,"children":9502},{"emptyLinePlaceholder":290},[9503],{"type":92,"value":293},{"type":87,"tag":237,"props":9505,"children":9506},{"class":239,"line":312},[9507,9511,9515,9519,9523,9527,9531,9535],{"type":87,"tag":237,"props":9508,"children":9509},{"style":346},[9510],{"type":92,"value":437},{"type":87,"tag":237,"props":9512,"children":9513},{"style":258},[9514],{"type":92,"value":1438},{"type":87,"tag":237,"props":9516,"children":9517},{"style":252},[9518],{"type":92,"value":1409},{"type":87,"tag":237,"props":9520,"children":9521},{"style":258},[9522],{"type":92,"value":1414},{"type":87,"tag":237,"props":9524,"children":9525},{"style":252},[9526],{"type":92,"value":1451},{"type":87,"tag":237,"props":9528,"children":9529},{"style":346},[9530],{"type":92,"value":1456},{"type":87,"tag":237,"props":9532,"children":9533},{"style":258},[9534],{"type":92,"value":4759},{"type":87,"tag":237,"props":9536,"children":9537},{"style":252},[9538],{"type":92,"value":456},{"type":87,"tag":237,"props":9540,"children":9541},{"class":239,"line":431},[9542,9546,9550,9554,9558,9562,9566,9570,9574,9578,9582,9586,9590],{"type":87,"tag":237,"props":9543,"children":9544},{"style":346},[9545],{"type":92,"value":465},{"type":87,"tag":237,"props":9547,"children":9548},{"style":468},[9549],{"type":92,"value":1476},{"type":87,"tag":237,"props":9551,"children":9552},{"style":252},[9553],{"type":92,"value":1481},{"type":87,"tag":237,"props":9555,"children":9556},{"style":346},[9557],{"type":92,"value":588},{"type":87,"tag":237,"props":9559,"children":9560},{"style":258},[9561],{"type":92,"value":1404},{"type":87,"tag":237,"props":9563,"children":9564},{"style":252},[9565],{"type":92,"value":1409},{"type":87,"tag":237,"props":9567,"children":9568},{"style":258},[9569],{"type":92,"value":1414},{"type":87,"tag":237,"props":9571,"children":9572},{"style":252},[9573],{"type":92,"value":1502},{"type":87,"tag":237,"props":9575,"children":9576},{"style":346},[9577],{"type":92,"value":497},{"type":87,"tag":237,"props":9579,"children":9580},{"style":484},[9581],{"type":92,"value":1511},{"type":87,"tag":237,"props":9583,"children":9584},{"style":252},[9585],{"type":92,"value":525},{"type":87,"tag":237,"props":9587,"children":9588},{"style":484},[9589],{"type":92,"value":1520},{"type":87,"tag":237,"props":9591,"children":9592},{"style":252},[9593],{"type":92,"value":1525},{"type":87,"tag":237,"props":9595,"children":9596},{"class":239,"line":459},[9597],{"type":87,"tag":237,"props":9598,"children":9599},{"style":252},[9600],{"type":92,"value":1005},{"type":87,"tag":237,"props":9602,"children":9603},{"class":239,"line":548},[9604],{"type":87,"tag":237,"props":9605,"children":9606},{"emptyLinePlaceholder":290},[9607],{"type":92,"value":293},{"type":87,"tag":237,"props":9609,"children":9610},{"class":239,"line":556},[9611,9615,9619,9623,9627],{"type":87,"tag":237,"props":9612,"children":9613},{"style":346},[9614],{"type":92,"value":437},{"type":87,"tag":237,"props":9616,"children":9617},{"style":258},[9618],{"type":92,"value":4906},{"type":87,"tag":237,"props":9620,"children":9621},{"style":346},[9622],{"type":92,"value":447},{"type":87,"tag":237,"props":9624,"children":9625},{"style":258},[9626],{"type":92,"value":4759},{"type":87,"tag":237,"props":9628,"children":9629},{"style":252},[9630],{"type":92,"value":456},{"type":87,"tag":237,"props":9632,"children":9633},{"class":239,"line":613},[9634,9638,9642,9646,9650,9654,9658,9662,9666,9670,9674,9678,9682,9686,9690,9694,9698],{"type":87,"tag":237,"props":9635,"children":9636},{"style":346},[9637],{"type":92,"value":465},{"type":87,"tag":237,"props":9639,"children":9640},{"style":468},[9641],{"type":92,"value":4930},{"type":87,"tag":237,"props":9643,"children":9644},{"style":252},[9645],{"type":92,"value":476},{"type":87,"tag":237,"props":9647,"children":9648},{"style":346},[9649],{"type":92,"value":481},{"type":87,"tag":237,"props":9651,"children":9652},{"style":484},[9653],{"type":92,"value":487},{"type":87,"tag":237,"props":9655,"children":9656},{"style":252},[9657],{"type":92,"value":492},{"type":87,"tag":237,"props":9659,"children":9660},{"style":346},[9661],{"type":92,"value":497},{"type":87,"tag":237,"props":9663,"children":9664},{"style":258},[9665],{"type":92,"value":502},{"type":87,"tag":237,"props":9667,"children":9668},{"style":346},[9669],{"type":92,"value":359},{"type":87,"tag":237,"props":9671,"children":9672},{"style":258},[9673],{"type":92,"value":511},{"type":87,"tag":237,"props":9675,"children":9676},{"style":346},[9677],{"type":92,"value":359},{"type":87,"tag":237,"props":9679,"children":9680},{"style":258},[9681],{"type":92,"value":520},{"type":87,"tag":237,"props":9683,"children":9684},{"style":252},[9685],{"type":92,"value":525},{"type":87,"tag":237,"props":9687,"children":9688},{"style":277},[9689],{"type":92,"value":4979},{"type":87,"tag":237,"props":9691,"children":9692},{"style":346},[9693],{"type":92,"value":535},{"type":87,"tag":237,"props":9695,"children":9696},{"style":468},[9697],{"type":92,"value":540},{"type":87,"tag":237,"props":9699,"children":9700},{"style":252},[9701],{"type":92,"value":545},{"type":87,"tag":237,"props":9703,"children":9704},{"class":239,"line":646},[9705],{"type":87,"tag":237,"props":9706,"children":9707},{"emptyLinePlaceholder":290},[9708],{"type":92,"value":293},{"type":87,"tag":237,"props":9710,"children":9711},{"class":239,"line":655},[9712,9716,9720,9724,9728,9732,9736,9740,9744,9748,9752,9756,9760],{"type":87,"tag":237,"props":9713,"children":9714},{"style":346},[9715],{"type":92,"value":5006},{"type":87,"tag":237,"props":9717,"children":9718},{"style":346},[9719],{"type":92,"value":5011},{"type":87,"tag":237,"props":9721,"children":9722},{"style":468},[9723],{"type":92,"value":5016},{"type":87,"tag":237,"props":9725,"children":9726},{"style":252},[9727],{"type":92,"value":476},{"type":87,"tag":237,"props":9729,"children":9730},{"style":346},[9731],{"type":92,"value":481},{"type":87,"tag":237,"props":9733,"children":9734},{"style":484},[9735],{"type":92,"value":487},{"type":87,"tag":237,"props":9737,"children":9738},{"style":252},[9739],{"type":92,"value":5033},{"type":87,"tag":237,"props":9741,"children":9742},{"style":346},[9743],{"type":92,"value":588},{"type":87,"tag":237,"props":9745,"children":9746},{"style":258},[9747],{"type":92,"value":5042},{"type":87,"tag":237,"props":9749,"children":9750},{"style":252},[9751],{"type":92,"value":5047},{"type":87,"tag":237,"props":9753,"children":9754},{"style":346},[9755],{"type":92,"value":588},{"type":87,"tag":237,"props":9757,"children":9758},{"style":258},[9759],{"type":92,"value":5056},{"type":87,"tag":237,"props":9761,"children":9762},{"style":252},[9763],{"type":92,"value":643},{"type":87,"tag":237,"props":9765,"children":9766},{"class":239,"line":663},[9767,9771,9775,9779,9783],{"type":87,"tag":237,"props":9768,"children":9769},{"style":346},[9770],{"type":92,"value":5068},{"type":87,"tag":237,"props":9772,"children":9773},{"style":258},[9774],{"type":92,"value":5073},{"type":87,"tag":237,"props":9776,"children":9777},{"style":252},[9778],{"type":92,"value":1409},{"type":87,"tag":237,"props":9780,"children":9781},{"style":258},[9782],{"type":92,"value":5082},{"type":87,"tag":237,"props":9784,"children":9785},{"style":252},[9786],{"type":92,"value":5087},{"type":87,"tag":237,"props":9788,"children":9789},{"class":239,"line":681},[9790],{"type":87,"tag":237,"props":9791,"children":9792},{"style":252},[9793],{"type":92,"value":5095},{"type":87,"tag":237,"props":9795,"children":9796},{"class":239,"line":699},[9797],{"type":87,"tag":237,"props":9798,"children":9799},{"style":243},[9800],{"type":92,"value":5103},{"type":87,"tag":237,"props":9802,"children":9803},{"class":239,"line":721},[9804],{"type":87,"tag":237,"props":9805,"children":9806},{"style":243},[9807],{"type":92,"value":5111},{"type":87,"tag":237,"props":9809,"children":9810},{"class":239,"line":743},[9811],{"type":87,"tag":237,"props":9812,"children":9813},{"style":243},[9814],{"type":92,"value":5119},{"type":87,"tag":237,"props":9816,"children":9817},{"class":239,"line":789},[9818],{"type":87,"tag":237,"props":9819,"children":9820},{"style":243},[9821],{"type":92,"value":5127},{"type":87,"tag":237,"props":9823,"children":9824},{"class":239,"line":860},[9825],{"type":87,"tag":237,"props":9826,"children":9827},{"style":243},[9828],{"type":92,"value":5135},{"type":87,"tag":237,"props":9830,"children":9831},{"class":239,"line":893},[9832],{"type":87,"tag":237,"props":9833,"children":9834},{"style":243},[9835],{"type":92,"value":5143},{"type":87,"tag":237,"props":9837,"children":9838},{"class":239,"line":911},[9839],{"type":87,"tag":237,"props":9840,"children":9841},{"style":243},[9842],{"type":92,"value":5151},{"type":87,"tag":237,"props":9844,"children":9845},{"class":239,"line":920},[9846,9850,9854,9858,9862,9866,9870,9874,9878,9882,9886,9890],{"type":87,"tag":237,"props":9847,"children":9848},{"style":258},[9849],{"type":92,"value":5159},{"type":87,"tag":237,"props":9851,"children":9852},{"style":346},[9853],{"type":92,"value":359},{"type":87,"tag":237,"props":9855,"children":9856},{"style":258},[9857],{"type":92,"value":813},{"type":87,"tag":237,"props":9859,"children":9860},{"style":346},[9861],{"type":92,"value":359},{"type":87,"tag":237,"props":9863,"children":9864},{"style":258},[9865],{"type":92,"value":822},{"type":87,"tag":237,"props":9867,"children":9868},{"style":346},[9869],{"type":92,"value":359},{"type":87,"tag":237,"props":9871,"children":9872},{"style":258},[9873],{"type":92,"value":951},{"type":87,"tag":237,"props":9875,"children":9876},{"style":252},[9877],{"type":92,"value":476},{"type":87,"tag":237,"props":9879,"children":9880},{"style":258},[9881],{"type":92,"value":5082},{"type":87,"tag":237,"props":9883,"children":9884},{"style":346},[9885],{"type":92,"value":359},{"type":87,"tag":237,"props":9887,"children":9888},{"style":468},[9889],{"type":92,"value":5200},{"type":87,"tag":237,"props":9891,"children":9892},{"style":252},[9893],{"type":92,"value":979},{"type":87,"tag":237,"props":9895,"children":9896},{"class":239,"line":982},[9897],{"type":87,"tag":237,"props":9898,"children":9899},{"style":252},[9900],{"type":92,"value":652},{"type":87,"tag":237,"props":9902,"children":9903},{"class":239,"line":991},[9904],{"type":87,"tag":237,"props":9905,"children":9906},{"style":252},[9907],{"type":92,"value":1005},{"type":87,"tag":237,"props":9909,"children":9910},{"class":239,"line":999},[9911],{"type":87,"tag":237,"props":9912,"children":9913},{"emptyLinePlaceholder":290},[9914],{"type":92,"value":293},{"type":87,"tag":237,"props":9916,"children":9917},{"class":239,"line":1008},[9918,9922],{"type":87,"tag":237,"props":9919,"children":9920},{"style":468},[9921],{"type":92,"value":1031},{"type":87,"tag":237,"props":9923,"children":9924},{"style":252},[9925],{"type":92,"value":456},{"type":87,"tag":237,"props":9927,"children":9928},{"class":239,"line":1016},[9929,9933,9937,9941],{"type":87,"tag":237,"props":9930,"children":9931},{"style":252},[9932],{"type":92,"value":1566},{"type":87,"tag":237,"props":9934,"children":9935},{"style":346},[9936],{"type":92,"value":1571},{"type":87,"tag":237,"props":9938,"children":9939},{"style":258},[9940],{"type":92,"value":1255},{"type":87,"tag":237,"props":9942,"children":9943},{"style":252},[9944],{"type":92,"value":374},{"type":87,"tag":237,"props":9946,"children":9947},{"class":239,"line":1038},[9948,9952,9956,9960,9964],{"type":87,"tag":237,"props":9949,"children":9950},{"style":258},[9951],{"type":92,"value":1044},{"type":87,"tag":237,"props":9953,"children":9954},{"style":346},[9955],{"type":92,"value":1049},{"type":87,"tag":237,"props":9957,"children":9958},{"style":252},[9959],{"type":92,"value":1054},{"type":87,"tag":237,"props":9961,"children":9962},{"style":258},[9963],{"type":92,"value":1059},{"type":87,"tag":237,"props":9965,"children":9966},{"style":252},[9967],{"type":92,"value":1064},{"type":87,"tag":237,"props":9969,"children":9970},{"class":239,"line":1067},[9971,9975,9979,9983,9987],{"type":87,"tag":237,"props":9972,"children":9973},{"style":258},[9974],{"type":92,"value":5286},{"type":87,"tag":237,"props":9976,"children":9977},{"style":346},[9978],{"type":92,"value":5291},{"type":87,"tag":237,"props":9980,"children":9981},{"style":252},[9982],{"type":92,"value":1054},{"type":87,"tag":237,"props":9984,"children":9985},{"style":258},[9986],{"type":92,"value":5300},{"type":87,"tag":237,"props":9988,"children":9989},{"style":252},[9990],{"type":92,"value":1064},{"type":87,"tag":237,"props":9992,"children":9993},{"class":239,"line":5307},[9994],{"type":87,"tag":237,"props":9995,"children":9996},{"style":252},[9997],{"type":92,"value":1005},{"type":87,"tag":3678,"props":9999,"children":10000},{"id":5315},[10001,10002],{"type":92,"value":5318},{"type":87,"tag":111,"props":10003,"children":10005},{"className":10004},[],[10006],{"type":92,"value":5324},{"type":87,"tag":88,"props":10008,"children":10009},{},[10010,10011,10016,10017,10021,10022,10027,10028,10033],{"type":92,"value":5329},{"type":87,"tag":111,"props":10012,"children":10014},{"className":10013},[],[10015],{"type":92,"value":5335},{"type":92,"value":5337},{"type":87,"tag":103,"props":10018,"children":10019},{},[10020],{"type":92,"value":5342},{"type":92,"value":5344},{"type":87,"tag":111,"props":10023,"children":10025},{"className":10024},[],[10026],{"type":92,"value":5350},{"type":92,"value":5352},{"type":87,"tag":111,"props":10029,"children":10031},{"className":10030},[],[10032],{"type":92,"value":5358},{"type":92,"value":5360},{"type":87,"tag":88,"props":10035,"children":10036},{},[10037,10038,10042],{"type":92,"value":5365},{"type":87,"tag":103,"props":10039,"children":10040},{},[10041],{"type":92,"value":5370},{"type":92,"value":5372},{"type":87,"tag":3678,"props":10044,"children":10045},{"id":5375},[10046],{"type":92,"value":5378},{"type":87,"tag":88,"props":10048,"children":10049},{},[10050,10051,10056,10057,10062,10063,10068,10069,10074,10075,10080],{"type":92,"value":5383},{"type":87,"tag":111,"props":10052,"children":10054},{"className":10053},[],[10055],{"type":92,"value":5389},{"type":92,"value":5391},{"type":87,"tag":111,"props":10058,"children":10060},{"className":10059},[],[10061],{"type":92,"value":5397},{"type":92,"value":5399},{"type":87,"tag":111,"props":10064,"children":10066},{"className":10065},[],[10067],{"type":92,"value":5405},{"type":92,"value":5407},{"type":87,"tag":111,"props":10070,"children":10072},{"className":10071},[],[10073],{"type":92,"value":5413},{"type":92,"value":5415},{"type":87,"tag":111,"props":10076,"children":10078},{"className":10077},[],[10079],{"type":92,"value":5421},{"type":92,"value":5423},{"type":87,"tag":5425,"props":10082,"children":10083},{},[10084],{"type":92,"value":5429},{"title":82,"searchDepth":32,"depth":32,"links":10086},[10087,10088,10089,10090,10091,10092,10093,10094,10095,10098,10099,10100],{"id":222,"depth":42,"text":225},{"id":1783,"depth":42,"text":1786},{"id":2206,"depth":42,"text":2209},{"id":2566,"depth":42,"text":2569},{"id":2956,"depth":42,"text":2959},{"id":3010,"depth":42,"text":3013},{"id":3100,"depth":42,"text":3103},{"id":3211,"depth":42,"text":3214},{"id":3385,"depth":42,"text":3388,"children":10096},[10097],{"id":3680,"depth":32,"text":3683},{"id":4020,"depth":42,"text":4023},{"id":4173,"depth":42,"text":4176},{"id":4347,"depth":42,"text":4350,"children":10101},[10102,10103],{"id":5315,"depth":32,"text":5448},{"id":5375,"depth":32,"text":5378},1780603565293]