@tokmizer/plugin 0.9.63 → 0.9.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,111 +1,111 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire as __tkrCreateRequire } from "node:module"; const require = __tkrCreateRequire(import.meta.url);
3
- var Sc=Object.create;var Wn=Object.defineProperty;var Ec=Object.getOwnPropertyDescriptor;var Tc=Object.getOwnPropertyNames;var $c=Object.getPrototypeOf,Rc=Object.prototype.hasOwnProperty;var ke=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var de=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var q=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},Hs=(e,t)=>{for(var n in t)Wn(e,n,{get:t[n],enumerable:!0})},Ac=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Tc(t))!Rc.call(e,s)&&s!==n&&Wn(e,s,{get:()=>t[s],enumerable:!(r=Ec(t,s))||r.enumerable});return e};var Cc=(e,t,n)=>(n=e!=null?Sc($c(e)):{},Ac(t||!e||!e.__esModule?Wn(n,"default",{value:e,enumerable:!0}):n,e));var Js=q((Kk,Zs)=>{Zs.exports=Us;Us.sync=Oc;var Bs=ke("fs");function Ic(e,t){var n=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!n||(n=n.split(";"),n.indexOf("")!==-1))return!0;for(var r=0;r<n.length;r++){var s=n[r].toLowerCase();if(s&&e.substr(-s.length).toLowerCase()===s)return!0}return!1}function zs(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:Ic(t,n)}function Us(e,t,n){Bs.stat(e,function(r,s){n(r,r?!1:zs(s,e,t))})}function Oc(e,t){return zs(Bs.statSync(e),e,t)}});var qs=q((Vk,Ws)=>{Ws.exports=Ks;Ks.sync=Pc;var Gs=ke("fs");function Ks(e,t,n){Gs.stat(e,function(r,s){n(r,r?!1:Vs(s,t))})}function Pc(e,t){return Vs(Gs.statSync(e),t)}function Vs(e,t){return e.isFile()&&Nc(e,t)}function Nc(e,t){var n=e.mode,r=e.uid,s=e.gid,o=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),i=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,f=n&c||n&l&&s===i||n&a&&r===o||n&u&&o===0;return f}});var Xs=q((qk,Ys)=>{var Wk=ke("fs"),sn;process.platform==="win32"||global.TESTING_WINDOWS?sn=Js():sn=qs();Ys.exports=qn;qn.sync=Dc;function qn(e,t,n){if(typeof t=="function"&&(n=t,t={}),!n){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(r,s){qn(e,t||{},function(o,i){o?s(o):r(i)})})}sn(e,t||{},function(r,s){r&&(r.code==="EACCES"||t&&t.ignoreErrors)&&(r=null,s=!1),n(r,s)})}function Dc(e,t){try{return sn.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var oo=q((Yk,so)=>{var nt=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Qs=ke("path"),Mc=nt?";":":",eo=Xs(),to=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),no=(e,t)=>{let n=t.colon||Mc,r=e.match(/\//)||nt&&e.match(/\\/)?[""]:[...nt?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],s=nt?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=nt?s.split(n):[""];return nt&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:r,pathExt:o,pathExtExe:s}},ro=(e,t,n)=>{typeof t=="function"&&(n=t,t={}),t||(t={});let{pathEnv:r,pathExt:s,pathExtExe:o}=no(e,t),i=[],a=c=>new Promise((u,f)=>{if(c===r.length)return t.all&&i.length?u(i):f(to(e));let d=r[c],m=/^".*"$/.test(d)?d.slice(1,-1):d,h=Qs.join(m,e),w=!m&&/^\.[\\\/]/.test(e)?e.slice(0,2)+h:h;u(l(w,c,0))}),l=(c,u,f)=>new Promise((d,m)=>{if(f===s.length)return d(a(u+1));let h=s[f];eo(c+h,{pathExt:o},(w,b)=>{if(!w&&b)if(t.all)i.push(c+h);else return d(c+h);return d(l(c,u,f+1))})});return n?a(0).then(c=>n(null,c),n):a(0)},Fc=(e,t)=>{t=t||{};let{pathEnv:n,pathExt:r,pathExtExe:s}=no(e,t),o=[];for(let i=0;i<n.length;i++){let a=n[i],l=/^".*"$/.test(a)?a.slice(1,-1):a,c=Qs.join(l,e),u=!l&&/^\.[\\\/]/.test(e)?e.slice(0,2)+c:c;for(let f=0;f<r.length;f++){let d=u+r[f];try{if(eo.sync(d,{pathExt:s}))if(t.all)o.push(d);else return d}catch{}}}if(t.all&&o.length)return o;if(t.nothrow)return null;throw to(e)};so.exports=ro;ro.sync=Fc});var ao=q((Xk,Yn)=>{"use strict";var io=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};Yn.exports=io;Yn.exports.default=io});var fo=q((Qk,uo)=>{"use strict";var lo=ke("path"),Lc=oo(),jc=ao();function co(e,t){let n=e.options.env||process.env,r=process.cwd(),s=e.options.cwd!=null,o=s&&process.chdir!==void 0&&!process.chdir.disabled;if(o)try{process.chdir(e.options.cwd)}catch{}let i;try{i=Lc.sync(e.command,{path:n[jc({env:n})],pathExt:t?lo.delimiter:void 0})}catch{}finally{o&&process.chdir(r)}return i&&(i=lo.resolve(s?e.options.cwd:"",i)),i}function Hc(e){return co(e)||co(e,!0)}uo.exports=Hc});var mo=q((eb,Qn)=>{"use strict";var Xn=/([()\][%!^"`<>&|;, *?])/g;function Bc(e){return e=e.replace(Xn,"^$1"),e}function zc(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(Xn,"^$1"),t&&(e=e.replace(Xn,"^$1")),e}Qn.exports.command=Bc;Qn.exports.argument=zc});var ho=q((tb,po)=>{"use strict";po.exports=/^#!(.*)/});var yo=q((nb,go)=>{"use strict";var Uc=ho();go.exports=(e="")=>{let t=e.match(Uc);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),s=n.split("/").pop();return s==="env"?r:r?`${s} ${r}`:s}});var bo=q((rb,ko)=>{"use strict";var er=ke("fs"),Zc=yo();function Jc(e){let n=Buffer.alloc(150),r;try{r=er.openSync(e,"r"),er.readSync(r,n,0,150,0),er.closeSync(r)}catch{}return Zc(n.toString())}ko.exports=Jc});var vo=q((sb,xo)=>{"use strict";var Gc=ke("path"),_o=fo(),wo=mo(),Kc=bo(),Vc=process.platform==="win32",Wc=/\.(?:com|exe)$/i,qc=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Yc(e){e.file=_o(e);let t=e.file&&Kc(e.file);return t?(e.args.unshift(e.file),e.command=t,_o(e)):e.file}function Xc(e){if(!Vc)return e;let t=Yc(e),n=!Wc.test(t);if(e.options.forceShell||n){let r=qc.test(t);e.command=Gc.normalize(e.command),e.command=wo.command(e.command),e.args=e.args.map(o=>wo.argument(o,r));let s=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${s}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}function Qc(e,t,n){t&&!Array.isArray(t)&&(n=t,t=null),t=t?t.slice(0):[],n=Object.assign({},n);let r={command:e,args:t,options:n,file:void 0,original:{command:e,args:t}};return n.shell?r:Xc(r)}xo.exports=Qc});var To=q((ob,Eo)=>{"use strict";var tr=process.platform==="win32";function nr(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function eu(e,t){if(!tr)return;let n=e.emit;e.emit=function(r,s){if(r==="exit"){let o=So(s,t);if(o)return n.call(e,"error",o)}return n.apply(e,arguments)}}function So(e,t){return tr&&e===1&&!t.file?nr(t.original,"spawn"):null}function tu(e,t){return tr&&e===1&&!t.file?nr(t.original,"spawnSync"):null}Eo.exports={hookChildProcess:eu,verifyENOENT:So,verifyENOENTSync:tu,notFoundError:nr}});var Ao=q((ib,rt)=>{"use strict";var $o=ke("child_process"),rr=vo(),sr=To();function Ro(e,t,n){let r=rr(e,t,n),s=$o.spawn(r.command,r.args,r.options);return sr.hookChildProcess(s,r),s}function nu(e,t,n){let r=rr(e,t,n),s=$o.spawnSync(r.command,r.args,r.options);return s.error=s.error||sr.verifyENOENTSync(s.status,r),s}rt.exports=Ro;rt.exports.spawn=Ro;rt.exports.sync=nu;rt.exports._parse=rr;rt.exports._enoent=sr});function pf(e,t){let n=e.slice(0,t).split(/\r?\n/);return[n.length,n.pop().length+1]}function hf(e,t,n){let r=e.split(/\r?\n/),s="",o=(Math.log10(t+1)|0)+1;for(let i=t-1;i<=t+1;i++){let a=r[i-1];a&&(s+=i.toString().padEnd(o," "),s+=": ",s+=a,s+=`
3
+ var $c=Object.create;var Wn=Object.defineProperty;var Rc=Object.getOwnPropertyDescriptor;var Ac=Object.getOwnPropertyNames;var Cc=Object.getPrototypeOf,Ic=Object.prototype.hasOwnProperty;var ke=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var de=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var q=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},Hs=(e,t)=>{for(var n in t)Wn(e,n,{get:t[n],enumerable:!0})},Oc=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Ac(t))!Ic.call(e,s)&&s!==n&&Wn(e,s,{get:()=>t[s],enumerable:!(r=Rc(t,s))||r.enumerable});return e};var Pc=(e,t,n)=>(n=e!=null?$c(Cc(e)):{},Oc(t||!e||!e.__esModule?Wn(n,"default",{value:e,enumerable:!0}):n,e));var Js=q((qk,Zs)=>{Zs.exports=Us;Us.sync=Dc;var Bs=ke("fs");function Nc(e,t){var n=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!n||(n=n.split(";"),n.indexOf("")!==-1))return!0;for(var r=0;r<n.length;r++){var s=n[r].toLowerCase();if(s&&e.substr(-s.length).toLowerCase()===s)return!0}return!1}function zs(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:Nc(t,n)}function Us(e,t,n){Bs.stat(e,function(r,s){n(r,r?!1:zs(s,e,t))})}function Dc(e,t){return zs(Bs.statSync(e),e,t)}});var qs=q((Yk,Ws)=>{Ws.exports=Gs;Gs.sync=Mc;var Ks=ke("fs");function Gs(e,t,n){Ks.stat(e,function(r,s){n(r,r?!1:Vs(s,t))})}function Mc(e,t){return Vs(Ks.statSync(e),t)}function Vs(e,t){return e.isFile()&&Fc(e,t)}function Fc(e,t){var n=e.mode,r=e.uid,s=e.gid,o=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),i=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,d=n&c||n&l&&s===i||n&a&&r===o||n&u&&o===0;return d}});var Xs=q((Qk,Ys)=>{var Xk=ke("fs"),sn;process.platform==="win32"||global.TESTING_WINDOWS?sn=Js():sn=qs();Ys.exports=qn;qn.sync=Lc;function qn(e,t,n){if(typeof t=="function"&&(n=t,t={}),!n){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(r,s){qn(e,t||{},function(o,i){o?s(o):r(i)})})}sn(e,t||{},function(r,s){r&&(r.code==="EACCES"||t&&t.ignoreErrors)&&(r=null,s=!1),n(r,s)})}function Lc(e,t){try{return sn.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var oo=q((eb,so)=>{var nt=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Qs=ke("path"),jc=nt?";":":",eo=Xs(),to=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),no=(e,t)=>{let n=t.colon||jc,r=e.match(/\//)||nt&&e.match(/\\/)?[""]:[...nt?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],s=nt?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=nt?s.split(n):[""];return nt&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:r,pathExt:o,pathExtExe:s}},ro=(e,t,n)=>{typeof t=="function"&&(n=t,t={}),t||(t={});let{pathEnv:r,pathExt:s,pathExtExe:o}=no(e,t),i=[],a=c=>new Promise((u,d)=>{if(c===r.length)return t.all&&i.length?u(i):d(to(e));let f=r[c],m=/^".*"$/.test(f)?f.slice(1,-1):f,h=Qs.join(m,e),w=!m&&/^\.[\\\/]/.test(e)?e.slice(0,2)+h:h;u(l(w,c,0))}),l=(c,u,d)=>new Promise((f,m)=>{if(d===s.length)return f(a(u+1));let h=s[d];eo(c+h,{pathExt:o},(w,b)=>{if(!w&&b)if(t.all)i.push(c+h);else return f(c+h);return f(l(c,u,d+1))})});return n?a(0).then(c=>n(null,c),n):a(0)},Hc=(e,t)=>{t=t||{};let{pathEnv:n,pathExt:r,pathExtExe:s}=no(e,t),o=[];for(let i=0;i<n.length;i++){let a=n[i],l=/^".*"$/.test(a)?a.slice(1,-1):a,c=Qs.join(l,e),u=!l&&/^\.[\\\/]/.test(e)?e.slice(0,2)+c:c;for(let d=0;d<r.length;d++){let f=u+r[d];try{if(eo.sync(f,{pathExt:s}))if(t.all)o.push(f);else return f}catch{}}}if(t.all&&o.length)return o;if(t.nothrow)return null;throw to(e)};so.exports=ro;ro.sync=Hc});var ao=q((tb,Yn)=>{"use strict";var io=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};Yn.exports=io;Yn.exports.default=io});var fo=q((nb,uo)=>{"use strict";var lo=ke("path"),Bc=oo(),zc=ao();function co(e,t){let n=e.options.env||process.env,r=process.cwd(),s=e.options.cwd!=null,o=s&&process.chdir!==void 0&&!process.chdir.disabled;if(o)try{process.chdir(e.options.cwd)}catch{}let i;try{i=Bc.sync(e.command,{path:n[zc({env:n})],pathExt:t?lo.delimiter:void 0})}catch{}finally{o&&process.chdir(r)}return i&&(i=lo.resolve(s?e.options.cwd:"",i)),i}function Uc(e){return co(e)||co(e,!0)}uo.exports=Uc});var mo=q((rb,Qn)=>{"use strict";var Xn=/([()\][%!^"`<>&|;, *?])/g;function Zc(e){return e=e.replace(Xn,"^$1"),e}function Jc(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(Xn,"^$1"),t&&(e=e.replace(Xn,"^$1")),e}Qn.exports.command=Zc;Qn.exports.argument=Jc});var ho=q((sb,po)=>{"use strict";po.exports=/^#!(.*)/});var yo=q((ob,go)=>{"use strict";var Kc=ho();go.exports=(e="")=>{let t=e.match(Kc);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),s=n.split("/").pop();return s==="env"?r:r?`${s} ${r}`:s}});var bo=q((ib,ko)=>{"use strict";var er=ke("fs"),Gc=yo();function Vc(e){let n=Buffer.alloc(150),r;try{r=er.openSync(e,"r"),er.readSync(r,n,0,150,0),er.closeSync(r)}catch{}return Gc(n.toString())}ko.exports=Vc});var vo=q((ab,xo)=>{"use strict";var Wc=ke("path"),_o=fo(),wo=mo(),qc=bo(),Yc=process.platform==="win32",Xc=/\.(?:com|exe)$/i,Qc=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function eu(e){e.file=_o(e);let t=e.file&&qc(e.file);return t?(e.args.unshift(e.file),e.command=t,_o(e)):e.file}function tu(e){if(!Yc)return e;let t=eu(e),n=!Xc.test(t);if(e.options.forceShell||n){let r=Qc.test(t);e.command=Wc.normalize(e.command),e.command=wo.command(e.command),e.args=e.args.map(o=>wo.argument(o,r));let s=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${s}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}function nu(e,t,n){t&&!Array.isArray(t)&&(n=t,t=null),t=t?t.slice(0):[],n=Object.assign({},n);let r={command:e,args:t,options:n,file:void 0,original:{command:e,args:t}};return n.shell?r:tu(r)}xo.exports=nu});var To=q((lb,Eo)=>{"use strict";var tr=process.platform==="win32";function nr(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function ru(e,t){if(!tr)return;let n=e.emit;e.emit=function(r,s){if(r==="exit"){let o=So(s,t);if(o)return n.call(e,"error",o)}return n.apply(e,arguments)}}function So(e,t){return tr&&e===1&&!t.file?nr(t.original,"spawn"):null}function su(e,t){return tr&&e===1&&!t.file?nr(t.original,"spawnSync"):null}Eo.exports={hookChildProcess:ru,verifyENOENT:So,verifyENOENTSync:su,notFoundError:nr}});var Ao=q((cb,rt)=>{"use strict";var $o=ke("child_process"),rr=vo(),sr=To();function Ro(e,t,n){let r=rr(e,t,n),s=$o.spawn(r.command,r.args,r.options);return sr.hookChildProcess(s,r),s}function ou(e,t,n){let r=rr(e,t,n),s=$o.spawnSync(r.command,r.args,r.options);return s.error=s.error||sr.verifyENOENTSync(s.status,r),s}rt.exports=Ro;rt.exports.spawn=Ro;rt.exports.sync=ou;rt.exports._parse=rr;rt.exports._enoent=sr});function yf(e,t){let n=e.slice(0,t).split(/\r?\n/);return[n.length,n.pop().length+1]}function kf(e,t,n){let r=e.split(/\r?\n/),s="",o=(Math.log10(t+1)|0)+1;for(let i=t-1;i<=t+1;i++){let a=r[i-1];a&&(s+=i.toString().padEnd(o," "),s+=": ",s+=a,s+=`
4
4
  `,i===t&&(s+=" ".repeat(o+n+2),s+=`^
5
- `))}return s}var v,Ve=de(()=>{v=class e extends Error{line;column;codeblock;constructor(t,n){let[r,s]=pf(n.toml,n.ptr),o=hf(n.toml,r,s);super(`Invalid TOML document: ${t}
5
+ `))}return s}var S,Ve=de(()=>{S=class e extends Error{line;column;codeblock;constructor(t,n){let[r,s]=yf(n.toml,n.ptr),o=kf(n.toml,r,s);super(`Invalid TOML document: ${t}
6
6
 
7
- ${o}`,n),this.line=r,this.column=s,this.codeblock=o}static x(t,n,r){throw new e(t,{toml:n.s,ptr:r??n.p})}}});function fn(e){let t=e.p,n=e.s.charCodeAt(e.p++),r=n,s=n===39,o=n===e.s.charCodeAt(e.p)&&n===e.s.charCodeAt(e.p+1);o&&((n=e.s.charCodeAt(e.p+=2))===10?e.p++:n===13&&e.s.charCodeAt(e.p+1)===10&&(e.p+=2));let i="",a=e.p,l=0;for(;e.p<e.s.length;e.p++)if(n=e.s.charCodeAt(e.p),o&&(n===10||n===13&&e.s.charCodeAt(e.p+1)===10))l=l&&3;else if(n<32&&n!==9||n===127)v.x("control characters are not allowed in strings",e);else if((!l||l===3)&&n===r&&(!o||e.s.charCodeAt(e.p+1)===r&&e.s.charCodeAt(e.p+2)===r)){if(o&&(e.s.charCodeAt(e.p+3)===r&&e.p++,e.s.charCodeAt(e.p+3)===r&&e.p++),!l){let c=e.s.slice(a,e.p);i=i?i+c:c}return e.p+=o?3:1,i}else if(!l)!s&&n===92&&(i+=e.s.slice(a,a=e.p),l=1);else if(l===1)if(n===120||n===117||n===85){let c=e.p++-1,u=0,f=n===120?2:n===117?4:8;for(let d=0;d<f;d++,e.p++){let m=e.s.charCodeAt(e.p),h=m>=48&&m<=57?m-48:m>=65&&m<=70?m-65+10:m>=97&&m<=102?m-97+10:-1;h<0&&v.x("invalid non-hex character in unicode escape",e),u=u<<4|h}(u<0||u>1114111||u>=55296&&u<=57343)&&v.x("invalid unicode escape",e,c),i+=String.fromCodePoint(u),a=e.p--,l=0}else o&&(n===32||n===9)?l=2:(n===98?i+="\b":n===116?i+=" ":n===110?i+=`
8
- `:n===102?i+="\f":n===114?i+="\r":n===101?i+="\x1B":n===34?i+='"':n===92?i+="\\":v.x("unrecognised escape sequence",e),a=e.p+1,l=0);else n!==32&&n!==9&&(l===2&&v.x("invalid escape: only line-ending whitespace may be escaped",e,a),l=!s&&n===92?1:0,a=e.p);v.x("unfinished string",e,t)}var lr=de(()=>{Ve();});var gf,We,cr=de(()=>{gf=/^(\d{4}-\d{2}-\d{2})?[Tt ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|z|[-+]\d{2}:\d{2})?$/i,We=class e extends Date{#t=!1;#n=!1;#e=null;constructor(t,n,r){let s=!0,o=!0,i="Z",a;if(typeof t=="string")if(n)e:{if(n<3){if(+t.slice(11,13)>23){t="";break e}n===2?(i=null,t+="Z"):(a=t.charCodeAt(t.length-1))!==90&&a!==122&&(i=t.slice(t.length-6)),r&&(t=t.slice(0,10)+"T"+t.slice(11))}else n===4&&(t=+t.slice(0,2)>23?"":`0000-01-01T${t}Z`);s=n!==4,o=n!==3}else{let l=t.match(gf);l?(l[1]||(s=!1,t=`0000-01-01T${t}`),o=!!l[2],o&&t[10]===" "&&(t=t.replace(" ","T")),l[2]&&+l[2]>23?t="":(i=l[3]||null,!i&&o&&(t+="Z"))):t=""}super(t),isNaN(this.getTime())||(this.#t=s,this.#n=o,this.#e=i)}isDateTime(){return this.#t&&this.#n}isLocal(){return!this.#t||!this.#n||!this.#e}isDate(){return this.#t&&!this.#n}isTime(){return this.#n&&!this.#t}isValid(){return this.#t||this.#n}toISOString(){let t=super.toISOString();if(this.isDate())return t.slice(0,10);if(this.isTime())return t.slice(11,23);if(this.#e===null)return t.slice(0,-1);if(this.#e==="Z"||this.#e==="z")return t;let n=+this.#e.slice(1,3)*60+ +this.#e.slice(4,6);return n=this.#e[0]==="-"?n:-n,new Date(this.getTime()-n*6e4).toISOString().slice(0,-1)+this.#e}static wrapAsOffsetDateTime(t,n="Z"){let r=new e(t);return r.#e=n,r}static wrapAsLocalDateTime(t){let n=new e(t);return n.#e=null,n}static wrapAsLocalDate(t){let n=new e(t);return n.#n=!1,n.#e=null,n}static wrapAsLocalTime(t){let n=new e(t);return n.#t=!1,n.#e=null,n}}});function Y(e,t=10){return t===16?e>47&&e<58||e>64&&e<71||e>96&&e<103:e>47&&e<48+t}function fr(e,t){return e===32||e===9||e===10||e===13||t&&(e===t||e===44)||e===35}function Nt(e,t){let n=e.p,r=e.s.charCodeAt(e.p);if(r===91||r===123){e.d--||v.x("document contains excessively nested structures. aborting.",e);let s=r===91?Uo(e):zo(e);return e.d++,s}return r===34||r===39?fn(e):r===116?((e.s.charCodeAt(++e.p)!==114||e.s.charCodeAt(++e.p)!==117||e.s.charCodeAt(++e.p)!==101)&&v.x("invalid value",e,n),e.p++,!0):r===102?((e.s.charCodeAt(++e.p)!==97||e.s.charCodeAt(++e.p)!==108||e.s.charCodeAt(++e.p)!==115||e.s.charCodeAt(++e.p)!==101)&&v.x("invalid value",e,n),e.p++,!1):r===43||r===45?dn(e,e.p,e.s.charCodeAt(++e.p),44-r,t):e.s.charCodeAt(e.p+4)===45&&e.s.charCodeAt(e.p+7)===45?yf(e,r,t):e.s.charCodeAt(e.p+2)===58?kf(e,r,t):dn(e,e.p,r,0,t)}function dn(e,t,n,r,s){let o=n,i=0,a=!1;if(o===105)return(e.s.charCodeAt(++e.p)!==110||e.s.charCodeAt(++e.p)!==102)&&v.x("invalid value",e,t),e.p++,(r||1)/0;if(o===110)return(e.s.charCodeAt(++e.p)!==97||e.s.charCodeAt(++e.p)!==110)&&v.x("invalid value",e,t),e.p++,NaN;if(o===48){if(++e.p>=e.s.length||fr(o=e.s.charCodeAt(e.p),s))return e.bi===!0?0n:0;if(!r){if(o===120)return ur(e,t,16,s);if(o===98)return ur(e,t,2,s);if(o===111)return ur(e,t,8,s)}o===46?i=2:o===101||o===69?i=4:v.x("illegal leading zero",e,t)}else Y(o)||v.x("invalid value",e,t);for(;++e.p<e.s.length&&(o=e.s.charCodeAt(e.p),!fr(o,s));)i||(i=1),o===95?(i&1||v.x("illegal underscore",e),i+=11,a=!0):i===1&&o===46?i=2:(i===1||i===3)&&(o===101||o===69)?i=4:i===4&&(o===43||o===45)||(Y(o)?i>9?i-=11:i&1||i++:v.x("illegal character in numeric literal",e));if(!i){let c=(n-48)*(r||1);return e.bi===!0?BigInt(c):c}i&1||v.x("unfinished numeric value",e,t);let l=e.s.slice(t,e.p);return a&&(l=l.replaceAll("_","")),i>1?parseFloat(l):Bo(e,l,10,t)}function ur(e,t,n,r){let s,o=1;for(;++e.p<e.s.length&&(s=e.s.charCodeAt(e.p),!fr(s,r));)s===95?(o&1&&v.x("illegal underscore",e),o=3):Y(s,n)?o&1&&o--:v.x("illegal character in numeric literal",e);o&1&&v.x("unfinished numeric value",e);let i=e.s.slice(t+2,e.p);return o&&(i=i.replaceAll("_","")),Bo(e,i,n,t)}function Bo(e,t,n,r){if(e.bi!==!0)e:{let s=parseInt(t,n);if(!Number.isSafeInteger(s)){if(e.bi)break e;v.x("integer value cannot be represented losslessly",e,r)}return s}return BigInt(n===10?t:(n===2?"0b":n===8?"0o":"0x")+t)}function yf(e,t,n){let r=e.p++,s;if(!Y(t)||!Y(e.s.charCodeAt(e.p++))||!Y(e.s.charCodeAt(e.p++))||!Y(e.s.charCodeAt(e.p++)))return dn(e,e.p=r,t,0,n);if(e.p+=5,Y(e.s.charCodeAt(e.p++))||v.x("invalid date-time: date part is malformed",e,r),e.p>=e.s.length||((t=e.s.charCodeAt(e.p))!==32||(s=!0,!Y(e.s.charCodeAt(e.p+1))))&&t!==84&&t!==116){let i=e.s.slice(r,e.p);return Pt(e,i,3,!1,r)}if(e.s.charCodeAt(e.p+=3)!==58&&v.x("invalid date-time: time part is malformed",e,r),e.s.charCodeAt(e.p+=3)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;Y(e.s.charCodeAt(++e.p)););if(t=e.s.charCodeAt(e.p)){if(t===90||t===122){let i=e.s.slice(r,++e.p);return Pt(e,i,1,s,r,"[+00:00]")}if(t===43||t===45){let i=e.s.slice(r,e.p+=6);return Pt(e,i,1,s,r,!e.ld&&"["+e.s.slice(e.p-6,e.p)+"]")}}let o=e.s.slice(r,e.p);return Pt(e,o,2,s,r)}function kf(e,t,n){let r=e.p;if(!Y(t)||!Y(e.s.charCodeAt(++e.p)))return dn(e,--e.p,t,0,n);if(e.s.charCodeAt(e.p+=4)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;Y(e.s.charCodeAt(++e.p)););let s=e.s.slice(r,e.p);return Pt(e,s,4,!1,r)}function Pt(e,t,n,r,s,o){if(e.ld){let i=new We(t,n,r);return i.isValid()||v.x("invalid date",e,s),i}try{switch(o&&(t+=o),n){case 1:return Temporal.ZonedDateTime.from(t);case 2:return Temporal.PlainDateTime.from(t);case 3:return Temporal.PlainDate.from(t);case 4:return Temporal.PlainTime.from(t)}}catch(i){v.x(i instanceof Error?i.message:""+i,e,s)}}var dr=de(()=>{lr();mr();Ve();cr();});function bf(e){for(;e.p<e.s.length;e.p++){let t=e.s.charCodeAt(e.p);if(t===10)break;if(t===13&&e.s.charCodeAt(e.p+1)===10){e.p++;break}(t<32&&t!==9||t===127)&&v.x("control characters are not allowed in comments",e)}}function ie(e,t,n){let r;for(;e.p<e.s.length;){for(;e.p<e.s.length&&((r=e.s.charCodeAt(e.p))===32||r===9||!t&&(r===10||r===13&&e.s.charCodeAt(e.p+1)===10));)e.p++;if(n||r!==35)break;bf(e)}}var pr=de(()=>{Ve();});function mn(e,t=61){let n,r=0,s=[],o,i=e.s.charCodeAt(n=e.p);do{if(i===t)return r||v.x("unexpected end of key",e),r===1&&s.push(e.s.slice(o,e.p)),e.p++,s;i===46?(r||v.x("illegal empty bare key",e),r===1&&s.push(e.s.slice(o,e.p)),r=0):!r&&(i===34||i===39)?(i===e.s.charCodeAt(e.p+1)&&i===e.s.charCodeAt(e.p+2)&&v.x("illegal quoted key: multiline strings are not allowed",e),s.push(fn(e)),r=2,e.p--):i===32||i===9?r===1&&(s.push(e.s.slice(o,e.p)),r=2):r===2||i<48&&i!==45||i>57&&i<65||i>90&&i<97&&i!==95||i>122?v.x("illegal character in key",e):r||(r=1,o=e.p)}while(i=e.s.charCodeAt(++e.p));v.x("incomplete key-value: cannot find end of key",e,n)}function zo(e){let t=e.p++,n=Object.create(null),r=new Set,s;for(;e.p<e.s.length;){if(ie(e),(s=e.s.charCodeAt(e.p))===125)return e.p++,n;let o,i=n,a=!1,l=e.p,c=mn(e);for(let f=0;f<c.length;f++){f&&(i=a?i[o]:i[o]=Object.create(null)),o=c[f],(a=Object.hasOwn(i,o))&&(typeof i[o]!="object"||r.has(i[o]))&&v.x("trying to redefine an already defined value",e,l);let d=o==="__proto__";if(e.uk&&(d||o==="constructor")){i=e.uk!==1&&v.x("document contains an unsafe property",e,l);break}!a&&d&&Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0})}a&&v.x("trying to redefine an already defined value",e,l),ie(e,!0,!0);let u=Nt(e,125);if(i&&typeof(i[o]=u)=="object"&&r.add(u),ie(e),(s=e.s.charCodeAt(e.p++))===125)return n;s!==44&&v.x("expected comma or end of structure",e,e.p-1)}v.x("unfinished table",e,t)}function Uo(e){let t=e.p++,n=[],r;for(;e.p<e.s.length;){if(ie(e),(r=e.s.charCodeAt(e.p))===93)return e.p++,n;if(n.push(Nt(e,93)),ie(e),(r=e.s.charCodeAt(e.p++))===93)return n;r!==44&&v.x("expected comma or end of structure",e,e.p-1)}v.x("unfinished array",e,t)}var mr=de(()=>{lr();dr();pr();Ve();});function Zo(e,t,n,r,s){let o=n,i=r,a,l=!1,c;for(let u=0;u<t.length;u++){if(u){if(o=l?o[a]:o[a]=Object.create(null),i=(c=i[a]).c,s===0&&(c.t===1||c.t===2))return null;if(c.t===2){let f=o.length-1;o=o[f],i=i[f].c}}if(a=t[u],(l=Object.hasOwn(o,a))&&i[a]?.t===0&&i[a]?.d)return null;if(!l){let f=a==="__proto__";if(e.uk&&(f||a==="constructor"))return!1;f&&(Object.defineProperty(o,a,{enumerable:!0,configurable:!0,writable:!0}),Object.defineProperty(i,a,{enumerable:!0,configurable:!0,writable:!0})),i[a]={t:u<t.length-1&&s===2?3:s,d:!1,i:0,c:Object.create(null)}}}if(c=i[a],c.t!==s&&!(s===1&&c.t===3)||(s===2&&(c.d||(c.d=!0,o[a]=[]),o[a].push(o=Object.create(null)),c.c[c.i++]=c={t:1,d:!1,i:0,c:Object.create(null)}),c.d))return null;if(c.d=!0,s===1)o=l?o[a]:o[a]=Object.create(null);else if(s===0&&l)return null;return[a,o,c.c]}function Jo(e,t,n){(t===null||e.uk===2)&&v.x(t===null?"trying to redefine an already defined table or value":"document contains an unsafe property",e,n)}function hr(e,t={}){let n={s:e,p:0,d:t.maxDepth??1e3,bi:t.integersAsBigInt??!1,ld:t.useLegacyDate??!0,uk:t.unsafeKeyBehaviour==="throw"?2:t.unsafeKeyBehaviour==="drop"?1:0},r=Object.create(null),s=Object.create(null),o,i=!1,a=r,l=s;for(e.charCodeAt(0)===65279&&n.p++,ie(n);n.p<e.length;){if(e.charCodeAt(n.p)===91){let c=e.charCodeAt(++n.p)===91;o=n.p+=+c,i=!1;let u=mn(n,93);c&&(e.charCodeAt(n.p)!==93&&v.x("expected end of table array declaration",n),n.p++);let f=Zo(n,u,r,s,c?2:1);f?(l=f[2],a=f[1]):(Jo(n,f,o),i=!0)}else{o=n.p;let c=mn(n),u=Zo(n,c,a,l,0);!u&&!i&&Jo(n,u,o),ie(n,!0,!0);let f=Nt(n,void 0);u&&!i&&(u[1][u[0]]=f)}ie(n,!0),n.p<e.length&&(o=e.charCodeAt(n.p))!==10&&(o!==13||e.charCodeAt(n.p+1)!==10)&&v.x("each key-value declaration must be followed by an end-of-line",n),ie(n)}return r}var Go=de(()=>{mr();dr();pr();Ve();});function Dt(e){let t=typeof e;if(t==="object"){if(Array.isArray(e))return"array";if(typeof e.getUTCDate=="function"&&e instanceof Date)return"date";if(globalThis.Temporal){if(e.until){if(e instanceof Temporal.ZonedDateTime)return"temporal/tz+uc";if(e instanceof Temporal.PlainDateTime||e instanceof Temporal.PlainDate)return"temporal/uc";if(e instanceof Temporal.PlainTime||e instanceof Temporal.Instant)return"temporal";if(e instanceof Temporal.PlainYearMonth)return"temporal/x"}else if(e.toPlainDate&&e instanceof Temporal.PlainMonthDay||e.negated&&e instanceof Temporal.Duration)return"temporal/x"}}return t}function wf(e){for(let t=0;t<e.length;t++)if(Dt(e[t])!=="object")return!1;return e.length!=0}function Vo(e){return JSON.stringify(e).replaceAll("\x7F","\\u007f")}function xf(e){return Vo(Ko?e.toWellFormed():e)}function Wo(e){if(_f.test(e))return e;if(Ko&&!e.isWellFormed())throw new RangeError("key contains illegal lone surrogates");return Vo(e)}function gr(e,t,n,r,s){if(n===0)throw new Error("Could not stringify the object: maximum object depth exceeded");switch(t){case"number":if(isNaN(e))return"nan";if(e===1/0)return"inf";if(e===-1/0)return"-inf";if(Number.isInteger(e)&&(r||!Number.isSafeInteger(e)))return e.toFixed(1);case"bigint":case"boolean":case"temporal":return e.toString();case"string":return xf(e);case"date":if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString();case"object":return vf(e,n,r,s);case"array":return Sf(e,n,r,s);case"temporal/tz+uc":if(s){let o=e.timeZoneId,i=o.charCodeAt(0);if(i!==43&&i!==45&&(i!==85&&i!==71&&i!==90&&i!==69||o!=="UTC"&&o!=="UCT"&&o!=="Universal"&&o!=="Zulu"&&!o.startsWith("GMT")&&o!=="Greenwich"&&!o.startsWith("Etc/")))throw new TypeError("Temporal objects with an IANA timezone are not allowed in Temporal strict mode")}case"temporal/uc":if(s&&e.calendarId!=="iso8601")throw new TypeError("Temporal objects with a non-default calendar are not allowed in Temporal strict mode");return e.toString({calendarName:"never",timeZoneName:"never"});case"temporal/x":throw new TypeError("Unsupported "+e[Symbol.toStringTag])}}function vf(e,t,n,r){let s=Object.keys(e);if(s.length===0)return"{}";let o="{ ";for(let i=0;i<s.length;i++){let a=s[i];i&&(o+=", "),o+=Wo(a)+" = "+gr(e[a],Dt(e[a]),t-1,n,r)}return o+" }"}function Sf(e,t,n,r){if(e.length===0)return"[]";let s="[ ";for(let o=0;o<e.length;o++){if(o&&(s+=", "),e[o]===null||e[o]===void 0)throw new TypeError("arrays cannot contain null or undefined values");s+=gr(e[o],Dt(e[o]),t-1,n,r)}return s+" ]"}function Ef(e,t,n,r,s){if(n===0)throw new Error("Could not stringify the object: maximum object depth exceeded");let o="";for(let i=0;i<e.length;i++)o+=`${o&&`
7
+ ${o}`,n),this.line=r,this.column=s,this.codeblock=o}static x(t,n,r){throw new e(t,{toml:n.s,ptr:r??n.p})}}});function fn(e){let t=e.p,n=e.s.charCodeAt(e.p++),r=n,s=n===39,o=n===e.s.charCodeAt(e.p)&&n===e.s.charCodeAt(e.p+1);o&&((n=e.s.charCodeAt(e.p+=2))===10?e.p++:n===13&&e.s.charCodeAt(e.p+1)===10&&(e.p+=2));let i="",a=e.p,l=0;for(;e.p<e.s.length;e.p++)if(n=e.s.charCodeAt(e.p),o&&(n===10||n===13&&e.s.charCodeAt(e.p+1)===10))l=l&&3;else if(n<32&&n!==9||n===127)S.x("control characters are not allowed in strings",e);else if((!l||l===3)&&n===r&&(!o||e.s.charCodeAt(e.p+1)===r&&e.s.charCodeAt(e.p+2)===r)){if(o&&(e.s.charCodeAt(e.p+3)===r&&e.p++,e.s.charCodeAt(e.p+3)===r&&e.p++),!l){let c=e.s.slice(a,e.p);i=i?i+c:c}return e.p+=o?3:1,i}else if(!l)!s&&n===92&&(i+=e.s.slice(a,a=e.p),l=1);else if(l===1)if(n===120||n===117||n===85){let c=e.p++-1,u=0,d=n===120?2:n===117?4:8;for(let f=0;f<d;f++,e.p++){let m=e.s.charCodeAt(e.p),h=m>=48&&m<=57?m-48:m>=65&&m<=70?m-65+10:m>=97&&m<=102?m-97+10:-1;h<0&&S.x("invalid non-hex character in unicode escape",e),u=u<<4|h}(u<0||u>1114111||u>=55296&&u<=57343)&&S.x("invalid unicode escape",e,c),i+=String.fromCodePoint(u),a=e.p--,l=0}else o&&(n===32||n===9)?l=2:(n===98?i+="\b":n===116?i+=" ":n===110?i+=`
8
+ `:n===102?i+="\f":n===114?i+="\r":n===101?i+="\x1B":n===34?i+='"':n===92?i+="\\":S.x("unrecognised escape sequence",e),a=e.p+1,l=0);else n!==32&&n!==9&&(l===2&&S.x("invalid escape: only line-ending whitespace may be escaped",e,a),l=!s&&n===92?1:0,a=e.p);S.x("unfinished string",e,t)}var lr=de(()=>{Ve();});var bf,We,cr=de(()=>{bf=/^(\d{4}-\d{2}-\d{2})?[Tt ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|z|[-+]\d{2}:\d{2})?$/i,We=class e extends Date{#t=!1;#n=!1;#e=null;constructor(t,n,r){let s=!0,o=!0,i="Z",a;if(typeof t=="string")if(n)e:{if(n<3){if(+t.slice(11,13)>23){t="";break e}n===2?(i=null,t+="Z"):(a=t.charCodeAt(t.length-1))!==90&&a!==122&&(i=t.slice(t.length-6)),r&&(t=t.slice(0,10)+"T"+t.slice(11))}else n===4&&(t=+t.slice(0,2)>23?"":`0000-01-01T${t}Z`);s=n!==4,o=n!==3}else{let l=t.match(bf);l?(l[1]||(s=!1,t=`0000-01-01T${t}`),o=!!l[2],o&&t[10]===" "&&(t=t.replace(" ","T")),l[2]&&+l[2]>23?t="":(i=l[3]||null,!i&&o&&(t+="Z"))):t=""}super(t),isNaN(this.getTime())||(this.#t=s,this.#n=o,this.#e=i)}isDateTime(){return this.#t&&this.#n}isLocal(){return!this.#t||!this.#n||!this.#e}isDate(){return this.#t&&!this.#n}isTime(){return this.#n&&!this.#t}isValid(){return this.#t||this.#n}toISOString(){let t=super.toISOString();if(this.isDate())return t.slice(0,10);if(this.isTime())return t.slice(11,23);if(this.#e===null)return t.slice(0,-1);if(this.#e==="Z"||this.#e==="z")return t;let n=+this.#e.slice(1,3)*60+ +this.#e.slice(4,6);return n=this.#e[0]==="-"?n:-n,new Date(this.getTime()-n*6e4).toISOString().slice(0,-1)+this.#e}static wrapAsOffsetDateTime(t,n="Z"){let r=new e(t);return r.#e=n,r}static wrapAsLocalDateTime(t){let n=new e(t);return n.#e=null,n}static wrapAsLocalDate(t){let n=new e(t);return n.#n=!1,n.#e=null,n}static wrapAsLocalTime(t){let n=new e(t);return n.#t=!1,n.#e=null,n}}});function Y(e,t=10){return t===16?e>47&&e<58||e>64&&e<71||e>96&&e<103:e>47&&e<48+t}function fr(e,t){return e===32||e===9||e===10||e===13||t&&(e===t||e===44)||e===35}function Nt(e,t){let n=e.p,r=e.s.charCodeAt(e.p);if(r===91||r===123){e.d--||S.x("document contains excessively nested structures. aborting.",e);let s=r===91?Uo(e):zo(e);return e.d++,s}return r===34||r===39?fn(e):r===116?((e.s.charCodeAt(++e.p)!==114||e.s.charCodeAt(++e.p)!==117||e.s.charCodeAt(++e.p)!==101)&&S.x("invalid value",e,n),e.p++,!0):r===102?((e.s.charCodeAt(++e.p)!==97||e.s.charCodeAt(++e.p)!==108||e.s.charCodeAt(++e.p)!==115||e.s.charCodeAt(++e.p)!==101)&&S.x("invalid value",e,n),e.p++,!1):r===43||r===45?dn(e,e.p,e.s.charCodeAt(++e.p),44-r,t):e.s.charCodeAt(e.p+4)===45&&e.s.charCodeAt(e.p+7)===45?_f(e,r,t):e.s.charCodeAt(e.p+2)===58?wf(e,r,t):dn(e,e.p,r,0,t)}function dn(e,t,n,r,s){let o=n,i=0,a=!1;if(o===105)return(e.s.charCodeAt(++e.p)!==110||e.s.charCodeAt(++e.p)!==102)&&S.x("invalid value",e,t),e.p++,(r||1)/0;if(o===110)return(e.s.charCodeAt(++e.p)!==97||e.s.charCodeAt(++e.p)!==110)&&S.x("invalid value",e,t),e.p++,NaN;if(o===48){if(++e.p>=e.s.length||fr(o=e.s.charCodeAt(e.p),s))return e.bi===!0?0n:0;if(!r){if(o===120)return ur(e,t,16,s);if(o===98)return ur(e,t,2,s);if(o===111)return ur(e,t,8,s)}o===46?i=2:o===101||o===69?i=4:S.x("illegal leading zero",e,t)}else Y(o)||S.x("invalid value",e,t);for(;++e.p<e.s.length&&(o=e.s.charCodeAt(e.p),!fr(o,s));)i||(i=1),o===95?(i&1||S.x("illegal underscore",e),i+=11,a=!0):i===1&&o===46?i=2:(i===1||i===3)&&(o===101||o===69)?i=4:i===4&&(o===43||o===45)||(Y(o)?i>9?i-=11:i&1||i++:S.x("illegal character in numeric literal",e));if(!i){let c=(n-48)*(r||1);return e.bi===!0?BigInt(c):c}i&1||S.x("unfinished numeric value",e,t);let l=e.s.slice(t,e.p);return a&&(l=l.replaceAll("_","")),i>1?parseFloat(l):Bo(e,l,10,t)}function ur(e,t,n,r){let s,o=1;for(;++e.p<e.s.length&&(s=e.s.charCodeAt(e.p),!fr(s,r));)s===95?(o&1&&S.x("illegal underscore",e),o=3):Y(s,n)?o&1&&o--:S.x("illegal character in numeric literal",e);o&1&&S.x("unfinished numeric value",e);let i=e.s.slice(t+2,e.p);return o&&(i=i.replaceAll("_","")),Bo(e,i,n,t)}function Bo(e,t,n,r){if(e.bi!==!0)e:{let s=parseInt(t,n);if(!Number.isSafeInteger(s)){if(e.bi)break e;S.x("integer value cannot be represented losslessly",e,r)}return s}return BigInt(n===10?t:(n===2?"0b":n===8?"0o":"0x")+t)}function _f(e,t,n){let r=e.p++,s;if(!Y(t)||!Y(e.s.charCodeAt(e.p++))||!Y(e.s.charCodeAt(e.p++))||!Y(e.s.charCodeAt(e.p++)))return dn(e,e.p=r,t,0,n);if(e.p+=5,Y(e.s.charCodeAt(e.p++))||S.x("invalid date-time: date part is malformed",e,r),e.p>=e.s.length||((t=e.s.charCodeAt(e.p))!==32||(s=!0,!Y(e.s.charCodeAt(e.p+1))))&&t!==84&&t!==116){let i=e.s.slice(r,e.p);return Pt(e,i,3,!1,r)}if(e.s.charCodeAt(e.p+=3)!==58&&S.x("invalid date-time: time part is malformed",e,r),e.s.charCodeAt(e.p+=3)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;Y(e.s.charCodeAt(++e.p)););if(t=e.s.charCodeAt(e.p)){if(t===90||t===122){let i=e.s.slice(r,++e.p);return Pt(e,i,1,s,r,"[+00:00]")}if(t===43||t===45){let i=e.s.slice(r,e.p+=6);return Pt(e,i,1,s,r,!e.ld&&"["+e.s.slice(e.p-6,e.p)+"]")}}let o=e.s.slice(r,e.p);return Pt(e,o,2,s,r)}function wf(e,t,n){let r=e.p;if(!Y(t)||!Y(e.s.charCodeAt(++e.p)))return dn(e,--e.p,t,0,n);if(e.s.charCodeAt(e.p+=4)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;Y(e.s.charCodeAt(++e.p)););let s=e.s.slice(r,e.p);return Pt(e,s,4,!1,r)}function Pt(e,t,n,r,s,o){if(e.ld){let i=new We(t,n,r);return i.isValid()||S.x("invalid date",e,s),i}try{switch(o&&(t+=o),n){case 1:return Temporal.ZonedDateTime.from(t);case 2:return Temporal.PlainDateTime.from(t);case 3:return Temporal.PlainDate.from(t);case 4:return Temporal.PlainTime.from(t)}}catch(i){S.x(i instanceof Error?i.message:""+i,e,s)}}var dr=de(()=>{lr();mr();Ve();cr();});function xf(e){for(;e.p<e.s.length;e.p++){let t=e.s.charCodeAt(e.p);if(t===10)break;if(t===13&&e.s.charCodeAt(e.p+1)===10){e.p++;break}(t<32&&t!==9||t===127)&&S.x("control characters are not allowed in comments",e)}}function ie(e,t,n){let r;for(;e.p<e.s.length;){for(;e.p<e.s.length&&((r=e.s.charCodeAt(e.p))===32||r===9||!t&&(r===10||r===13&&e.s.charCodeAt(e.p+1)===10));)e.p++;if(n||r!==35)break;xf(e)}}var pr=de(()=>{Ve();});function mn(e,t=61){let n,r=0,s=[],o,i=e.s.charCodeAt(n=e.p);do{if(i===t)return r||S.x("unexpected end of key",e),r===1&&s.push(e.s.slice(o,e.p)),e.p++,s;i===46?(r||S.x("illegal empty bare key",e),r===1&&s.push(e.s.slice(o,e.p)),r=0):!r&&(i===34||i===39)?(i===e.s.charCodeAt(e.p+1)&&i===e.s.charCodeAt(e.p+2)&&S.x("illegal quoted key: multiline strings are not allowed",e),s.push(fn(e)),r=2,e.p--):i===32||i===9?r===1&&(s.push(e.s.slice(o,e.p)),r=2):r===2||i<48&&i!==45||i>57&&i<65||i>90&&i<97&&i!==95||i>122?S.x("illegal character in key",e):r||(r=1,o=e.p)}while(i=e.s.charCodeAt(++e.p));S.x("incomplete key-value: cannot find end of key",e,n)}function zo(e){let t=e.p++,n=Object.create(null),r=new Set,s;for(;e.p<e.s.length;){if(ie(e),(s=e.s.charCodeAt(e.p))===125)return e.p++,n;let o,i=n,a=!1,l=e.p,c=mn(e);for(let d=0;d<c.length;d++){d&&(i=a?i[o]:i[o]=Object.create(null)),o=c[d],(a=Object.hasOwn(i,o))&&(typeof i[o]!="object"||r.has(i[o]))&&S.x("trying to redefine an already defined value",e,l);let f=o==="__proto__";if(e.uk&&(f||o==="constructor")){i=e.uk!==1&&S.x("document contains an unsafe property",e,l);break}!a&&f&&Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0})}a&&S.x("trying to redefine an already defined value",e,l),ie(e,!0,!0);let u=Nt(e,125);if(i&&typeof(i[o]=u)=="object"&&r.add(u),ie(e),(s=e.s.charCodeAt(e.p++))===125)return n;s!==44&&S.x("expected comma or end of structure",e,e.p-1)}S.x("unfinished table",e,t)}function Uo(e){let t=e.p++,n=[],r;for(;e.p<e.s.length;){if(ie(e),(r=e.s.charCodeAt(e.p))===93)return e.p++,n;if(n.push(Nt(e,93)),ie(e),(r=e.s.charCodeAt(e.p++))===93)return n;r!==44&&S.x("expected comma or end of structure",e,e.p-1)}S.x("unfinished array",e,t)}var mr=de(()=>{lr();dr();pr();Ve();});function Zo(e,t,n,r,s){let o=n,i=r,a,l=!1,c;for(let u=0;u<t.length;u++){if(u){if(o=l?o[a]:o[a]=Object.create(null),i=(c=i[a]).c,s===0&&(c.t===1||c.t===2))return null;if(c.t===2){let d=o.length-1;o=o[d],i=i[d].c}}if(a=t[u],(l=Object.hasOwn(o,a))&&i[a]?.t===0&&i[a]?.d)return null;if(!l){let d=a==="__proto__";if(e.uk&&(d||a==="constructor"))return!1;d&&(Object.defineProperty(o,a,{enumerable:!0,configurable:!0,writable:!0}),Object.defineProperty(i,a,{enumerable:!0,configurable:!0,writable:!0})),i[a]={t:u<t.length-1&&s===2?3:s,d:!1,i:0,c:Object.create(null)}}}if(c=i[a],c.t!==s&&!(s===1&&c.t===3)||(s===2&&(c.d||(c.d=!0,o[a]=[]),o[a].push(o=Object.create(null)),c.c[c.i++]=c={t:1,d:!1,i:0,c:Object.create(null)}),c.d))return null;if(c.d=!0,s===1)o=l?o[a]:o[a]=Object.create(null);else if(s===0&&l)return null;return[a,o,c.c]}function Jo(e,t,n){(t===null||e.uk===2)&&S.x(t===null?"trying to redefine an already defined table or value":"document contains an unsafe property",e,n)}function hr(e,t={}){let n={s:e,p:0,d:t.maxDepth??1e3,bi:t.integersAsBigInt??!1,ld:t.useLegacyDate??!0,uk:t.unsafeKeyBehaviour==="throw"?2:t.unsafeKeyBehaviour==="drop"?1:0},r=Object.create(null),s=Object.create(null),o,i=!1,a=r,l=s;for(e.charCodeAt(0)===65279&&n.p++,ie(n);n.p<e.length;){if(e.charCodeAt(n.p)===91){let c=e.charCodeAt(++n.p)===91;o=n.p+=+c,i=!1;let u=mn(n,93);c&&(e.charCodeAt(n.p)!==93&&S.x("expected end of table array declaration",n),n.p++);let d=Zo(n,u,r,s,c?2:1);d?(l=d[2],a=d[1]):(Jo(n,d,o),i=!0)}else{o=n.p;let c=mn(n),u=Zo(n,c,a,l,0);!u&&!i&&Jo(n,u,o),ie(n,!0,!0);let d=Nt(n,void 0);u&&!i&&(u[1][u[0]]=d)}ie(n,!0),n.p<e.length&&(o=e.charCodeAt(n.p))!==10&&(o!==13||e.charCodeAt(n.p+1)!==10)&&S.x("each key-value declaration must be followed by an end-of-line",n),ie(n)}return r}var Ko=de(()=>{mr();dr();pr();Ve();});function Dt(e){let t=typeof e;if(t==="object"){if(Array.isArray(e))return"array";if(typeof e.getUTCDate=="function"&&e instanceof Date)return"date";if(globalThis.Temporal){if(e.until){if(e instanceof Temporal.ZonedDateTime)return"temporal/tz+uc";if(e instanceof Temporal.PlainDateTime||e instanceof Temporal.PlainDate)return"temporal/uc";if(e instanceof Temporal.PlainTime||e instanceof Temporal.Instant)return"temporal";if(e instanceof Temporal.PlainYearMonth)return"temporal/x"}else if(e.toPlainDate&&e instanceof Temporal.PlainMonthDay||e.negated&&e instanceof Temporal.Duration)return"temporal/x"}}return t}function Sf(e){for(let t=0;t<e.length;t++)if(Dt(e[t])!=="object")return!1;return e.length!=0}function Vo(e){return JSON.stringify(e).replaceAll("\x7F","\\u007f")}function Ef(e){return Vo(Go?e.toWellFormed():e)}function Wo(e){if(vf.test(e))return e;if(Go&&!e.isWellFormed())throw new RangeError("key contains illegal lone surrogates");return Vo(e)}function gr(e,t,n,r,s){if(n===0)throw new Error("Could not stringify the object: maximum object depth exceeded");switch(t){case"number":if(isNaN(e))return"nan";if(e===1/0)return"inf";if(e===-1/0)return"-inf";if(Number.isInteger(e)&&(r||!Number.isSafeInteger(e)))return e.toFixed(1);case"bigint":case"boolean":case"temporal":return e.toString();case"string":return Ef(e);case"date":if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString();case"object":return Tf(e,n,r,s);case"array":return $f(e,n,r,s);case"temporal/tz+uc":if(s){let o=e.timeZoneId,i=o.charCodeAt(0);if(i!==43&&i!==45&&(i!==85&&i!==71&&i!==90&&i!==69||o!=="UTC"&&o!=="UCT"&&o!=="Universal"&&o!=="Zulu"&&!o.startsWith("GMT")&&o!=="Greenwich"&&!o.startsWith("Etc/")))throw new TypeError("Temporal objects with an IANA timezone are not allowed in Temporal strict mode")}case"temporal/uc":if(s&&e.calendarId!=="iso8601")throw new TypeError("Temporal objects with a non-default calendar are not allowed in Temporal strict mode");return e.toString({calendarName:"never",timeZoneName:"never"});case"temporal/x":throw new TypeError("Unsupported "+e[Symbol.toStringTag])}}function Tf(e,t,n,r){let s=Object.keys(e);if(s.length===0)return"{}";let o="{ ";for(let i=0;i<s.length;i++){let a=s[i];i&&(o+=", "),o+=Wo(a)+" = "+gr(e[a],Dt(e[a]),t-1,n,r)}return o+" }"}function $f(e,t,n,r){if(e.length===0)return"[]";let s="[ ";for(let o=0;o<e.length;o++){if(o&&(s+=", "),e[o]===null||e[o]===void 0)throw new TypeError("arrays cannot contain null or undefined values");s+=gr(e[o],Dt(e[o]),t-1,n,r)}return s+" ]"}function Rf(e,t,n,r,s){if(n===0)throw new Error("Could not stringify the object: maximum object depth exceeded");let o="";for(let i=0;i<e.length;i++)o+=`${o&&`
9
9
  `}[[${t}]]
10
- `,o+=yr(0,e[i],t,n,r,s);return o}function yr(e,t,n,r,s,o){if(r===0)throw new Error("Could not stringify the object: maximum object depth exceeded");let i="",a="",l=Object.keys(t);for(let c=0;c<l.length;c++){let u=l[c];if(t[u]!==null&&t[u]!==void 0){let f=Dt(t[u]);if(f==="symbol"||f==="function")throw new TypeError(`cannot serialize values of type '${f}'`);let d=Wo(u);if(f==="array"&&wf(t[u]))a+=(a&&`
11
- `)+Ef(t[u],n?`${n}.${d}`:d,r-1,s,o);else if(f==="object"){let m=n?`${n}.${d}`:d;a+=(a&&`
12
- `)+yr(m,t[u],m,r-1,s,o)}else i+=d,i+=" = ",i+=gr(t[u],f,r,s,o),i+=`
10
+ `,o+=yr(0,e[i],t,n,r,s);return o}function yr(e,t,n,r,s,o){if(r===0)throw new Error("Could not stringify the object: maximum object depth exceeded");let i="",a="",l=Object.keys(t);for(let c=0;c<l.length;c++){let u=l[c];if(t[u]!==null&&t[u]!==void 0){let d=Dt(t[u]);if(d==="symbol"||d==="function")throw new TypeError(`cannot serialize values of type '${d}'`);let f=Wo(u);if(d==="array"&&Sf(t[u]))a+=(a&&`
11
+ `)+Rf(t[u],n?`${n}.${f}`:f,r-1,s,o);else if(d==="object"){let m=n?`${n}.${f}`:f;a+=(a&&`
12
+ `)+yr(m,t[u],m,r-1,s,o)}else i+=f,i+=" = ",i+=gr(t[u],d,r,s,o),i+=`
13
13
  `}}return e&&(i||!a)&&(i=i?`[${e}]
14
14
  ${i}`:`[${e}]`),i&&a?`${i}
15
15
  ${a}`:i||a}function kr(e,{maxDepth:t=1e3,numbersAsFloat:n=!1,strictTemporal:r=!1}={}){if(Dt(e)!=="object")throw new TypeError("stringify can only be called with an object");let s=yr(0,e,"",t,n,r);return s[s.length-1]!==`
16
16
  `?s+`
17
- `:s}var _f,Ko,qo=de(()=>{_f=/^[a-z0-9-_]+$/i,Ko=!!"".isWellFormed});var br={};Hs(br,{TomlDate:()=>We,TomlError:()=>v,default:()=>Tf,parse:()=>hr,stringify:()=>kr});var Tf,_r=de(()=>{Go();qo();cr();Ve();Tf={parse:hr,stringify:kr,TomlDate:We,TomlError:v}});var Ps=Cc(Ao(),1);import{readdir as $f,readFile as Rf}from"node:fs/promises";import{join as Xo,dirname as Af}from"node:path";import{fileURLToPath as Cf}from"node:url";var g={};Hs(g,{BRAND:()=>Ru,DIRTY:()=>Oe,EMPTY_PATH:()=>iu,INVALID:()=>x,NEVER:()=>mf,OK:()=>j,ParseStatus:()=>L,Schema:()=>A,ZodAny:()=>we,ZodArray:()=>ge,ZodBigInt:()=>Ne,ZodBoolean:()=>De,ZodBranded:()=>It,ZodCatch:()=>Ge,ZodDate:()=>Me,ZodDefault:()=>Je,ZodDiscriminatedUnion:()=>ln,ZodEffects:()=>ne,ZodEnum:()=>Ue,ZodError:()=>Z,ZodFirstPartyTypeKind:()=>T,ZodFunction:()=>un,ZodIntersection:()=>He,ZodIssueCode:()=>p,ZodLazy:()=>Be,ZodLiteral:()=>ze,ZodMap:()=>ct,ZodNaN:()=>ft,ZodNativeEnum:()=>Ze,ZodNever:()=>oe,ZodNull:()=>Le,ZodNullable:()=>ce,ZodNumber:()=>Pe,ZodObject:()=>J,ZodOptional:()=>ee,ZodParsedType:()=>k,ZodPipeline:()=>Ot,ZodPromise:()=>xe,ZodReadonly:()=>Ke,ZodRecord:()=>cn,ZodSchema:()=>A,ZodSet:()=>ut,ZodString:()=>_e,ZodSymbol:()=>at,ZodTransformer:()=>ne,ZodTuple:()=>le,ZodType:()=>A,ZodUndefined:()=>Fe,ZodUnion:()=>je,ZodUnknown:()=>he,ZodVoid:()=>lt,addIssueToContext:()=>y,any:()=>Fu,array:()=>Bu,bigint:()=>Ou,boolean:()=>Ho,coerce:()=>df,custom:()=>Fo,date:()=>Pu,datetimeRegex:()=>Do,defaultErrorMap:()=>me,discriminatedUnion:()=>Ju,effect:()=>rf,enum:()=>ef,function:()=>Yu,getErrorMap:()=>st,getParsedType:()=>ae,instanceof:()=>Cu,intersection:()=>Gu,isAborted:()=>on,isAsync:()=>ot,isDirty:()=>an,isValid:()=>be,late:()=>Au,lazy:()=>Xu,literal:()=>Qu,makeIssue:()=>Ct,map:()=>Wu,nan:()=>Iu,nativeEnum:()=>tf,never:()=>ju,null:()=>Mu,nullable:()=>of,number:()=>jo,object:()=>zu,objectUtil:()=>or,oboolean:()=>ff,onumber:()=>uf,optional:()=>sf,ostring:()=>cf,pipeline:()=>lf,preprocess:()=>af,promise:()=>nf,quotelessJson:()=>ru,record:()=>Vu,set:()=>qu,setErrorMap:()=>ou,strictObject:()=>Uu,string:()=>Lo,symbol:()=>Nu,transformer:()=>rf,tuple:()=>Ku,undefined:()=>Du,union:()=>Zu,unknown:()=>Lu,util:()=>C,void:()=>Hu});var C;(function(e){e.assertEqual=s=>{};function t(s){}e.assertIs=t;function n(s){throw new Error}e.assertNever=n,e.arrayToEnum=s=>{let o={};for(let i of s)o[i]=i;return o},e.getValidEnumValues=s=>{let o=e.objectKeys(s).filter(a=>typeof s[s[a]]!="number"),i={};for(let a of o)i[a]=s[a];return e.objectValues(i)},e.objectValues=s=>e.objectKeys(s).map(function(o){return s[o]}),e.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let o=[];for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&o.push(i);return o},e.find=(s,o)=>{for(let i of s)if(o(i))return i},e.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,o=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(s,o)=>typeof o=="bigint"?o.toString():o})(C||(C={}));var or;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(or||(or={}));var k=C.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ae=e=>{switch(typeof e){case"undefined":return k.undefined;case"string":return k.string;case"number":return Number.isNaN(e)?k.nan:k.number;case"boolean":return k.boolean;case"function":return k.function;case"bigint":return k.bigint;case"symbol":return k.symbol;case"object":return Array.isArray(e)?k.array:e===null?k.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?k.promise:typeof Map<"u"&&e instanceof Map?k.map:typeof Set<"u"&&e instanceof Set?k.set:typeof Date<"u"&&e instanceof Date?k.date:k.object;default:return k.unknown}};var p=C.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),ru=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),Z=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){let n=t||function(o){return o.message},r={_errors:[]},s=o=>{for(let i of o.issues)if(i.code==="invalid_union")i.unionErrors.map(s);else if(i.code==="invalid_return_type")s(i.returnTypeError);else if(i.code==="invalid_arguments")s(i.argumentsError);else if(i.path.length===0)r._errors.push(n(i));else{let a=r,l=0;for(;l<i.path.length;){let c=i.path[l];l===i.path.length-1?(a[c]=a[c]||{_errors:[]},a[c]._errors.push(n(i))):a[c]=a[c]||{_errors:[]},a=a[c],l++}}};return s(this),r}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,C.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){let n={},r=[];for(let s of this.issues)if(s.path.length>0){let o=s.path[0];n[o]=n[o]||[],n[o].push(t(s))}else r.push(t(s));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};Z.create=e=>new Z(e);var su=(e,t)=>{let n;switch(e.code){case p.invalid_type:e.received===k.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case p.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,C.jsonStringifyReplacer)}`;break;case p.unrecognized_keys:n=`Unrecognized key(s) in object: ${C.joinValues(e.keys,", ")}`;break;case p.invalid_union:n="Invalid input";break;case p.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${C.joinValues(e.options)}`;break;case p.invalid_enum_value:n=`Invalid enum value. Expected ${C.joinValues(e.options)}, received '${e.received}'`;break;case p.invalid_arguments:n="Invalid function arguments";break;case p.invalid_return_type:n="Invalid function return type";break;case p.invalid_date:n="Invalid date";break;case p.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:C.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case p.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case p.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case p.custom:n="Invalid input";break;case p.invalid_intersection_types:n="Intersection results could not be merged";break;case p.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case p.not_finite:n="Number must be finite";break;default:n=t.defaultError,C.assertNever(e)}return{message:n}},me=su;var Co=me;function ou(e){Co=e}function st(){return Co}var Ct=e=>{let{data:t,path:n,errorMaps:r,issueData:s}=e,o=[...n,...s.path||[]],i={...s,path:o};if(s.message!==void 0)return{...s,path:o,message:s.message};let a="",l=r.filter(c=>!!c).slice().reverse();for(let c of l)a=c(i,{data:t,defaultError:a}).message;return{...s,path:o,message:a}},iu=[];function y(e,t){let n=st(),r=Ct({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===me?void 0:me].filter(s=>!!s)});e.common.issues.push(r)}var L=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){let r=[];for(let s of n){if(s.status==="aborted")return x;s.status==="dirty"&&t.dirty(),r.push(s.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){let r=[];for(let s of n){let o=await s.key,i=await s.value;r.push({key:o,value:i})}return e.mergeObjectSync(t,r)}static mergeObjectSync(t,n){let r={};for(let s of n){let{key:o,value:i}=s;if(o.status==="aborted"||i.status==="aborted")return x;o.status==="dirty"&&t.dirty(),i.status==="dirty"&&t.dirty(),o.value!=="__proto__"&&(typeof i.value<"u"||s.alwaysSet)&&(r[o.value]=i.value)}return{status:t.value,value:r}}},x=Object.freeze({status:"aborted"}),Oe=e=>({status:"dirty",value:e}),j=e=>({status:"valid",value:e}),on=e=>e.status==="aborted",an=e=>e.status==="dirty",be=e=>e.status==="valid",ot=e=>typeof Promise<"u"&&e instanceof Promise;var _;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(_||(_={}));var te=class{constructor(t,n,r,s){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Io=(e,t)=>{if(be(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new Z(e.common.issues);return this._error=n,this._error}}};function $(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:s}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:s}:{errorMap:(i,a)=>{let{message:l}=e;return i.code==="invalid_enum_value"?{message:l??a.defaultError}:typeof a.data>"u"?{message:l??r??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:l??n??a.defaultError}},description:s}}var A=class{get description(){return this._def.description}_getType(t){return ae(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ae(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new L,ctx:{common:t.parent.common,data:t.data,parsedType:ae(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(ot(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){let n=this._parse(t);return Promise.resolve(n)}parse(t,n){let r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ae(t)},s=this._parseSync({data:t,path:r.path,parent:r});return Io(r,s)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ae(t)};if(!this["~standard"].async)try{let r=this._parseSync({data:t,path:[],parent:n});return be(r)?{value:r.value}:{issues:n.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then(r=>be(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(t,n){let r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ae(t)},s=this._parse({data:t,path:r.path,parent:r}),o=await(ot(s)?s:Promise.resolve(s));return Io(r,o)}refine(t,n){let r=s=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(s):n;return this._refinement((s,o)=>{let i=t(s),a=()=>o.addIssue({code:p.custom,...r(s)});return typeof Promise<"u"&&i instanceof Promise?i.then(l=>l?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,s)=>t(r)?!0:(s.addIssue(typeof n=="function"?n(r,s):n),!1))}_refinement(t){return new ne({schema:this,typeName:T.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return ee.create(this,this._def)}nullable(){return ce.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ge.create(this)}promise(){return xe.create(this,this._def)}or(t){return je.create([this,t],this._def)}and(t){return He.create(this,t,this._def)}transform(t){return new ne({...$(this._def),schema:this,typeName:T.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new Je({...$(this._def),innerType:this,defaultValue:n,typeName:T.ZodDefault})}brand(){return new It({typeName:T.ZodBranded,type:this,...$(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new Ge({...$(this._def),innerType:this,catchValue:n,typeName:T.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return Ot.create(this,t)}readonly(){return Ke.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},au=/^c[^\s-]{8,}$/i,lu=/^[0-9a-z]+$/,cu=/^[0-9A-HJKMNP-TV-Z]{26}$/i,uu=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,fu=/^[a-z0-9_-]{21}$/i,du=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,mu=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,pu=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,hu="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",ir,gu=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,yu=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ku=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,bu=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,_u=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,wu=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Po="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",xu=new RegExp(`^${Po}$`);function No(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function vu(e){return new RegExp(`^${No(e)}$`)}function Do(e){let t=`${Po}T${No(e)}`,n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function Su(e,t){return!!((t==="v4"||!t)&&gu.test(e)||(t==="v6"||!t)&&ku.test(e))}function Eu(e,t){if(!du.test(e))return!1;try{let[n]=e.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),s=JSON.parse(atob(r));return!(typeof s!="object"||s===null||"typ"in s&&s?.typ!=="JWT"||!s.alg||t&&s.alg!==t)}catch{return!1}}function Tu(e,t){return!!((t==="v4"||!t)&&yu.test(e)||(t==="v6"||!t)&&bu.test(e))}var _e=class e extends A{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==k.string){let o=this._getOrReturnCtx(t);return y(o,{code:p.invalid_type,expected:k.string,received:o.parsedType}),x}let r=new L,s;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(s=this._getOrReturnCtx(t,s),y(s,{code:p.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="max")t.data.length>o.value&&(s=this._getOrReturnCtx(t,s),y(s,{code:p.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){let i=t.data.length>o.value,a=t.data.length<o.value;(i||a)&&(s=this._getOrReturnCtx(t,s),i?y(s,{code:p.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&y(s,{code:p.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),r.dirty())}else if(o.kind==="email")pu.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"email",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="emoji")ir||(ir=new RegExp(hu,"u")),ir.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"emoji",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="uuid")uu.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"uuid",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="nanoid")fu.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"nanoid",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid")au.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"cuid",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid2")lu.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"cuid2",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="ulid")cu.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"ulid",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{s=this._getOrReturnCtx(t,s),y(s,{validation:"url",code:p.invalid_string,message:o.message}),r.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"regex",code:p.invalid_string,message:o.message}),r.dirty())):o.kind==="trim"?t.data=t.data.trim():o.kind==="includes"?t.data.includes(o.value,o.position)||(s=this._getOrReturnCtx(t,s),y(s,{code:p.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),r.dirty()):o.kind==="toLowerCase"?t.data=t.data.toLowerCase():o.kind==="toUpperCase"?t.data=t.data.toUpperCase():o.kind==="startsWith"?t.data.startsWith(o.value)||(s=this._getOrReturnCtx(t,s),y(s,{code:p.invalid_string,validation:{startsWith:o.value},message:o.message}),r.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(s=this._getOrReturnCtx(t,s),y(s,{code:p.invalid_string,validation:{endsWith:o.value},message:o.message}),r.dirty()):o.kind==="datetime"?Do(o).test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{code:p.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?xu.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{code:p.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?vu(o).test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{code:p.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?mu.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"duration",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?Su(t.data,o.version)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"ip",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?Eu(t.data,o.alg)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"jwt",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?Tu(t.data,o.version)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"cidr",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?_u.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"base64",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?wu.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"base64url",code:p.invalid_string,message:o.message}),r.dirty()):C.assertNever(o);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:p.invalid_string,..._.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",..._.errToObj(t)})}url(t){return this._addCheck({kind:"url",..._.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",..._.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",..._.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",..._.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",..._.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",..._.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",..._.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",..._.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",..._.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",..._.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",..._.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",..._.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,..._.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,..._.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",..._.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,..._.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,..._.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,..._.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,..._.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,..._.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,..._.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,..._.errToObj(n)})}nonempty(t){return this.min(1,_.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};_e.create=e=>new _e({checks:[],typeName:T.ZodString,coerce:e?.coerce??!1,...$(e)});function $u(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,s=n>r?n:r,o=Number.parseInt(e.toFixed(s).replace(".","")),i=Number.parseInt(t.toFixed(s).replace(".",""));return o%i/10**s}var Pe=class e extends A{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==k.number){let o=this._getOrReturnCtx(t);return y(o,{code:p.invalid_type,expected:k.number,received:o.parsedType}),x}let r,s=new L;for(let o of this._def.checks)o.kind==="int"?C.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),y(r,{code:p.invalid_type,expected:"integer",received:"float",message:o.message}),s.dirty()):o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(r=this._getOrReturnCtx(t,r),y(r,{code:p.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),y(r,{code:p.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?$u(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),y(r,{code:p.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),y(r,{code:p.not_finite,message:o.message}),s.dirty()):C.assertNever(o);return{status:s.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,_.toString(n))}gt(t,n){return this.setLimit("min",t,!1,_.toString(n))}lte(t,n){return this.setLimit("max",t,!0,_.toString(n))}lt(t,n){return this.setLimit("max",t,!1,_.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:_.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:_.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:_.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:_.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:_.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:_.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:_.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:_.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:_.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:_.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&C.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}};Pe.create=e=>new Pe({checks:[],typeName:T.ZodNumber,coerce:e?.coerce||!1,...$(e)});var Ne=class e extends A{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==k.bigint)return this._getInvalidInput(t);let r,s=new L;for(let o of this._def.checks)o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(r=this._getOrReturnCtx(t,r),y(r,{code:p.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),y(r,{code:p.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),y(r,{code:p.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):C.assertNever(o);return{status:s.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return y(n,{code:p.invalid_type,expected:k.bigint,received:n.parsedType}),x}gte(t,n){return this.setLimit("min",t,!0,_.toString(n))}gt(t,n){return this.setLimit("min",t,!1,_.toString(n))}lte(t,n){return this.setLimit("max",t,!0,_.toString(n))}lt(t,n){return this.setLimit("max",t,!1,_.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:_.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:_.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:_.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:_.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:_.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:_.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Ne.create=e=>new Ne({checks:[],typeName:T.ZodBigInt,coerce:e?.coerce??!1,...$(e)});var De=class extends A{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==k.boolean){let r=this._getOrReturnCtx(t);return y(r,{code:p.invalid_type,expected:k.boolean,received:r.parsedType}),x}return j(t.data)}};De.create=e=>new De({typeName:T.ZodBoolean,coerce:e?.coerce||!1,...$(e)});var Me=class e extends A{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==k.date){let o=this._getOrReturnCtx(t);return y(o,{code:p.invalid_type,expected:k.date,received:o.parsedType}),x}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return y(o,{code:p.invalid_date}),x}let r=new L,s;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(s=this._getOrReturnCtx(t,s),y(s,{code:p.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),r.dirty()):o.kind==="max"?t.data.getTime()>o.value&&(s=this._getOrReturnCtx(t,s),y(s,{code:p.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):C.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:_.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:_.toString(n)})}get minDate(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}};Me.create=e=>new Me({checks:[],coerce:e?.coerce||!1,typeName:T.ZodDate,...$(e)});var at=class extends A{_parse(t){if(this._getType(t)!==k.symbol){let r=this._getOrReturnCtx(t);return y(r,{code:p.invalid_type,expected:k.symbol,received:r.parsedType}),x}return j(t.data)}};at.create=e=>new at({typeName:T.ZodSymbol,...$(e)});var Fe=class extends A{_parse(t){if(this._getType(t)!==k.undefined){let r=this._getOrReturnCtx(t);return y(r,{code:p.invalid_type,expected:k.undefined,received:r.parsedType}),x}return j(t.data)}};Fe.create=e=>new Fe({typeName:T.ZodUndefined,...$(e)});var Le=class extends A{_parse(t){if(this._getType(t)!==k.null){let r=this._getOrReturnCtx(t);return y(r,{code:p.invalid_type,expected:k.null,received:r.parsedType}),x}return j(t.data)}};Le.create=e=>new Le({typeName:T.ZodNull,...$(e)});var we=class extends A{constructor(){super(...arguments),this._any=!0}_parse(t){return j(t.data)}};we.create=e=>new we({typeName:T.ZodAny,...$(e)});var he=class extends A{constructor(){super(...arguments),this._unknown=!0}_parse(t){return j(t.data)}};he.create=e=>new he({typeName:T.ZodUnknown,...$(e)});var oe=class extends A{_parse(t){let n=this._getOrReturnCtx(t);return y(n,{code:p.invalid_type,expected:k.never,received:n.parsedType}),x}};oe.create=e=>new oe({typeName:T.ZodNever,...$(e)});var lt=class extends A{_parse(t){if(this._getType(t)!==k.undefined){let r=this._getOrReturnCtx(t);return y(r,{code:p.invalid_type,expected:k.void,received:r.parsedType}),x}return j(t.data)}};lt.create=e=>new lt({typeName:T.ZodVoid,...$(e)});var ge=class e extends A{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==k.array)return y(n,{code:p.invalid_type,expected:k.array,received:n.parsedType}),x;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(i||a)&&(y(n,{code:i?p.too_big:p.too_small,minimum:a?s.exactLength.value:void 0,maximum:i?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),r.dirty())}if(s.minLength!==null&&n.data.length<s.minLength.value&&(y(n,{code:p.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),r.dirty()),s.maxLength!==null&&n.data.length>s.maxLength.value&&(y(n,{code:p.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((i,a)=>s.type._parseAsync(new te(n,i,n.path,a)))).then(i=>L.mergeArray(r,i));let o=[...n.data].map((i,a)=>s.type._parseSync(new te(n,i,n.path,a)));return L.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:_.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:_.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:_.toString(n)}})}nonempty(t){return this.min(1,t)}};ge.create=(e,t)=>new ge({type:e,minLength:null,maxLength:null,exactLength:null,typeName:T.ZodArray,...$(t)});function it(e){if(e instanceof J){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=ee.create(it(r))}return new J({...e._def,shape:()=>t})}else return e instanceof ge?new ge({...e._def,type:it(e.element)}):e instanceof ee?ee.create(it(e.unwrap())):e instanceof ce?ce.create(it(e.unwrap())):e instanceof le?le.create(e.items.map(t=>it(t))):e}var J=class e extends A{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),n=C.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==k.object){let c=this._getOrReturnCtx(t);return y(c,{code:p.invalid_type,expected:k.object,received:c.parsedType}),x}let{status:r,ctx:s}=this._processInputParams(t),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof oe&&this._def.unknownKeys==="strip"))for(let c in s.data)i.includes(c)||a.push(c);let l=[];for(let c of i){let u=o[c],f=s.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new te(s,f,s.path,c)),alwaysSet:c in s.data})}if(this._def.catchall instanceof oe){let c=this._def.unknownKeys;if(c==="passthrough")for(let u of a)l.push({key:{status:"valid",value:u},value:{status:"valid",value:s.data[u]}});else if(c==="strict")a.length>0&&(y(s,{code:p.unrecognized_keys,keys:a}),r.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let c=this._def.catchall;for(let u of a){let f=s.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new te(s,f,s.path,u)),alwaysSet:u in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let c=[];for(let u of l){let f=await u.key,d=await u.value;c.push({key:f,value:d,alwaysSet:u.alwaysSet})}return c}).then(c=>L.mergeObjectSync(r,c)):L.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return _.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{let s=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:_.errToObj(t).message??s}:{message:s}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:T.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let r of C.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let r of C.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return it(this)}partial(t){let n={};for(let r of C.objectKeys(this.shape)){let s=this.shape[r];t&&!t[r]?n[r]=s:n[r]=s.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let r of C.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof ee;)o=o._def.innerType;n[r]=o}return new e({...this._def,shape:()=>n})}keyof(){return Mo(C.objectKeys(this.shape))}};J.create=(e,t)=>new J({shape:()=>e,unknownKeys:"strip",catchall:oe.create(),typeName:T.ZodObject,...$(t)});J.strictCreate=(e,t)=>new J({shape:()=>e,unknownKeys:"strict",catchall:oe.create(),typeName:T.ZodObject,...$(t)});J.lazycreate=(e,t)=>new J({shape:e,unknownKeys:"strip",catchall:oe.create(),typeName:T.ZodObject,...$(t)});var je=class extends A{_parse(t){let{ctx:n}=this._processInputParams(t),r=this._def.options;function s(o){for(let a of o)if(a.result.status==="valid")return a.result;for(let a of o)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;let i=o.map(a=>new Z(a.ctx.common.issues));return y(n,{code:p.invalid_union,unionErrors:i}),x}if(n.common.async)return Promise.all(r.map(async o=>{let i={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:i}),ctx:i}})).then(s);{let o,i=[];for(let l of r){let c={...n,common:{...n.common,issues:[]},parent:null},u=l._parseSync({data:n.data,path:n.path,parent:c});if(u.status==="valid")return u;u.status==="dirty"&&!o&&(o={result:u,ctx:c}),c.common.issues.length&&i.push(c.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;let a=i.map(l=>new Z(l));return y(n,{code:p.invalid_union,unionErrors:a}),x}}get options(){return this._def.options}};je.create=(e,t)=>new je({options:e,typeName:T.ZodUnion,...$(t)});var pe=e=>e instanceof Be?pe(e.schema):e instanceof ne?pe(e.innerType()):e instanceof ze?[e.value]:e instanceof Ue?e.options:e instanceof Ze?C.objectValues(e.enum):e instanceof Je?pe(e._def.innerType):e instanceof Fe?[void 0]:e instanceof Le?[null]:e instanceof ee?[void 0,...pe(e.unwrap())]:e instanceof ce?[null,...pe(e.unwrap())]:e instanceof It||e instanceof Ke?pe(e.unwrap()):e instanceof Ge?pe(e._def.innerType):[],ln=class e extends A{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==k.object)return y(n,{code:p.invalid_type,expected:k.object,received:n.parsedType}),x;let r=this.discriminator,s=n.data[r],o=this.optionsMap.get(s);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(y(n,{code:p.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),x)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let s=new Map;for(let o of n){let i=pe(o.shape[t]);if(!i.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let a of i){if(s.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);s.set(a,o)}}return new e({typeName:T.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...$(r)})}};function ar(e,t){let n=ae(e),r=ae(t);if(e===t)return{valid:!0,data:e};if(n===k.object&&r===k.object){let s=C.objectKeys(t),o=C.objectKeys(e).filter(a=>s.indexOf(a)!==-1),i={...e,...t};for(let a of o){let l=ar(e[a],t[a]);if(!l.valid)return{valid:!1};i[a]=l.data}return{valid:!0,data:i}}else if(n===k.array&&r===k.array){if(e.length!==t.length)return{valid:!1};let s=[];for(let o=0;o<e.length;o++){let i=e[o],a=t[o],l=ar(i,a);if(!l.valid)return{valid:!1};s.push(l.data)}return{valid:!0,data:s}}else return n===k.date&&r===k.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var He=class extends A{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(o,i)=>{if(on(o)||on(i))return x;let a=ar(o.value,i.value);return a.valid?((an(o)||an(i))&&n.dirty(),{status:n.value,value:a.data}):(y(r,{code:p.invalid_intersection_types}),x)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,i])=>s(o,i)):s(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};He.create=(e,t,n)=>new He({left:e,right:t,typeName:T.ZodIntersection,...$(n)});var le=class e extends A{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==k.array)return y(r,{code:p.invalid_type,expected:k.array,received:r.parsedType}),x;if(r.data.length<this._def.items.length)return y(r,{code:p.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),x;!this._def.rest&&r.data.length>this._def.items.length&&(y(r,{code:p.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let o=[...r.data].map((i,a)=>{let l=this._def.items[a]||this._def.rest;return l?l._parse(new te(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(o).then(i=>L.mergeArray(n,i)):L.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};le.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new le({items:e,typeName:T.ZodTuple,rest:null,...$(t)})};var cn=class e extends A{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==k.object)return y(r,{code:p.invalid_type,expected:k.object,received:r.parsedType}),x;let s=[],o=this._def.keyType,i=this._def.valueType;for(let a in r.data)s.push({key:o._parse(new te(r,a,r.path,a)),value:i._parse(new te(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?L.mergeObjectAsync(n,s):L.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof A?new e({keyType:t,valueType:n,typeName:T.ZodRecord,...$(r)}):new e({keyType:_e.create(),valueType:t,typeName:T.ZodRecord,...$(n)})}},ct=class extends A{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==k.map)return y(r,{code:p.invalid_type,expected:k.map,received:r.parsedType}),x;let s=this._def.keyType,o=this._def.valueType,i=[...r.data.entries()].map(([a,l],c)=>({key:s._parse(new te(r,a,r.path,[c,"key"])),value:o._parse(new te(r,l,r.path,[c,"value"]))}));if(r.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let l of i){let c=await l.key,u=await l.value;if(c.status==="aborted"||u.status==="aborted")return x;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}})}else{let a=new Map;for(let l of i){let c=l.key,u=l.value;if(c.status==="aborted"||u.status==="aborted")return x;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}}}};ct.create=(e,t,n)=>new ct({valueType:t,keyType:e,typeName:T.ZodMap,...$(n)});var ut=class e extends A{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==k.set)return y(r,{code:p.invalid_type,expected:k.set,received:r.parsedType}),x;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(y(r,{code:p.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),n.dirty()),s.maxSize!==null&&r.data.size>s.maxSize.value&&(y(r,{code:p.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),n.dirty());let o=this._def.valueType;function i(l){let c=new Set;for(let u of l){if(u.status==="aborted")return x;u.status==="dirty"&&n.dirty(),c.add(u.value)}return{status:n.value,value:c}}let a=[...r.data.values()].map((l,c)=>o._parse(new te(r,l,r.path,c)));return r.common.async?Promise.all(a).then(l=>i(l)):i(a)}min(t,n){return new e({...this._def,minSize:{value:t,message:_.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:_.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};ut.create=(e,t)=>new ut({valueType:e,minSize:null,maxSize:null,typeName:T.ZodSet,...$(t)});var un=class e extends A{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==k.function)return y(n,{code:p.invalid_type,expected:k.function,received:n.parsedType}),x;function r(a,l){return Ct({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,st(),me].filter(c=>!!c),issueData:{code:p.invalid_arguments,argumentsError:l}})}function s(a,l){return Ct({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,st(),me].filter(c=>!!c),issueData:{code:p.invalid_return_type,returnTypeError:l}})}let o={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof xe){let a=this;return j(async function(...l){let c=new Z([]),u=await a._def.args.parseAsync(l,o).catch(m=>{throw c.addIssue(r(l,m)),c}),f=await Reflect.apply(i,this,u);return await a._def.returns._def.type.parseAsync(f,o).catch(m=>{throw c.addIssue(s(f,m)),c})})}else{let a=this;return j(function(...l){let c=a._def.args.safeParse(l,o);if(!c.success)throw new Z([r(l,c.error)]);let u=Reflect.apply(i,this,c.data),f=a._def.returns.safeParse(u,o);if(!f.success)throw new Z([s(u,f.error)]);return f.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:le.create(t).rest(he.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new e({args:t||le.create([]).rest(he.create()),returns:n||he.create(),typeName:T.ZodFunction,...$(r)})}},Be=class extends A{get schema(){return this._def.getter()}_parse(t){let{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};Be.create=(e,t)=>new Be({getter:e,typeName:T.ZodLazy,...$(t)});var ze=class extends A{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return y(n,{received:n.data,code:p.invalid_literal,expected:this._def.value}),x}return{status:"valid",value:t.data}}get value(){return this._def.value}};ze.create=(e,t)=>new ze({value:e,typeName:T.ZodLiteral,...$(t)});function Mo(e,t){return new Ue({values:e,typeName:T.ZodEnum,...$(t)})}var Ue=class e extends A{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return y(n,{expected:C.joinValues(r),received:n.parsedType,code:p.invalid_type}),x}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),r=this._def.values;return y(n,{received:n.data,code:p.invalid_enum_value,options:r}),x}return j(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}};Ue.create=Mo;var Ze=class extends A{_parse(t){let n=C.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==k.string&&r.parsedType!==k.number){let s=C.objectValues(n);return y(r,{expected:C.joinValues(s),received:r.parsedType,code:p.invalid_type}),x}if(this._cache||(this._cache=new Set(C.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=C.objectValues(n);return y(r,{received:r.data,code:p.invalid_enum_value,options:s}),x}return j(t.data)}get enum(){return this._def.values}};Ze.create=(e,t)=>new Ze({values:e,typeName:T.ZodNativeEnum,...$(t)});var xe=class extends A{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==k.promise&&n.common.async===!1)return y(n,{code:p.invalid_type,expected:k.promise,received:n.parsedType}),x;let r=n.parsedType===k.promise?n.data:Promise.resolve(n.data);return j(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};xe.create=(e,t)=>new xe({type:e,typeName:T.ZodPromise,...$(t)});var ne=class extends A{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===T.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=this._def.effect||null,o={addIssue:i=>{y(r,i),i.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),s.type==="preprocess"){let i=s.transform(r.data,o);if(r.common.async)return Promise.resolve(i).then(async a=>{if(n.value==="aborted")return x;let l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?x:l.status==="dirty"?Oe(l.value):n.value==="dirty"?Oe(l.value):l});{if(n.value==="aborted")return x;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?x:a.status==="dirty"?Oe(a.value):n.value==="dirty"?Oe(a.value):a}}if(s.type==="refinement"){let i=a=>{let l=s.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?x:(a.status==="dirty"&&n.dirty(),i(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?x:(a.status==="dirty"&&n.dirty(),i(a.value).then(()=>({status:n.value,value:a.value}))))}if(s.type==="transform")if(r.common.async===!1){let i=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!be(i))return x;let a=s.transform(i.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(i=>be(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:n.value,value:a})):x);C.assertNever(s)}};ne.create=(e,t,n)=>new ne({schema:e,typeName:T.ZodEffects,effect:t,...$(n)});ne.createWithPreprocess=(e,t,n)=>new ne({schema:t,effect:{type:"preprocess",transform:e},typeName:T.ZodEffects,...$(n)});var ee=class extends A{_parse(t){return this._getType(t)===k.undefined?j(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};ee.create=(e,t)=>new ee({innerType:e,typeName:T.ZodOptional,...$(t)});var ce=class extends A{_parse(t){return this._getType(t)===k.null?j(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};ce.create=(e,t)=>new ce({innerType:e,typeName:T.ZodNullable,...$(t)});var Je=class extends A{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===k.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};Je.create=(e,t)=>new Je({innerType:e,typeName:T.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...$(t)});var Ge=class extends A{_parse(t){let{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},s=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return ot(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Z(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Z(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};Ge.create=(e,t)=>new Ge({innerType:e,typeName:T.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...$(t)});var ft=class extends A{_parse(t){if(this._getType(t)!==k.nan){let r=this._getOrReturnCtx(t);return y(r,{code:p.invalid_type,expected:k.nan,received:r.parsedType}),x}return{status:"valid",value:t.data}}};ft.create=e=>new ft({typeName:T.ZodNaN,...$(e)});var Ru=Symbol("zod_brand"),It=class extends A{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},Ot=class e extends A{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{let o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?x:o.status==="dirty"?(n.dirty(),Oe(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?x:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(t,n){return new e({in:t,out:n,typeName:T.ZodPipeline})}},Ke=class extends A{_parse(t){let n=this._def.innerType._parse(t),r=s=>(be(s)&&(s.value=Object.freeze(s.value)),s);return ot(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};Ke.create=(e,t)=>new Ke({innerType:e,typeName:T.ZodReadonly,...$(t)});function Oo(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function Fo(e,t={},n){return e?we.create().superRefine((r,s)=>{let o=e(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=Oo(t,r),l=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:l})}});if(!o){let i=Oo(t,r),a=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:a})}}):we.create()}var Au={object:J.lazycreate},T;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(T||(T={}));var Cu=(e,t={message:`Input not instance of ${e.name}`})=>Fo(n=>n instanceof e,t),Lo=_e.create,jo=Pe.create,Iu=ft.create,Ou=Ne.create,Ho=De.create,Pu=Me.create,Nu=at.create,Du=Fe.create,Mu=Le.create,Fu=we.create,Lu=he.create,ju=oe.create,Hu=lt.create,Bu=ge.create,zu=J.create,Uu=J.strictCreate,Zu=je.create,Ju=ln.create,Gu=He.create,Ku=le.create,Vu=cn.create,Wu=ct.create,qu=ut.create,Yu=un.create,Xu=Be.create,Qu=ze.create,ef=Ue.create,tf=Ze.create,nf=xe.create,rf=ne.create,sf=ee.create,of=ce.create,af=ne.createWithPreprocess,lf=Ot.create,cf=()=>Lo().optional(),uf=()=>jo().optional(),ff=()=>Ho().optional(),df={string:(e=>_e.create({...e,coerce:!0})),number:(e=>Pe.create({...e,coerce:!0})),boolean:(e=>De.create({...e,coerce:!0})),bigint:(e=>Ne.create({...e,coerce:!0})),date:(e=>Me.create({...e,coerce:!0}))};var mf=x;var ve=g.object({slug:g.string().min(1).max(64),description:g.string().max(255).optional(),match_command:g.string().min(1),priority:g.number().int().default(50),strip_ansi:g.boolean().default(!1),strip_lines_matching:g.array(g.string()).default([]),keep_failures:g.boolean().default(!1),strip_on_failure:g.boolean().default(!1),fold_passing:g.boolean().default(!1),fold_passing_threshold:g.number().int().positive().max(1e3).optional(),mask_abs_paths:g.boolean().default(!1),preserve_exact:g.boolean().default(!1),truncate_lines_at:g.number().int().positive().max(1e4).optional(),max_lines:g.number().int().positive().max(1e5).optional(),scale_with_level:g.boolean().default(!0),transform:g.string().max(64).optional(),on_empty:g.string().max(255).optional()});var If=Af(Cf(import.meta.url)),Of=process.env.TOKMIZER_FILTERS_DIR||Xo(If,"..","..","filters"),dt=null,Yo=!1;function Pf(){return process.env.TOKMIZER_DEV==="1"||process.env.TOKMIZER_DEV==="true"}async function Qo(){return dt||(Pf()?(dt=await Nf(Of),dt):(!Yo&&process.env.TOKMIZER_DEBUG==="1"&&(process.stderr.write(`tokmizer: disk loader disabled (set TOKMIZER_DEV=1 to re-enable for local dev).
18
- `),Yo=!0),dt=new Map,dt))}async function Nf(e){let t=new Map,n,r;try{n=(await Promise.resolve().then(()=>(_r(),br))).parse,r=(await $f(e)).filter(s=>s.endsWith(".toml"))}catch{return t}for(let s of r){let o=await Rf(Xo(e,s),"utf8"),a=n(o).filters;if(a)for(let[l,c]of Object.entries(a)){let u=ve.parse({slug:l,...c});t.set(l,{...u,matchRegex:new RegExp(u.match_command)})}}return t}import{createHash as Df}from"node:crypto";var Mf=g.enum(["normal","compact","minimal"]),Ff=g.enum(["off","light","balanced","max"]),Mt=g.object({enabled:g.boolean().default(!0),telemetryOptIn:g.boolean().default(!0),outputVerbosity:Mf.default("compact"),reducer:Ff.default("off"),filters:g.object({enableAll:g.boolean().default(!0),disabled:g.array(g.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),ei=new Map;function re(e){let t=ei.get(e);return t||(t=Df("sha256").update(`tkr:${e}`).digest("hex").slice(0,16),ei.set(e,t)),t}var ti=new WeakMap,Lf=256;function mt(e,t,n,r=t){let s=ti.get(r);s||(s=new Map,ti.set(r,s));let o=JSON.stringify([e,n?[...n].sort():null]),i=s.get(o);if(i!==void 0)return i;let a=null;for(let l of t)n&&!n.has(re(l.slug))||l.matchRegex.test(e)&&(!a||l.priority>a.priority)&&(a=l);if(s.size>=Lf){let l=s.keys().next().value;l&&s.delete(l)}return s.set(o,a),a}import{readdir as Fd,readFile as Ci,writeFile as a_,mkdir as l_,rename as c_}from"node:fs/promises";import{readdirSync as Ld,statSync as $i}from"node:fs";import{createHash as jd}from"node:crypto";import{basename as m_,join as _n}from"node:path";var jf=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,Hf=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g;function ue(e){return e.replace(jf,"").replace(Hf,"")}function ni(e,t){return t.length===0?e:e.filter(n=>!t.some(r=>r.test(n)))}function ri(e,t){return e.map(n=>{if(n.length<=t)return n;let r=n.charCodeAt(t-1),s=n.charCodeAt(t),o=r>=55296&&r<=56319&&s>=56320&&s<=57343?t-1:t;return`${n.slice(0,o)}\u2026`})}function pt(e){return`\u2026 (${e} more lines omitted)`}function si(e,t){if(e.length<=t)return{kept:e,dropped:[]};let n=Math.ceil(t*.7),r=t-n,s=e.slice(n,e.length-r);return{kept:[...e.slice(0,n),pt(s.length),...e.slice(e.length-r)],dropped:s}}var Bf=/^\s*(?:[✓✔√]|ok )/,Se=/✕|✗|×|\bFAIL\b|\bERROR\b|\bFATAL\b|\bError|\berror|Expected|Received|\bfailed\b|^\s*Tests?:|^\s*Test Suites?:/;function oi(e,t){let n=t>0?t:5,r=[],s=0,o=a=>{s>=n?r.push(`\u2026 ${s} passing checks folded \u2026`):r.push(...a)},i=[];for(let a of e)Bf.test(a)&&!Se.test(a)?(i.push(a),s+=1):(o(i),i=[],s=0,r.push(a));return o(i),r}var zf=/(?:\/[\w.@+-]+){3,}/g;function ii(e){return e.map(t=>t.replace(zf,n=>{let r=n.split("/").filter(Boolean);return r.length<=2?n:`\u2026/${r.slice(-2).join("/")}`}))}var Uf=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,Zf=/\{\s*$/;var Jf=/^\s*(?:(?:public|private|protected|static|async|get|set|readonly|override)\s+)*([\w$]+)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\{\s*$/,Gf=new Set(["if","for","while","switch","catch","do","with","return","else","function","await","yield"]);function Kf(e){let t=Jf.exec(e);return!t||Gf.has(t[1])?!1:!/=>|\bfunction\b/.test(t[2])}var Vf=/^\s*(?:if|for|while|switch|try|do)\b[^{}]*\{\s*$/;function Wf(e,t,n){let r=t;for(;r<e.length;){if(e[r]==="\\"){r+=2;continue}if(e[r]===n)return!0;r+=1}return!1}function qf(e,t){let n=0,r=null,s=0;for(;s<e.length;){let o=e[s];if(t.inBlockComment){if(o==="*"&&e[s+1]==="/"){t.inBlockComment=!1,s+=2;continue}s+=1;continue}if(t.inTemplate){if(o==="\\"){s+=2;continue}o==="`"&&(t.inTemplate=!1),s+=1;continue}if(r){if(o==="\\"){s+=2;continue}o===r&&(r=null),s+=1;continue}if(o==="/"&&e[s+1]==="/")break;if(o==="/"&&e[s+1]==="*"){t.inBlockComment=!0,s+=2;continue}if(o==="`"){t.inTemplate=!0,s+=1;continue}if(o==="'"||o==='"'){let i=s>0?e[s-1]:"";!(o==="'"&&(i==="<"||i==="&"))&&Wf(e,s+1,o)&&(r=o),s+=1;continue}o==="{"||o==="("||o==="["?n+=1:(o==="}"||o===")"||o==="]")&&(n-=1),s+=1}return n}var ai=/^\s*… \d+ lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/,Yf=/^\s*… (\d+) lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/;function Xf(e,t,n){let r=n==null?"":` (${n}-${n+t-1}): Read offset=${n} limit=${t} before editing`;return`${e}\u2026 ${t} ${t===1?"line":"lines"} folded${r} \u2026`}function wr(e){let t=new Array(e.length).fill(!1);for(let n=0;n<e.length;n+=1){let r=Yf.exec(e[n]);if(!r)continue;let s=Number(r[1])-1,o=n+1;for(;s>0&&o<e.length&&e[o]==="";)t[o]=!0,s-=1,o+=1;n=o-1}return t}function Ft(e,t=3,n=!1){let r=[],s=0;for(;s<e.length;){let o=e[s];if(Uf.test(o)&&Zf.test(o)||Kf(o)||Vf.test(o)){let i={inBlockComment:!1,inTemplate:!1},a=0,l=s,c=!1;for(;l<e.length&&l-s<200;)if(a+=qf(e[l],i),l+=1,a<=0&&!i.inTemplate&&!i.inBlockComment){c=!0;break}let u=l-s;if(c&&u<t){r.push(...e.slice(s,l)),s=l;continue}if(c&&u>=3){let f=u-2,d=/^\s*/.exec(e[s+1]??"")?.[0]??" ";r.push(o),r.push(Xf(d,f,n?s+2:null));for(let m=0;m<f-1;m++)r.push("");r.push(e[l-1]),s=l;continue}}r.push(o),s+=1}return r}var Qf=/\b(?:function|class|interface|import\s+|export\s+|def\s+|fn\s+|impl\s+|package\s+|namespace\s+|using\s+|#include|=>\s*\{|=\s*function)/;function pn(e){let t=e.slice(0,4096);return!(!Qf.test(t)||t.split(`
19
- `).length<6)}var fi=/^\s*(?:\d{4}-\d{2}-\d{2}[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?Z?|\d{2}:\d{2}:\d{2}(?:\.\d+)?)\s*/,di=/^\s*(?:\[(?:DEBUG|TRACE|INFO|VERBOSE)\]|(?:DEBUG|TRACE|INFO|VERBOSE)(?!\s*:))(?=\s|:|$)(?!\s*[+\-*\/%&|^?]*=)/,mi=new RegExp(Se.source,"i"),pi=/\bWARN(?:ING)?\b/i;function hi(e){let t=[],n=0,r=()=>{n>0&&t.push(`\u2026 ${n} verbose log line${n===1?"":"s"} dropped \u2026`),n=0};for(let s of e){if(di.test(s.replace(fi,""))&&!mi.test(s)&&!pi.test(s)){n+=1;continue}r(),t.push(s)}return r(),t}var ed=/^(?:DEBUG|INFO):[\w.-]+:/,td=/Error|Exception|Traceback|panic|fail|FAIL|Fail|SEVERE|CRITICAL/,nd=8,li=1,ci=2;function ui(e){if(e.trim()===""||/^\s/.test(e)||mi.test(e)||pi.test(e)||td.test(e))return null;let t=e.replace(fi,"");return di.test(t)||ed.test(t)?"\0verbose":e.replace(/\d+/g,"#")}function gi(e){let t=[],n=0;for(;n<e.length;){let r=ui(e[n]),s=n+1;if(r!==null)for(;s<e.length&&ui(e[s])===r;)s+=1;let o=s-n;r===null||o<nd?t.push(...e.slice(n,s)):(t.push(...e.slice(n,n+li)),t.push(`\u2026 ${o-li-ci} similar log lines dropped \u2026`),t.push(...e.slice(s-ci,s))),n=s}return t}function hn(e){if(e.length===0)return e;let t=[],n=1,r=e[0];for(let s=1;s<e.length;s++){if(e[s]===r){n+=1;continue}t.push(n>1?`${r} \xD7${n}`:r),r=e[s],n=1}return t.push(n>1?`${r} \xD7${n}`:r),t}function yi(e){let t=[],n=0;for(let r of e){if(r.trim()===""){n+=1;continue}n>0&&t.push(""),n=0,t.push(r)}return t}var ki=new Map;function G(e,t){ki.set(e,t)}function bi(e){return ki.get(e)}var rd=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/,sd=/^[./~][^\s]*:$/,od=String.raw`(?:[^\s\d]{3,}\s+\d{1,2}|\d{1,2}\s+[^\s\d]{3,})\s+(?:\d{1,2}:\d{2}|\d{4})|\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:\s+[+-]\d{4})?`,id=new RegExp(String.raw`^\S+\s+\d+\s+\S+\s+(?:\S+\s+)?(\d+(?:[.,]\d+)?[KMGTPkmgtp]?i?B?)\s+(?:${od})\s+(.+)$`),ad={k:1,m:2,g:3,t:4,p:5},xr=1e3;function ld(e){if(e<1024)return String(e);let t=["K","M","G","T"],n=e/1024,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r+=1;return`${n.toFixed(1)}${t[r]}`}function cd(e){let t=/^(\d+(?:[.,]\d+)?)([KMGTPkmgtp])?/.exec(e),n=t[2]?ad[t[2].toLowerCase()]:0;return Number(t[1].replace(",","."))*1024**n}function ud(e){let t=id.exec(e);if(!t)return null;let n=t[2].trim();if(n===""||n==="."||n==="..")return null;let r=t[1],s=/^\d+$/.test(r)?ld(Number(r)):r,o=e.charCodeAt(0)===100;return{name:n,size:s,sizeKey:cd(r),isDir:o}}function fd(e){if(e.length<3)return null;let t=new Map;for(let s of e){let o=s.name.lastIndexOf(".");if(o<=0)continue;let i=s.name.slice(o);t.set(i,(t.get(i)??0)+1)}let n=null,r=0;for(let[s,o]of t)o>r&&(r=o,n=s);return n&&r>=Math.ceil(e.length/2)?`${r} ${n}`:null}function dd(e){let t=[],n=[],r=!1;for(let f of e){if(f.trim()===""||/^total\s+\d+/.test(f))continue;if(sd.test(f.trim())||!rd.test(f))return e;let d=ud(f);if(!d){if(/\s\.\.?$/.test(f))continue;return e}r=!0,(d.isDir?t:n).push(d)}if(!r)return e;let s=(f,d)=>f.name.localeCompare(d.name);t.sort(s),n.sort((f,d)=>d.sizeKey-f.sizeKey||s(f,d));let o=[...t,...n],i=[];for(let f of o){let d=f.isDir?`${f.name}/`:f.name;i.push(f.isDir?d:`${d} ${f.size}`)}if(i.length>xr){let f=i.length-xr;i=[...i.slice(0,xr),`\u2026 ${f} more lines omitted`]}let a=n.length===1?"file":"files",l=t.length===1?"dir":"dirs",c=fd(n),u=`${n.length} ${a}, ${t.length} ${l}`+(c?` (${c})`:"");return i.push(u),i}G("smart-ls",dd);G("smart-read",e=>Ft(e));var _i=1e3;function md(e){let t=e[0].split("/");for(let n of e.slice(1)){let r=n.split("/"),s=0;for(;s<t.length&&s<r.length&&t[s]===r[s];)s+=1;if(t=t.slice(0,s),t.length===0)break}return t.join("/")}function pd(e){if(e.length<2||e.some(s=>s.startsWith('"')))return"";let t=e[0];for(let s of e.slice(1)){let o=0;for(;o<t.length&&o<s.length&&t[t.length-1-o]===s[s.length-1-o];)o+=1;if(t=t.slice(t.length-o),!t)return""}let n=t.indexOf("."),r=n<0?"":t.slice(n);return r.length>=3&&e.every(s=>s.length>r.length)?r:""}function hd(e){let t=e.filter(c=>c.trim()!=="");if(t.length===0||t.filter(c=>!/\s/.test(c.trim())).length<t.length*.6)return e;let r=new Map,s=[],o=0;for(let c of t){let u=c.trim();if(u.startsWith("find:")){s.push(u);continue}let f=u.replace(/^\.\//,"").replace(/\/+$/,""),d=f.lastIndexOf("/"),m=d>=0?f.slice(0,d):"",h=d>=0?f.slice(d+1):f;if(!h)continue;let w=r.get(m)??[];w.push(/\s/.test(h)?`"${h}"`:h),r.set(m,w),o+=1}if(o===0)return e;let i=[...r.keys()].sort(),a=i.every(c=>c!=="")?md(i):"",l=[`${o}F ${i.length}D${a?` in ${a}/`:""}:`];for(let c of i){let u=a?c.slice(a.length).replace(/^\//,""):c,f=r.get(c),d=pd(f),m=d?f.map(h=>h.slice(0,-d.length)):f;l.push(`${u?`${u}/`:"./"} (${f.length}${d?`, *${d}`:""}): ${m.join(" ")}`)}if(l.length+s.length>_i){let c=Math.max(0,_i-s.length),u=l.length-c;return[...l.slice(0,c),`\u2026 ${u} more lines omitted`,...s]}return[...l,...s]}G("smart-find",hd);var vr=1e3,wi=200,gd=60,yd=190,kd=/^([^\s:]+):(\d+):(.*)$/,bd=/^([^:]+?)-(\d+)-(.*)$/,_d=/^([^\s:]+):(.*)$/,xi=/(?:^|\/)(?:__tests__|tests?|spec|fixtures?|__mocks__|__snapshots__)\/|\.(?:test|spec)\.[^/]+$/i;function vi(e){let t=e.trim();return t.length>wi?`${t.slice(0,wi)}\u2026`:t}function wd(e){let t=[],n="";for(let r of e){let s=n?`${n}, ${r}`:r;s.length>=yd&&n?(t.push(`${n},`),n=r):n=s}return n&&t.push(n),t}function xd(e){let t=null;for(let n of e){let r=n.split("/").slice(0,-1);if(t===null){t=r;continue}let s=0;for(;s<t.length&&s<r.length&&t[s]===r[s];)s+=1;if(t=t.slice(0,s),t.length===0)return""}return t?t.join("/"):""}function vd(e){let t=e.filter(m=>m.trim()!=="");if(t.length===0)return e;let n=new Map,r=new Map,s=null,o=0,i=0;for(let m of t){if(m==="--"){s&&n.get(s).push({separator:!0});continue}if(/^[A-Za-z]:[\\/]/.test(m))return e;let h=kd.exec(m),w=bd.exec(m);if(h&&w)return e;let b=h||w?null:_d.exec(m),R=(h??w??b)?.[1];if(!R)return e;let E=h?{line:h[2],content:h[3],context:!1}:w?{line:w[2],content:w[3],context:!0}:{line:"",content:b[2],context:!1},I=n.get(R)??[];I.push(E),n.set(R,I),E.context||(o+=1,r.set(R,(r.get(R)??0)+1)),i+=1,s=R}if(n.size===i)return e;let a=[...n.keys()].sort((m,h)=>{let w=xi.test(m)?1:0,b=xi.test(h)?1:0;return w-b||(m<h?-1:m>h?1:0)}),l=a.length>1?xd(a):"",c=m=>l?m.slice(l.length+1):m,u=[];for(let m of a){u.push(`${c(m)} (${r.get(m)??0}):`);for(let h of n.get(m))"separator"in h?u.push(" --"):h.line?u.push(` ${h.line}${h.context?"-":":"} ${vi(h.content)}`):u.push(` ${vi(h.content)}`)}let f=a.length>1&&u.length>gd?wd(a.map(m=>`${c(m)} (${r.get(m)??0})`)):[],d=[`${o}m ${a.length}f${l?` in ${l}/`:""}:`,...f,"",...u];if(d.length>vr){let m=d.length-vr;return[...d.slice(0,vr),`\u2026 ${m} more lines omitted`]}return d}G("smart-grep",vd);var Si=/^(?:([|\\/ ._-]*\*[|\\/* ._-]* ))?commit [0-9a-f]{7,40}\b/,Sd=/^[|\\/* ._-]*$/,Ed=/^ {4}/,Td=2;function $d(e){if(!e.some(c=>Si.test(c)))return e;let t=[],n=0,r=0,s=0,o="",i=!1,a=!1,l=()=>{r>0&&t.push(`${o} \u2026 ${r} ${r===1?"line":"lines"} folded \u2026`),r=0};for(let c of e){let u=c.slice(0,s),f=Sd.test(u),d=f?c.slice(s):c,m=Ed.test(d),h=i&&m?null:Si.exec(c);if(h){l(),n=0,s=h[1]?.length??0,i=!0,a=!1,t.push(c);continue}if(/^diff --(?:git|cc|combined) /.test(d)&&(a=!0),m&&!a&&!(s>0&&d.trim().length===0)){n+=1,n<=Td?t.push(c):(r+=1,o=f?u:"");continue}l(),t.push(c)}return l(),t}G("smart-log",$d);var Rd=/^[\s=]+$/,Ad=/^\s*=+\s+(.*?)\s+=+\s*$/,Cd=512;G("strip-banners",e=>{let t=[];for(let n of e){if(Rd.test(n))continue;let r=n.length<=Cd?Ad.exec(n):null;t.push(r?r[1]:n)}return t});function Id(e){let t=[],n=0,r=0;for(;r<e.length;){let s=e[r].replace(/\s+$/,"");if(s===""){n+=1,r+=1,n<=1&&t.push("");continue}n=0;let o=1;for(;r+o<e.length&&e[r+o].replace(/\s+$/,"")===s;)o+=1;if(o>=3)t.push(s),t.push(` \u2026 (repeated ${o}x)`);else for(let i=0;i<o;i++)t.push(s);r+=o}for(;t.length>0&&t[t.length-1]==="";)t.pop();return t}G("squeeze-output",Id);function Od(e){return e==="compact"?.6:e==="minimal"?.3:1}var Pd=20;function Nd(e){let[t,n,r,s]=e.slice(-4);if(!t||!n||!r||!s||!/^\s*Test Files\s+([1-9]\d*) passed \(\1\)$/.test(t)||!/^\s*Tests\s+([1-9]\d*) passed \(\1\)$/.test(n)||!/^\s*Start at\s+\d{2}:\d{2}:\d{2}$/.test(r))return e;let o=/^(\s*Duration\s+\d+(?:\.\d+)?(?:ms|s)) \(transform [^\n]+\)$/.exec(s)?.[1];return o?[...e.slice(0,-4).filter((a,l)=>l>2||!/^ RUN v\d+\.\d+\.\d+(?:[\w.+-]*) .+$/.test(a)),t,n,o]:e}var Ei=new WeakMap;function Dd(e){let t=Ei.get(e);if(t)return t;let n=e.strip_lines_matching.map(s=>new RegExp(s)),r={def:e,stripRegexes:n};return Ei.set(e,r),r}function gn(e,t,n={}){return Sr(e,t,n).text}function Sr(e,t,n={}){let r=n.verbosity??"normal";if(!t.strip_ansi&&t.strip_lines_matching.length===0&&!t.transform&&!t.mask_abs_paths&&!t.fold_passing&&!t.truncate_lines_at&&!t.max_lines&&!t.on_empty&&!n.smartCode&&r==="normal")return{text:e,droppedTail:null};let s=Dd(t),o=e;t.strip_ansi&&(o=ue(o));let i=o.endsWith(`
17
+ `:s}var vf,Go,qo=de(()=>{vf=/^[a-z0-9-_]+$/i,Go=!!"".isWellFormed});var br={};Hs(br,{TomlDate:()=>We,TomlError:()=>S,default:()=>Af,parse:()=>hr,stringify:()=>kr});var Af,_r=de(()=>{Ko();qo();cr();Ve();Af={parse:hr,stringify:kr,TomlDate:We,TomlError:S}});var Ps=Pc(Ao(),1);import{readdir as Cf,readFile as If}from"node:fs/promises";import{join as Xo,dirname as Of}from"node:path";import{fileURLToPath as Pf}from"node:url";var g={};Hs(g,{BRAND:()=>Iu,DIRTY:()=>Oe,EMPTY_PATH:()=>cu,INVALID:()=>v,NEVER:()=>gf,OK:()=>j,ParseStatus:()=>L,Schema:()=>A,ZodAny:()=>we,ZodArray:()=>ge,ZodBigInt:()=>Ne,ZodBoolean:()=>De,ZodBranded:()=>It,ZodCatch:()=>Ke,ZodDate:()=>Me,ZodDefault:()=>Je,ZodDiscriminatedUnion:()=>ln,ZodEffects:()=>ne,ZodEnum:()=>Ue,ZodError:()=>Z,ZodFirstPartyTypeKind:()=>T,ZodFunction:()=>un,ZodIntersection:()=>He,ZodIssueCode:()=>p,ZodLazy:()=>Be,ZodLiteral:()=>ze,ZodMap:()=>ct,ZodNaN:()=>ft,ZodNativeEnum:()=>Ze,ZodNever:()=>oe,ZodNull:()=>Le,ZodNullable:()=>ce,ZodNumber:()=>Pe,ZodObject:()=>J,ZodOptional:()=>ee,ZodParsedType:()=>k,ZodPipeline:()=>Ot,ZodPromise:()=>xe,ZodReadonly:()=>Ge,ZodRecord:()=>cn,ZodSchema:()=>A,ZodSet:()=>ut,ZodString:()=>_e,ZodSymbol:()=>at,ZodTransformer:()=>ne,ZodTuple:()=>le,ZodType:()=>A,ZodUndefined:()=>Fe,ZodUnion:()=>je,ZodUnknown:()=>he,ZodVoid:()=>lt,addIssueToContext:()=>y,any:()=>Hu,array:()=>Zu,bigint:()=>Du,boolean:()=>Ho,coerce:()=>hf,custom:()=>Fo,date:()=>Mu,datetimeRegex:()=>Do,defaultErrorMap:()=>me,discriminatedUnion:()=>Vu,effect:()=>af,enum:()=>rf,function:()=>ef,getErrorMap:()=>st,getParsedType:()=>ae,instanceof:()=>Pu,intersection:()=>Wu,isAborted:()=>on,isAsync:()=>ot,isDirty:()=>an,isValid:()=>be,late:()=>Ou,lazy:()=>tf,literal:()=>nf,makeIssue:()=>Ct,map:()=>Xu,nan:()=>Nu,nativeEnum:()=>sf,never:()=>zu,null:()=>ju,nullable:()=>cf,number:()=>jo,object:()=>Ju,objectUtil:()=>or,oboolean:()=>pf,onumber:()=>mf,optional:()=>lf,ostring:()=>df,pipeline:()=>ff,preprocess:()=>uf,promise:()=>of,quotelessJson:()=>iu,record:()=>Yu,set:()=>Qu,setErrorMap:()=>lu,strictObject:()=>Ku,string:()=>Lo,symbol:()=>Fu,transformer:()=>af,tuple:()=>qu,undefined:()=>Lu,union:()=>Gu,unknown:()=>Bu,util:()=>C,void:()=>Uu});var C;(function(e){e.assertEqual=s=>{};function t(s){}e.assertIs=t;function n(s){throw new Error}e.assertNever=n,e.arrayToEnum=s=>{let o={};for(let i of s)o[i]=i;return o},e.getValidEnumValues=s=>{let o=e.objectKeys(s).filter(a=>typeof s[s[a]]!="number"),i={};for(let a of o)i[a]=s[a];return e.objectValues(i)},e.objectValues=s=>e.objectKeys(s).map(function(o){return s[o]}),e.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let o=[];for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&o.push(i);return o},e.find=(s,o)=>{for(let i of s)if(o(i))return i},e.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,o=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(s,o)=>typeof o=="bigint"?o.toString():o})(C||(C={}));var or;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(or||(or={}));var k=C.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ae=e=>{switch(typeof e){case"undefined":return k.undefined;case"string":return k.string;case"number":return Number.isNaN(e)?k.nan:k.number;case"boolean":return k.boolean;case"function":return k.function;case"bigint":return k.bigint;case"symbol":return k.symbol;case"object":return Array.isArray(e)?k.array:e===null?k.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?k.promise:typeof Map<"u"&&e instanceof Map?k.map:typeof Set<"u"&&e instanceof Set?k.set:typeof Date<"u"&&e instanceof Date?k.date:k.object;default:return k.unknown}};var p=C.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),iu=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),Z=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){let n=t||function(o){return o.message},r={_errors:[]},s=o=>{for(let i of o.issues)if(i.code==="invalid_union")i.unionErrors.map(s);else if(i.code==="invalid_return_type")s(i.returnTypeError);else if(i.code==="invalid_arguments")s(i.argumentsError);else if(i.path.length===0)r._errors.push(n(i));else{let a=r,l=0;for(;l<i.path.length;){let c=i.path[l];l===i.path.length-1?(a[c]=a[c]||{_errors:[]},a[c]._errors.push(n(i))):a[c]=a[c]||{_errors:[]},a=a[c],l++}}};return s(this),r}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,C.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){let n={},r=[];for(let s of this.issues)if(s.path.length>0){let o=s.path[0];n[o]=n[o]||[],n[o].push(t(s))}else r.push(t(s));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};Z.create=e=>new Z(e);var au=(e,t)=>{let n;switch(e.code){case p.invalid_type:e.received===k.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case p.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,C.jsonStringifyReplacer)}`;break;case p.unrecognized_keys:n=`Unrecognized key(s) in object: ${C.joinValues(e.keys,", ")}`;break;case p.invalid_union:n="Invalid input";break;case p.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${C.joinValues(e.options)}`;break;case p.invalid_enum_value:n=`Invalid enum value. Expected ${C.joinValues(e.options)}, received '${e.received}'`;break;case p.invalid_arguments:n="Invalid function arguments";break;case p.invalid_return_type:n="Invalid function return type";break;case p.invalid_date:n="Invalid date";break;case p.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:C.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case p.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case p.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case p.custom:n="Invalid input";break;case p.invalid_intersection_types:n="Intersection results could not be merged";break;case p.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case p.not_finite:n="Number must be finite";break;default:n=t.defaultError,C.assertNever(e)}return{message:n}},me=au;var Co=me;function lu(e){Co=e}function st(){return Co}var Ct=e=>{let{data:t,path:n,errorMaps:r,issueData:s}=e,o=[...n,...s.path||[]],i={...s,path:o};if(s.message!==void 0)return{...s,path:o,message:s.message};let a="",l=r.filter(c=>!!c).slice().reverse();for(let c of l)a=c(i,{data:t,defaultError:a}).message;return{...s,path:o,message:a}},cu=[];function y(e,t){let n=st(),r=Ct({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===me?void 0:me].filter(s=>!!s)});e.common.issues.push(r)}var L=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){let r=[];for(let s of n){if(s.status==="aborted")return v;s.status==="dirty"&&t.dirty(),r.push(s.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){let r=[];for(let s of n){let o=await s.key,i=await s.value;r.push({key:o,value:i})}return e.mergeObjectSync(t,r)}static mergeObjectSync(t,n){let r={};for(let s of n){let{key:o,value:i}=s;if(o.status==="aborted"||i.status==="aborted")return v;o.status==="dirty"&&t.dirty(),i.status==="dirty"&&t.dirty(),o.value!=="__proto__"&&(typeof i.value<"u"||s.alwaysSet)&&(r[o.value]=i.value)}return{status:t.value,value:r}}},v=Object.freeze({status:"aborted"}),Oe=e=>({status:"dirty",value:e}),j=e=>({status:"valid",value:e}),on=e=>e.status==="aborted",an=e=>e.status==="dirty",be=e=>e.status==="valid",ot=e=>typeof Promise<"u"&&e instanceof Promise;var _;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(_||(_={}));var te=class{constructor(t,n,r,s){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Io=(e,t)=>{if(be(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new Z(e.common.issues);return this._error=n,this._error}}};function $(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:s}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:s}:{errorMap:(i,a)=>{let{message:l}=e;return i.code==="invalid_enum_value"?{message:l??a.defaultError}:typeof a.data>"u"?{message:l??r??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:l??n??a.defaultError}},description:s}}var A=class{get description(){return this._def.description}_getType(t){return ae(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ae(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new L,ctx:{common:t.parent.common,data:t.data,parsedType:ae(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(ot(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){let n=this._parse(t);return Promise.resolve(n)}parse(t,n){let r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ae(t)},s=this._parseSync({data:t,path:r.path,parent:r});return Io(r,s)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ae(t)};if(!this["~standard"].async)try{let r=this._parseSync({data:t,path:[],parent:n});return be(r)?{value:r.value}:{issues:n.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then(r=>be(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(t,n){let r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ae(t)},s=this._parse({data:t,path:r.path,parent:r}),o=await(ot(s)?s:Promise.resolve(s));return Io(r,o)}refine(t,n){let r=s=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(s):n;return this._refinement((s,o)=>{let i=t(s),a=()=>o.addIssue({code:p.custom,...r(s)});return typeof Promise<"u"&&i instanceof Promise?i.then(l=>l?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,s)=>t(r)?!0:(s.addIssue(typeof n=="function"?n(r,s):n),!1))}_refinement(t){return new ne({schema:this,typeName:T.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return ee.create(this,this._def)}nullable(){return ce.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ge.create(this)}promise(){return xe.create(this,this._def)}or(t){return je.create([this,t],this._def)}and(t){return He.create(this,t,this._def)}transform(t){return new ne({...$(this._def),schema:this,typeName:T.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new Je({...$(this._def),innerType:this,defaultValue:n,typeName:T.ZodDefault})}brand(){return new It({typeName:T.ZodBranded,type:this,...$(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new Ke({...$(this._def),innerType:this,catchValue:n,typeName:T.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return Ot.create(this,t)}readonly(){return Ge.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},uu=/^c[^\s-]{8,}$/i,fu=/^[0-9a-z]+$/,du=/^[0-9A-HJKMNP-TV-Z]{26}$/i,mu=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,pu=/^[a-z0-9_-]{21}$/i,hu=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,gu=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,yu=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,ku="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",ir,bu=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,_u=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,wu=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,xu=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,vu=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Su=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Po="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Eu=new RegExp(`^${Po}$`);function No(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function Tu(e){return new RegExp(`^${No(e)}$`)}function Do(e){let t=`${Po}T${No(e)}`,n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function $u(e,t){return!!((t==="v4"||!t)&&bu.test(e)||(t==="v6"||!t)&&wu.test(e))}function Ru(e,t){if(!hu.test(e))return!1;try{let[n]=e.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),s=JSON.parse(atob(r));return!(typeof s!="object"||s===null||"typ"in s&&s?.typ!=="JWT"||!s.alg||t&&s.alg!==t)}catch{return!1}}function Au(e,t){return!!((t==="v4"||!t)&&_u.test(e)||(t==="v6"||!t)&&xu.test(e))}var _e=class e extends A{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==k.string){let o=this._getOrReturnCtx(t);return y(o,{code:p.invalid_type,expected:k.string,received:o.parsedType}),v}let r=new L,s;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(s=this._getOrReturnCtx(t,s),y(s,{code:p.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="max")t.data.length>o.value&&(s=this._getOrReturnCtx(t,s),y(s,{code:p.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){let i=t.data.length>o.value,a=t.data.length<o.value;(i||a)&&(s=this._getOrReturnCtx(t,s),i?y(s,{code:p.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&y(s,{code:p.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),r.dirty())}else if(o.kind==="email")yu.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"email",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="emoji")ir||(ir=new RegExp(ku,"u")),ir.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"emoji",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="uuid")mu.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"uuid",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="nanoid")pu.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"nanoid",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid")uu.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"cuid",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid2")fu.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"cuid2",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="ulid")du.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"ulid",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{s=this._getOrReturnCtx(t,s),y(s,{validation:"url",code:p.invalid_string,message:o.message}),r.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"regex",code:p.invalid_string,message:o.message}),r.dirty())):o.kind==="trim"?t.data=t.data.trim():o.kind==="includes"?t.data.includes(o.value,o.position)||(s=this._getOrReturnCtx(t,s),y(s,{code:p.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),r.dirty()):o.kind==="toLowerCase"?t.data=t.data.toLowerCase():o.kind==="toUpperCase"?t.data=t.data.toUpperCase():o.kind==="startsWith"?t.data.startsWith(o.value)||(s=this._getOrReturnCtx(t,s),y(s,{code:p.invalid_string,validation:{startsWith:o.value},message:o.message}),r.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(s=this._getOrReturnCtx(t,s),y(s,{code:p.invalid_string,validation:{endsWith:o.value},message:o.message}),r.dirty()):o.kind==="datetime"?Do(o).test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{code:p.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?Eu.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{code:p.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?Tu(o).test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{code:p.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?gu.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"duration",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?$u(t.data,o.version)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"ip",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?Ru(t.data,o.alg)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"jwt",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?Au(t.data,o.version)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"cidr",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?vu.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"base64",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?Su.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"base64url",code:p.invalid_string,message:o.message}),r.dirty()):C.assertNever(o);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:p.invalid_string,..._.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",..._.errToObj(t)})}url(t){return this._addCheck({kind:"url",..._.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",..._.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",..._.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",..._.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",..._.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",..._.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",..._.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",..._.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",..._.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",..._.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",..._.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",..._.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,..._.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,..._.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",..._.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,..._.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,..._.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,..._.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,..._.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,..._.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,..._.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,..._.errToObj(n)})}nonempty(t){return this.min(1,_.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};_e.create=e=>new _e({checks:[],typeName:T.ZodString,coerce:e?.coerce??!1,...$(e)});function Cu(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,s=n>r?n:r,o=Number.parseInt(e.toFixed(s).replace(".","")),i=Number.parseInt(t.toFixed(s).replace(".",""));return o%i/10**s}var Pe=class e extends A{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==k.number){let o=this._getOrReturnCtx(t);return y(o,{code:p.invalid_type,expected:k.number,received:o.parsedType}),v}let r,s=new L;for(let o of this._def.checks)o.kind==="int"?C.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),y(r,{code:p.invalid_type,expected:"integer",received:"float",message:o.message}),s.dirty()):o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(r=this._getOrReturnCtx(t,r),y(r,{code:p.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),y(r,{code:p.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?Cu(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),y(r,{code:p.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),y(r,{code:p.not_finite,message:o.message}),s.dirty()):C.assertNever(o);return{status:s.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,_.toString(n))}gt(t,n){return this.setLimit("min",t,!1,_.toString(n))}lte(t,n){return this.setLimit("max",t,!0,_.toString(n))}lt(t,n){return this.setLimit("max",t,!1,_.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:_.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:_.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:_.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:_.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:_.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:_.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:_.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:_.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:_.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:_.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&C.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}};Pe.create=e=>new Pe({checks:[],typeName:T.ZodNumber,coerce:e?.coerce||!1,...$(e)});var Ne=class e extends A{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==k.bigint)return this._getInvalidInput(t);let r,s=new L;for(let o of this._def.checks)o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(r=this._getOrReturnCtx(t,r),y(r,{code:p.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),y(r,{code:p.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),y(r,{code:p.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):C.assertNever(o);return{status:s.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return y(n,{code:p.invalid_type,expected:k.bigint,received:n.parsedType}),v}gte(t,n){return this.setLimit("min",t,!0,_.toString(n))}gt(t,n){return this.setLimit("min",t,!1,_.toString(n))}lte(t,n){return this.setLimit("max",t,!0,_.toString(n))}lt(t,n){return this.setLimit("max",t,!1,_.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:_.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:_.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:_.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:_.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:_.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:_.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Ne.create=e=>new Ne({checks:[],typeName:T.ZodBigInt,coerce:e?.coerce??!1,...$(e)});var De=class extends A{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==k.boolean){let r=this._getOrReturnCtx(t);return y(r,{code:p.invalid_type,expected:k.boolean,received:r.parsedType}),v}return j(t.data)}};De.create=e=>new De({typeName:T.ZodBoolean,coerce:e?.coerce||!1,...$(e)});var Me=class e extends A{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==k.date){let o=this._getOrReturnCtx(t);return y(o,{code:p.invalid_type,expected:k.date,received:o.parsedType}),v}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return y(o,{code:p.invalid_date}),v}let r=new L,s;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(s=this._getOrReturnCtx(t,s),y(s,{code:p.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),r.dirty()):o.kind==="max"?t.data.getTime()>o.value&&(s=this._getOrReturnCtx(t,s),y(s,{code:p.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):C.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:_.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:_.toString(n)})}get minDate(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}};Me.create=e=>new Me({checks:[],coerce:e?.coerce||!1,typeName:T.ZodDate,...$(e)});var at=class extends A{_parse(t){if(this._getType(t)!==k.symbol){let r=this._getOrReturnCtx(t);return y(r,{code:p.invalid_type,expected:k.symbol,received:r.parsedType}),v}return j(t.data)}};at.create=e=>new at({typeName:T.ZodSymbol,...$(e)});var Fe=class extends A{_parse(t){if(this._getType(t)!==k.undefined){let r=this._getOrReturnCtx(t);return y(r,{code:p.invalid_type,expected:k.undefined,received:r.parsedType}),v}return j(t.data)}};Fe.create=e=>new Fe({typeName:T.ZodUndefined,...$(e)});var Le=class extends A{_parse(t){if(this._getType(t)!==k.null){let r=this._getOrReturnCtx(t);return y(r,{code:p.invalid_type,expected:k.null,received:r.parsedType}),v}return j(t.data)}};Le.create=e=>new Le({typeName:T.ZodNull,...$(e)});var we=class extends A{constructor(){super(...arguments),this._any=!0}_parse(t){return j(t.data)}};we.create=e=>new we({typeName:T.ZodAny,...$(e)});var he=class extends A{constructor(){super(...arguments),this._unknown=!0}_parse(t){return j(t.data)}};he.create=e=>new he({typeName:T.ZodUnknown,...$(e)});var oe=class extends A{_parse(t){let n=this._getOrReturnCtx(t);return y(n,{code:p.invalid_type,expected:k.never,received:n.parsedType}),v}};oe.create=e=>new oe({typeName:T.ZodNever,...$(e)});var lt=class extends A{_parse(t){if(this._getType(t)!==k.undefined){let r=this._getOrReturnCtx(t);return y(r,{code:p.invalid_type,expected:k.void,received:r.parsedType}),v}return j(t.data)}};lt.create=e=>new lt({typeName:T.ZodVoid,...$(e)});var ge=class e extends A{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==k.array)return y(n,{code:p.invalid_type,expected:k.array,received:n.parsedType}),v;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(i||a)&&(y(n,{code:i?p.too_big:p.too_small,minimum:a?s.exactLength.value:void 0,maximum:i?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),r.dirty())}if(s.minLength!==null&&n.data.length<s.minLength.value&&(y(n,{code:p.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),r.dirty()),s.maxLength!==null&&n.data.length>s.maxLength.value&&(y(n,{code:p.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((i,a)=>s.type._parseAsync(new te(n,i,n.path,a)))).then(i=>L.mergeArray(r,i));let o=[...n.data].map((i,a)=>s.type._parseSync(new te(n,i,n.path,a)));return L.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:_.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:_.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:_.toString(n)}})}nonempty(t){return this.min(1,t)}};ge.create=(e,t)=>new ge({type:e,minLength:null,maxLength:null,exactLength:null,typeName:T.ZodArray,...$(t)});function it(e){if(e instanceof J){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=ee.create(it(r))}return new J({...e._def,shape:()=>t})}else return e instanceof ge?new ge({...e._def,type:it(e.element)}):e instanceof ee?ee.create(it(e.unwrap())):e instanceof ce?ce.create(it(e.unwrap())):e instanceof le?le.create(e.items.map(t=>it(t))):e}var J=class e extends A{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),n=C.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==k.object){let c=this._getOrReturnCtx(t);return y(c,{code:p.invalid_type,expected:k.object,received:c.parsedType}),v}let{status:r,ctx:s}=this._processInputParams(t),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof oe&&this._def.unknownKeys==="strip"))for(let c in s.data)i.includes(c)||a.push(c);let l=[];for(let c of i){let u=o[c],d=s.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new te(s,d,s.path,c)),alwaysSet:c in s.data})}if(this._def.catchall instanceof oe){let c=this._def.unknownKeys;if(c==="passthrough")for(let u of a)l.push({key:{status:"valid",value:u},value:{status:"valid",value:s.data[u]}});else if(c==="strict")a.length>0&&(y(s,{code:p.unrecognized_keys,keys:a}),r.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let c=this._def.catchall;for(let u of a){let d=s.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new te(s,d,s.path,u)),alwaysSet:u in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let c=[];for(let u of l){let d=await u.key,f=await u.value;c.push({key:d,value:f,alwaysSet:u.alwaysSet})}return c}).then(c=>L.mergeObjectSync(r,c)):L.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return _.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{let s=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:_.errToObj(t).message??s}:{message:s}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:T.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let r of C.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let r of C.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return it(this)}partial(t){let n={};for(let r of C.objectKeys(this.shape)){let s=this.shape[r];t&&!t[r]?n[r]=s:n[r]=s.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let r of C.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof ee;)o=o._def.innerType;n[r]=o}return new e({...this._def,shape:()=>n})}keyof(){return Mo(C.objectKeys(this.shape))}};J.create=(e,t)=>new J({shape:()=>e,unknownKeys:"strip",catchall:oe.create(),typeName:T.ZodObject,...$(t)});J.strictCreate=(e,t)=>new J({shape:()=>e,unknownKeys:"strict",catchall:oe.create(),typeName:T.ZodObject,...$(t)});J.lazycreate=(e,t)=>new J({shape:e,unknownKeys:"strip",catchall:oe.create(),typeName:T.ZodObject,...$(t)});var je=class extends A{_parse(t){let{ctx:n}=this._processInputParams(t),r=this._def.options;function s(o){for(let a of o)if(a.result.status==="valid")return a.result;for(let a of o)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;let i=o.map(a=>new Z(a.ctx.common.issues));return y(n,{code:p.invalid_union,unionErrors:i}),v}if(n.common.async)return Promise.all(r.map(async o=>{let i={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:i}),ctx:i}})).then(s);{let o,i=[];for(let l of r){let c={...n,common:{...n.common,issues:[]},parent:null},u=l._parseSync({data:n.data,path:n.path,parent:c});if(u.status==="valid")return u;u.status==="dirty"&&!o&&(o={result:u,ctx:c}),c.common.issues.length&&i.push(c.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;let a=i.map(l=>new Z(l));return y(n,{code:p.invalid_union,unionErrors:a}),v}}get options(){return this._def.options}};je.create=(e,t)=>new je({options:e,typeName:T.ZodUnion,...$(t)});var pe=e=>e instanceof Be?pe(e.schema):e instanceof ne?pe(e.innerType()):e instanceof ze?[e.value]:e instanceof Ue?e.options:e instanceof Ze?C.objectValues(e.enum):e instanceof Je?pe(e._def.innerType):e instanceof Fe?[void 0]:e instanceof Le?[null]:e instanceof ee?[void 0,...pe(e.unwrap())]:e instanceof ce?[null,...pe(e.unwrap())]:e instanceof It||e instanceof Ge?pe(e.unwrap()):e instanceof Ke?pe(e._def.innerType):[],ln=class e extends A{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==k.object)return y(n,{code:p.invalid_type,expected:k.object,received:n.parsedType}),v;let r=this.discriminator,s=n.data[r],o=this.optionsMap.get(s);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(y(n,{code:p.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),v)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let s=new Map;for(let o of n){let i=pe(o.shape[t]);if(!i.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let a of i){if(s.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);s.set(a,o)}}return new e({typeName:T.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...$(r)})}};function ar(e,t){let n=ae(e),r=ae(t);if(e===t)return{valid:!0,data:e};if(n===k.object&&r===k.object){let s=C.objectKeys(t),o=C.objectKeys(e).filter(a=>s.indexOf(a)!==-1),i={...e,...t};for(let a of o){let l=ar(e[a],t[a]);if(!l.valid)return{valid:!1};i[a]=l.data}return{valid:!0,data:i}}else if(n===k.array&&r===k.array){if(e.length!==t.length)return{valid:!1};let s=[];for(let o=0;o<e.length;o++){let i=e[o],a=t[o],l=ar(i,a);if(!l.valid)return{valid:!1};s.push(l.data)}return{valid:!0,data:s}}else return n===k.date&&r===k.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var He=class extends A{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(o,i)=>{if(on(o)||on(i))return v;let a=ar(o.value,i.value);return a.valid?((an(o)||an(i))&&n.dirty(),{status:n.value,value:a.data}):(y(r,{code:p.invalid_intersection_types}),v)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,i])=>s(o,i)):s(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};He.create=(e,t,n)=>new He({left:e,right:t,typeName:T.ZodIntersection,...$(n)});var le=class e extends A{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==k.array)return y(r,{code:p.invalid_type,expected:k.array,received:r.parsedType}),v;if(r.data.length<this._def.items.length)return y(r,{code:p.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),v;!this._def.rest&&r.data.length>this._def.items.length&&(y(r,{code:p.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let o=[...r.data].map((i,a)=>{let l=this._def.items[a]||this._def.rest;return l?l._parse(new te(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(o).then(i=>L.mergeArray(n,i)):L.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};le.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new le({items:e,typeName:T.ZodTuple,rest:null,...$(t)})};var cn=class e extends A{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==k.object)return y(r,{code:p.invalid_type,expected:k.object,received:r.parsedType}),v;let s=[],o=this._def.keyType,i=this._def.valueType;for(let a in r.data)s.push({key:o._parse(new te(r,a,r.path,a)),value:i._parse(new te(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?L.mergeObjectAsync(n,s):L.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof A?new e({keyType:t,valueType:n,typeName:T.ZodRecord,...$(r)}):new e({keyType:_e.create(),valueType:t,typeName:T.ZodRecord,...$(n)})}},ct=class extends A{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==k.map)return y(r,{code:p.invalid_type,expected:k.map,received:r.parsedType}),v;let s=this._def.keyType,o=this._def.valueType,i=[...r.data.entries()].map(([a,l],c)=>({key:s._parse(new te(r,a,r.path,[c,"key"])),value:o._parse(new te(r,l,r.path,[c,"value"]))}));if(r.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let l of i){let c=await l.key,u=await l.value;if(c.status==="aborted"||u.status==="aborted")return v;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}})}else{let a=new Map;for(let l of i){let c=l.key,u=l.value;if(c.status==="aborted"||u.status==="aborted")return v;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}}}};ct.create=(e,t,n)=>new ct({valueType:t,keyType:e,typeName:T.ZodMap,...$(n)});var ut=class e extends A{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==k.set)return y(r,{code:p.invalid_type,expected:k.set,received:r.parsedType}),v;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(y(r,{code:p.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),n.dirty()),s.maxSize!==null&&r.data.size>s.maxSize.value&&(y(r,{code:p.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),n.dirty());let o=this._def.valueType;function i(l){let c=new Set;for(let u of l){if(u.status==="aborted")return v;u.status==="dirty"&&n.dirty(),c.add(u.value)}return{status:n.value,value:c}}let a=[...r.data.values()].map((l,c)=>o._parse(new te(r,l,r.path,c)));return r.common.async?Promise.all(a).then(l=>i(l)):i(a)}min(t,n){return new e({...this._def,minSize:{value:t,message:_.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:_.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};ut.create=(e,t)=>new ut({valueType:e,minSize:null,maxSize:null,typeName:T.ZodSet,...$(t)});var un=class e extends A{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==k.function)return y(n,{code:p.invalid_type,expected:k.function,received:n.parsedType}),v;function r(a,l){return Ct({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,st(),me].filter(c=>!!c),issueData:{code:p.invalid_arguments,argumentsError:l}})}function s(a,l){return Ct({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,st(),me].filter(c=>!!c),issueData:{code:p.invalid_return_type,returnTypeError:l}})}let o={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof xe){let a=this;return j(async function(...l){let c=new Z([]),u=await a._def.args.parseAsync(l,o).catch(m=>{throw c.addIssue(r(l,m)),c}),d=await Reflect.apply(i,this,u);return await a._def.returns._def.type.parseAsync(d,o).catch(m=>{throw c.addIssue(s(d,m)),c})})}else{let a=this;return j(function(...l){let c=a._def.args.safeParse(l,o);if(!c.success)throw new Z([r(l,c.error)]);let u=Reflect.apply(i,this,c.data),d=a._def.returns.safeParse(u,o);if(!d.success)throw new Z([s(u,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:le.create(t).rest(he.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new e({args:t||le.create([]).rest(he.create()),returns:n||he.create(),typeName:T.ZodFunction,...$(r)})}},Be=class extends A{get schema(){return this._def.getter()}_parse(t){let{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};Be.create=(e,t)=>new Be({getter:e,typeName:T.ZodLazy,...$(t)});var ze=class extends A{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return y(n,{received:n.data,code:p.invalid_literal,expected:this._def.value}),v}return{status:"valid",value:t.data}}get value(){return this._def.value}};ze.create=(e,t)=>new ze({value:e,typeName:T.ZodLiteral,...$(t)});function Mo(e,t){return new Ue({values:e,typeName:T.ZodEnum,...$(t)})}var Ue=class e extends A{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return y(n,{expected:C.joinValues(r),received:n.parsedType,code:p.invalid_type}),v}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),r=this._def.values;return y(n,{received:n.data,code:p.invalid_enum_value,options:r}),v}return j(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}};Ue.create=Mo;var Ze=class extends A{_parse(t){let n=C.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==k.string&&r.parsedType!==k.number){let s=C.objectValues(n);return y(r,{expected:C.joinValues(s),received:r.parsedType,code:p.invalid_type}),v}if(this._cache||(this._cache=new Set(C.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=C.objectValues(n);return y(r,{received:r.data,code:p.invalid_enum_value,options:s}),v}return j(t.data)}get enum(){return this._def.values}};Ze.create=(e,t)=>new Ze({values:e,typeName:T.ZodNativeEnum,...$(t)});var xe=class extends A{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==k.promise&&n.common.async===!1)return y(n,{code:p.invalid_type,expected:k.promise,received:n.parsedType}),v;let r=n.parsedType===k.promise?n.data:Promise.resolve(n.data);return j(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};xe.create=(e,t)=>new xe({type:e,typeName:T.ZodPromise,...$(t)});var ne=class extends A{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===T.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=this._def.effect||null,o={addIssue:i=>{y(r,i),i.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),s.type==="preprocess"){let i=s.transform(r.data,o);if(r.common.async)return Promise.resolve(i).then(async a=>{if(n.value==="aborted")return v;let l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?v:l.status==="dirty"?Oe(l.value):n.value==="dirty"?Oe(l.value):l});{if(n.value==="aborted")return v;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?v:a.status==="dirty"?Oe(a.value):n.value==="dirty"?Oe(a.value):a}}if(s.type==="refinement"){let i=a=>{let l=s.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?v:(a.status==="dirty"&&n.dirty(),i(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?v:(a.status==="dirty"&&n.dirty(),i(a.value).then(()=>({status:n.value,value:a.value}))))}if(s.type==="transform")if(r.common.async===!1){let i=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!be(i))return v;let a=s.transform(i.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(i=>be(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:n.value,value:a})):v);C.assertNever(s)}};ne.create=(e,t,n)=>new ne({schema:e,typeName:T.ZodEffects,effect:t,...$(n)});ne.createWithPreprocess=(e,t,n)=>new ne({schema:t,effect:{type:"preprocess",transform:e},typeName:T.ZodEffects,...$(n)});var ee=class extends A{_parse(t){return this._getType(t)===k.undefined?j(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};ee.create=(e,t)=>new ee({innerType:e,typeName:T.ZodOptional,...$(t)});var ce=class extends A{_parse(t){return this._getType(t)===k.null?j(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};ce.create=(e,t)=>new ce({innerType:e,typeName:T.ZodNullable,...$(t)});var Je=class extends A{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===k.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};Je.create=(e,t)=>new Je({innerType:e,typeName:T.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...$(t)});var Ke=class extends A{_parse(t){let{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},s=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return ot(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Z(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Z(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};Ke.create=(e,t)=>new Ke({innerType:e,typeName:T.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...$(t)});var ft=class extends A{_parse(t){if(this._getType(t)!==k.nan){let r=this._getOrReturnCtx(t);return y(r,{code:p.invalid_type,expected:k.nan,received:r.parsedType}),v}return{status:"valid",value:t.data}}};ft.create=e=>new ft({typeName:T.ZodNaN,...$(e)});var Iu=Symbol("zod_brand"),It=class extends A{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},Ot=class e extends A{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{let o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?v:o.status==="dirty"?(n.dirty(),Oe(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?v:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(t,n){return new e({in:t,out:n,typeName:T.ZodPipeline})}},Ge=class extends A{_parse(t){let n=this._def.innerType._parse(t),r=s=>(be(s)&&(s.value=Object.freeze(s.value)),s);return ot(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};Ge.create=(e,t)=>new Ge({innerType:e,typeName:T.ZodReadonly,...$(t)});function Oo(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function Fo(e,t={},n){return e?we.create().superRefine((r,s)=>{let o=e(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=Oo(t,r),l=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:l})}});if(!o){let i=Oo(t,r),a=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:a})}}):we.create()}var Ou={object:J.lazycreate},T;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(T||(T={}));var Pu=(e,t={message:`Input not instance of ${e.name}`})=>Fo(n=>n instanceof e,t),Lo=_e.create,jo=Pe.create,Nu=ft.create,Du=Ne.create,Ho=De.create,Mu=Me.create,Fu=at.create,Lu=Fe.create,ju=Le.create,Hu=we.create,Bu=he.create,zu=oe.create,Uu=lt.create,Zu=ge.create,Ju=J.create,Ku=J.strictCreate,Gu=je.create,Vu=ln.create,Wu=He.create,qu=le.create,Yu=cn.create,Xu=ct.create,Qu=ut.create,ef=un.create,tf=Be.create,nf=ze.create,rf=Ue.create,sf=Ze.create,of=xe.create,af=ne.create,lf=ee.create,cf=ce.create,uf=ne.createWithPreprocess,ff=Ot.create,df=()=>Lo().optional(),mf=()=>jo().optional(),pf=()=>Ho().optional(),hf={string:(e=>_e.create({...e,coerce:!0})),number:(e=>Pe.create({...e,coerce:!0})),boolean:(e=>De.create({...e,coerce:!0})),bigint:(e=>Ne.create({...e,coerce:!0})),date:(e=>Me.create({...e,coerce:!0}))};var gf=v;var ve=g.object({slug:g.string().min(1).max(64),description:g.string().max(255).optional(),match_command:g.string().min(1),priority:g.number().int().default(50),strip_ansi:g.boolean().default(!1),strip_lines_matching:g.array(g.string()).default([]),keep_failures:g.boolean().default(!1),strip_on_failure:g.boolean().default(!1),fold_passing:g.boolean().default(!1),fold_passing_threshold:g.number().int().positive().max(1e3).optional(),mask_abs_paths:g.boolean().default(!1),preserve_exact:g.boolean().default(!1),truncate_lines_at:g.number().int().positive().max(1e4).optional(),max_lines:g.number().int().positive().max(1e5).optional(),scale_with_level:g.boolean().default(!0),transform:g.string().max(64).optional(),on_empty:g.string().max(255).optional()});var Nf=Of(Pf(import.meta.url)),Df=process.env.TOKMIZER_FILTERS_DIR||Xo(Nf,"..","..","filters"),dt=null,Yo=!1;function Mf(){return!1}async function Qo(){return dt||(Mf()?(dt=await Ff(Df),dt):(!Yo&&process.env.TOKMIZER_DEBUG==="1"&&(process.stderr.write(`tokmizer: disk loader disabled (set TOKMIZER_DEV=1 to re-enable for local dev).
18
+ `),Yo=!0),dt=new Map,dt))}async function Ff(e){let t=new Map,n,r;try{n=(await Promise.resolve().then(()=>(_r(),br))).parse,r=(await Cf(e)).filter(s=>s.endsWith(".toml"))}catch{return t}for(let s of r){let o=await If(Xo(e,s),"utf8"),a=n(o).filters;if(a)for(let[l,c]of Object.entries(a)){let u=ve.parse({slug:l,...c});t.set(l,{...u,matchRegex:new RegExp(u.match_command)})}}return t}import{createHash as Lf}from"node:crypto";var jf=g.enum(["normal","compact","minimal"]),Hf=g.enum(["off","light","balanced","max"]),Mt=g.object({enabled:g.boolean().default(!0),telemetryOptIn:g.boolean().default(!0),outputVerbosity:jf.default("compact"),reducer:Hf.default("off"),filters:g.object({enableAll:g.boolean().default(!0),disabled:g.array(g.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),ei=new Map;function re(e){let t=ei.get(e);return t||(t=Lf("sha256").update(`tkr:${e}`).digest("hex").slice(0,16),ei.set(e,t)),t}var ti=new WeakMap,Bf=256;function mt(e,t,n,r=t){let s=ti.get(r);s||(s=new Map,ti.set(r,s));let o=JSON.stringify([e,n?[...n].sort():null]),i=s.get(o);if(i!==void 0)return i;let a=null;for(let l of t)n&&!n.has(re(l.slug))||l.matchRegex.test(e)&&(!a||l.priority>a.priority)&&(a=l);if(s.size>=Bf){let l=s.keys().next().value;l&&s.delete(l)}return s.set(o,a),a}import{readdir as Hd,readFile as Ci,writeFile as u_,mkdir as f_,rename as d_}from"node:fs/promises";import{readdirSync as Bd,statSync as $i}from"node:fs";import{createHash as zd}from"node:crypto";import{basename as g_,join as _n}from"node:path";var zf=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,Uf=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g;function ue(e){return e.replace(zf,"").replace(Uf,"")}function ni(e,t){return t.length===0?e:e.filter(n=>!t.some(r=>r.test(n)))}function ri(e,t){return e.map(n=>{if(n.length<=t)return n;let r=n.charCodeAt(t-1),s=n.charCodeAt(t),o=r>=55296&&r<=56319&&s>=56320&&s<=57343?t-1:t;return`${n.slice(0,o)}\u2026`})}function pt(e){return`\u2026 (${e} more lines omitted)`}function si(e,t){if(e.length<=t)return{kept:e,dropped:[]};let n=Math.ceil(t*.7),r=t-n,s=e.slice(n,e.length-r);return{kept:[...e.slice(0,n),pt(s.length),...e.slice(e.length-r)],dropped:s}}var Zf=/^\s*(?:[✓✔√]|ok )/,Se=/✕|✗|×|\bFAIL\b|\bERROR\b|\bFATAL\b|\bError|\berror|Expected|Received|\bfailed\b|^\s*Tests?:|^\s*Test Suites?:/;function oi(e,t){let n=t>0?t:5,r=[],s=0,o=a=>{s>=n?r.push(`\u2026 ${s} passing checks folded \u2026`):r.push(...a)},i=[];for(let a of e)Zf.test(a)&&!Se.test(a)?(i.push(a),s+=1):(o(i),i=[],s=0,r.push(a));return o(i),r}var Jf=/(?:\/[\w.@+-]+){3,}/g;function ii(e){return e.map(t=>t.replace(Jf,n=>{let r=n.split("/").filter(Boolean);return r.length<=2?n:`\u2026/${r.slice(-2).join("/")}`}))}var Kf=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,Gf=/\{\s*$/;var Vf=/^\s*(?:(?:public|private|protected|static|async|get|set|readonly|override)\s+)*([\w$]+)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\{\s*$/,Wf=new Set(["if","for","while","switch","catch","do","with","return","else","function","await","yield"]);function qf(e){let t=Vf.exec(e);return!t||Wf.has(t[1])?!1:!/=>|\bfunction\b/.test(t[2])}var Yf=/^\s*(?:if|for|while|switch|try|do)\b[^{}]*\{\s*$/;function Xf(e,t,n){let r=t;for(;r<e.length;){if(e[r]==="\\"){r+=2;continue}if(e[r]===n)return!0;r+=1}return!1}function Qf(e,t){let n=0,r=null,s=0;for(;s<e.length;){let o=e[s];if(t.inBlockComment){if(o==="*"&&e[s+1]==="/"){t.inBlockComment=!1,s+=2;continue}s+=1;continue}if(t.inTemplate){if(o==="\\"){s+=2;continue}o==="`"&&(t.inTemplate=!1),s+=1;continue}if(r){if(o==="\\"){s+=2;continue}o===r&&(r=null),s+=1;continue}if(o==="/"&&e[s+1]==="/")break;if(o==="/"&&e[s+1]==="*"){t.inBlockComment=!0,s+=2;continue}if(o==="`"){t.inTemplate=!0,s+=1;continue}if(o==="'"||o==='"'){let i=s>0?e[s-1]:"";!(o==="'"&&(i==="<"||i==="&"))&&Xf(e,s+1,o)&&(r=o),s+=1;continue}o==="{"||o==="("||o==="["?n+=1:(o==="}"||o===")"||o==="]")&&(n-=1),s+=1}return n}var ai=/^\s*… \d+ lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/,ed=/^\s*… (\d+) lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/;function td(e,t,n){let r=n==null?"":` (${n}-${n+t-1}): Read offset=${n} limit=${t} before editing`;return`${e}\u2026 ${t} ${t===1?"line":"lines"} folded${r} \u2026`}function wr(e){let t=new Array(e.length).fill(!1);for(let n=0;n<e.length;n+=1){let r=ed.exec(e[n]);if(!r)continue;let s=Number(r[1])-1,o=n+1;for(;s>0&&o<e.length&&e[o]==="";)t[o]=!0,s-=1,o+=1;n=o-1}return t}function Ft(e,t=3,n=!1){let r=[],s=0;for(;s<e.length;){let o=e[s];if(Kf.test(o)&&Gf.test(o)||qf(o)||Yf.test(o)){let i={inBlockComment:!1,inTemplate:!1},a=0,l=s,c=!1;for(;l<e.length&&l-s<200;)if(a+=Qf(e[l],i),l+=1,a<=0&&!i.inTemplate&&!i.inBlockComment){c=!0;break}let u=l-s;if(c&&u<t){r.push(...e.slice(s,l)),s=l;continue}if(c&&u>=3){let d=u-2,f=/^\s*/.exec(e[s+1]??"")?.[0]??" ";r.push(o),r.push(td(f,d,n?s+2:null));for(let m=0;m<d-1;m++)r.push("");r.push(e[l-1]),s=l;continue}}r.push(o),s+=1}return r}var nd=/\b(?:function|class|interface|import\s+|export\s+|def\s+|fn\s+|impl\s+|package\s+|namespace\s+|using\s+|#include|=>\s*\{|=\s*function)/;function pn(e){let t=e.slice(0,4096);return!(!nd.test(t)||t.split(`
19
+ `).length<6)}var fi=/^\s*(?:\d{4}-\d{2}-\d{2}[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?Z?|\d{2}:\d{2}:\d{2}(?:\.\d+)?)\s*/,di=/^\s*(?:\[(?:DEBUG|TRACE|INFO|VERBOSE)\]|(?:DEBUG|TRACE|INFO|VERBOSE)(?!\s*:))(?=\s|:|$)(?!\s*[+\-*\/%&|^?]*=)/,mi=new RegExp(Se.source,"i"),pi=/\bWARN(?:ING)?\b/i;function hi(e){let t=[],n=0,r=()=>{n>0&&t.push(`\u2026 ${n} verbose log line${n===1?"":"s"} dropped \u2026`),n=0};for(let s of e){if(di.test(s.replace(fi,""))&&!mi.test(s)&&!pi.test(s)){n+=1;continue}r(),t.push(s)}return r(),t}var rd=/^(?:DEBUG|INFO):[\w.-]+:/,sd=/Error|Exception|Traceback|panic|fail|FAIL|Fail|SEVERE|CRITICAL/,od=8,li=1,ci=2;function ui(e){if(e.trim()===""||/^\s/.test(e)||mi.test(e)||pi.test(e)||sd.test(e))return null;let t=e.replace(fi,"");return di.test(t)||rd.test(t)?"\0verbose":e.replace(/\d+/g,"#")}function gi(e){let t=[],n=0;for(;n<e.length;){let r=ui(e[n]),s=n+1;if(r!==null)for(;s<e.length&&ui(e[s])===r;)s+=1;let o=s-n;r===null||o<od?t.push(...e.slice(n,s)):(t.push(...e.slice(n,n+li)),t.push(`\u2026 ${o-li-ci} similar log lines dropped \u2026`),t.push(...e.slice(s-ci,s))),n=s}return t}function hn(e){if(e.length===0)return e;let t=[],n=1,r=e[0];for(let s=1;s<e.length;s++){if(e[s]===r){n+=1;continue}t.push(n>1?`${r} \xD7${n}`:r),r=e[s],n=1}return t.push(n>1?`${r} \xD7${n}`:r),t}function yi(e){let t=[],n=0;for(let r of e){if(r.trim()===""){n+=1;continue}n>0&&t.push(""),n=0,t.push(r)}return t}var ki=new Map;function K(e,t){ki.set(e,t)}function bi(e){return ki.get(e)}var id=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/,ad=/^[./~][^\s]*:$/,ld=String.raw`(?:[^\s\d]{3,}\s+\d{1,2}|\d{1,2}\s+[^\s\d]{3,})\s+(?:\d{1,2}:\d{2}|\d{4})|\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:\s+[+-]\d{4})?`,cd=new RegExp(String.raw`^(\S+)\s+\d+\s+(\S+(?:\s+\S+)??)\s+(\d+(?:[.,]\d+)?[KMGTPkmgtp]?i?B?)\s+(?:${ld})\s+(.+)$`),ud={k:1,m:2,g:3,t:4,p:5},xr=1e3;function fd(e){if(e<1024)return String(e);let t=["K","M","G","T"],n=e/1024,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r+=1;return`${n.toFixed(1)}${t[r]}`}function dd(e){let t=/^(\d+(?:[.,]\d+)?)([KMGTPkmgtp])?/.exec(e),n=t[2]?ud[t[2].toLowerCase()]:0;return Number(t[1].replace(",","."))*1024**n}function md(e){let t=cd.exec(e);if(!t)return null;let n=t[4].trim();if(n===""||n==="."||n==="..")return null;let r=t[3],s=/^\d+$/.test(r)?fd(Number(r)):r,o=e.charCodeAt(0)===100;return{name:n,size:s,sizeKey:dd(r),isDir:o,mode:t[1],owner:t[2].replace(/\s+/g," ")}}function pd(e){if(e.length<3)return null;let t=new Map;for(let s of e){let o=s.name.lastIndexOf(".");if(o<=0)continue;let i=s.name.slice(o);t.set(i,(t.get(i)??0)+1)}let n=null,r=0;for(let[s,o]of t)o>r&&(r=o,n=s);return n&&r>=Math.ceil(e.length/2)?`${r} ${n}`:null}function hd(e){let t=[],n=[],r=!1;for(let f of e){if(f.trim()===""||/^total\s+\d+/.test(f))continue;if(ad.test(f.trim())||!id.test(f))return e;let m=md(f);if(!m){if(/\s\.\.?$/.test(f))continue;return e}r=!0,(m.isDir?t:n).push(m)}if(!r)return e;let s=(f,m)=>f.name.localeCompare(m.name);t.sort(s),n.sort((f,m)=>m.sizeKey-f.sizeKey||s(f,m));let o=[...t,...n],i=o.every(f=>f.owner===o[0].owner)?o[0].owner:null,a=[];for(let f of o){let m=`${f.mode} ${i===null?`${f.owner} `:""}${f.isDir?`${f.name}/`:f.name}`;a.push(f.isDir?m:`${m} ${f.size}`)}if(a.length>xr){let f=a.length-xr;a=[...a.slice(0,xr),`\u2026 ${f} more lines omitted`]}let l=n.length===1?"file":"files",c=t.length===1?"dir":"dirs",u=pd(n),d=`${n.length} ${l}, ${t.length} ${c}`+(u?` (${u})`:"")+(i===null?"":`, owner ${i.replace(" ",":")}`);return a.push(d),a}K("smart-ls",hd);K("smart-read",e=>Ft(e));var _i=1e3;function gd(e){let t=e[0].split("/");for(let n of e.slice(1)){let r=n.split("/"),s=0;for(;s<t.length&&s<r.length&&t[s]===r[s];)s+=1;if(t=t.slice(0,s),t.length===0)break}return t.join("/")}function yd(e){if(e.length<2||e.some(s=>s.startsWith('"')))return"";let t=e[0];for(let s of e.slice(1)){let o=0;for(;o<t.length&&o<s.length&&t[t.length-1-o]===s[s.length-1-o];)o+=1;if(t=t.slice(t.length-o),!t)return""}let n=t.indexOf("."),r=n<0?"":t.slice(n);return r.length>=3&&e.every(s=>s.length>r.length)?r:""}function kd(e){let t=e.filter(c=>c.trim()!=="");if(t.length===0||t.filter(c=>!/\s/.test(c.trim())).length<t.length*.6)return e;let r=new Map,s=[],o=0;for(let c of t){let u=c.trim();if(u.startsWith("find:")){s.push(u);continue}let d=u.replace(/^\.\//,"").replace(/\/+$/,""),f=d.lastIndexOf("/"),m=f>=0?d.slice(0,f):"",h=f>=0?d.slice(f+1):d;if(!h)continue;let w=r.get(m)??[];w.push(/\s/.test(h)?`"${h}"`:h),r.set(m,w),o+=1}if(o===0)return e;let i=[...r.keys()].sort(),a=i.every(c=>c!=="")?gd(i):"",l=[`${o}F ${i.length}D${a?` in ${a}/`:""}:`];for(let c of i){let u=a?c.slice(a.length).replace(/^\//,""):c,d=r.get(c),f=yd(d),m=f?d.map(h=>h.slice(0,-f.length)):d;l.push(`${u?`${u}/`:"./"} (${d.length}${f?`, *${f}`:""}): ${m.join(" ")}`)}if(l.length+s.length>_i){let c=Math.max(0,_i-s.length),u=l.length-c;return[...l.slice(0,c),`\u2026 ${u} more lines omitted`,...s]}return[...l,...s]}K("smart-find",kd);var vr=1e3,wi=200,bd=60,_d=190,wd=/^([^\s:]+):(\d+):(.*)$/,xd=/^([^:]+?)-(\d+)-(.*)$/,vd=/^([^\s:]+):(.*)$/,xi=/(?:^|\/)(?:__tests__|tests?|spec|fixtures?|__mocks__|__snapshots__)\/|\.(?:test|spec)\.[^/]+$/i;function vi(e){let t=e.trim();return t.length>wi?`${t.slice(0,wi)}\u2026`:t}function Sd(e){let t=[],n="";for(let r of e){let s=n?`${n}, ${r}`:r;s.length>=_d&&n?(t.push(`${n},`),n=r):n=s}return n&&t.push(n),t}function Ed(e){let t=null;for(let n of e){let r=n.split("/").slice(0,-1);if(t===null){t=r;continue}let s=0;for(;s<t.length&&s<r.length&&t[s]===r[s];)s+=1;if(t=t.slice(0,s),t.length===0)return""}return t?t.join("/"):""}function Td(e){let t=e.filter(m=>m.trim()!=="");if(t.length===0)return e;let n=new Map,r=new Map,s=null,o=0,i=0;for(let m of t){if(m==="--"){s&&n.get(s).push({separator:!0});continue}if(/^[A-Za-z]:[\\/]/.test(m))return e;let h=wd.exec(m),w=xd.exec(m);if(h&&w)return e;let b=h||w?null:vd.exec(m),R=(h??w??b)?.[1];if(!R)return e;let E=h?{line:h[2],content:h[3],context:!1}:w?{line:w[2],content:w[3],context:!0}:{line:"",content:b[2],context:!1},I=n.get(R)??[];I.push(E),n.set(R,I),E.context||(o+=1,r.set(R,(r.get(R)??0)+1)),i+=1,s=R}if(n.size===i)return e;let a=[...n.keys()].sort((m,h)=>{let w=xi.test(m)?1:0,b=xi.test(h)?1:0;return w-b||(m<h?-1:m>h?1:0)}),l=a.length>1?Ed(a):"",c=m=>l?m.slice(l.length+1):m,u=[];for(let m of a){u.push(`${c(m)} (${r.get(m)??0}):`);for(let h of n.get(m))"separator"in h?u.push(" --"):h.line?u.push(` ${h.line}${h.context?"-":":"} ${vi(h.content)}`):u.push(` ${vi(h.content)}`)}let d=a.length>1&&u.length>bd?Sd(a.map(m=>`${c(m)} (${r.get(m)??0})`)):[],f=[`${o}m ${a.length}f${l?` in ${l}/`:""}:`,...d,"",...u];if(f.length>vr){let m=f.length-vr;return[...f.slice(0,vr),`\u2026 ${m} more lines omitted`]}return f}K("smart-grep",Td);var Si=/^(?:([|\\/ ._-]*\*[|\\/* ._-]* ))?commit [0-9a-f]{7,40}\b/,$d=/^[|\\/* ._-]*$/,Rd=/^ {4}/,Ad=2;function Cd(e){if(!e.some(c=>Si.test(c)))return e;let t=[],n=0,r=0,s=0,o="",i=!1,a=!1,l=()=>{r>0&&t.push(`${o} \u2026 ${r} ${r===1?"line":"lines"} folded \u2026`),r=0};for(let c of e){let u=c.slice(0,s),d=$d.test(u),f=d?c.slice(s):c,m=Rd.test(f),h=i&&m?null:Si.exec(c);if(h){l(),n=0,s=h[1]?.length??0,i=!0,a=!1,t.push(c);continue}if(/^diff --(?:git|cc|combined) /.test(f)&&(a=!0),m&&!a&&!(s>0&&f.trim().length===0)){n+=1,n<=Ad?t.push(c):(r+=1,o=d?u:"");continue}l(),t.push(c)}return l(),t}K("smart-log",Cd);var Id=/^[\s=]+$/,Od=/^\s*=+\s+(.*?)\s+=+\s*$/,Pd=512;K("strip-banners",e=>{let t=[];for(let n of e){if(Id.test(n))continue;let r=n.length<=Pd?Od.exec(n):null;t.push(r?r[1]:n)}return t});function Nd(e){let t=[],n=0,r=0;for(;r<e.length;){let s=e[r].replace(/\s+$/,"");if(s===""){n+=1,r+=1,n<=1&&t.push("");continue}n=0;let o=1;for(;r+o<e.length&&e[r+o].replace(/\s+$/,"")===s;)o+=1;if(o>=3)t.push(s),t.push(` \u2026 (repeated ${o}x)`);else for(let i=0;i<o;i++)t.push(s);r+=o}for(;t.length>0&&t[t.length-1]==="";)t.pop();return t}K("squeeze-output",Nd);function Dd(e){return e==="compact"?.6:e==="minimal"?.3:1}var Md=20;function Fd(e){let[t,n,r,s]=e.slice(-4);if(!t||!n||!r||!s||!/^\s*Test Files\s+([1-9]\d*) passed \(\1\)$/.test(t)||!/^\s*Tests\s+([1-9]\d*) passed \(\1\)$/.test(n)||!/^\s*Start at\s+\d{2}:\d{2}:\d{2}$/.test(r))return e;let o=/^(\s*Duration\s+\d+(?:\.\d+)?(?:ms|s)) \(transform [^\n]+\)$/.exec(s)?.[1];return o?[...e.slice(0,-4).filter((a,l)=>l>2||!/^ RUN v\d+\.\d+\.\d+(?:[\w.+-]*) .+$/.test(a)),t,n,o]:e}var Ei=new WeakMap;function Ld(e){let t=Ei.get(e);if(t)return t;let n=e.strip_lines_matching.map(s=>new RegExp(s)),r={def:e,stripRegexes:n};return Ei.set(e,r),r}function gn(e,t,n={}){return Sr(e,t,n).text}function Sr(e,t,n={}){let r=n.verbosity??"normal";if(!t.strip_ansi&&t.strip_lines_matching.length===0&&!t.transform&&!t.mask_abs_paths&&!t.fold_passing&&!t.truncate_lines_at&&!t.max_lines&&!t.on_empty&&!n.smartCode&&r==="normal")return{text:e,droppedTail:null};let s=Ld(t),o=e;t.strip_ansi&&(o=ue(o));let i=o.endsWith(`
20
20
  `),a=(i?o.slice(0,-1):o).split(`
21
- `);s.stripRegexes.length&&(a=t.keep_failures?a.filter(d=>Se.test(d)||!s.stripRegexes.some(m=>m.test(d))):ni(a,s.stripRegexes)),r!=="normal"&&!t.preserve_exact&&(a=hn(a),a=yi(a)),r==="minimal"&&!t.preserve_exact&&(a=hi(a),(t.slug==="vitest"||t.slug==="npm-test")&&(a=Nd(a)));let l=t.transform==="smart-read"&&n.smartCode!==!0?r==="compact"?8:r==="minimal"?6:3:3;if(!t.preserve_exact&&(n.smartCode||n.smartCode===void 0&&r!=="normal"&&pn(o))&&(a=Ft(a,l)),t.transform){let d=bi(t.transform);t.transform==="smart-read"?a=Ft(a,l,t.slug==="read-tool"):d&&(a=d(a))}let c=t.slug==="read-tool";if(!c){let d=wr(a);d.some(Boolean)&&(a=a.filter((m,h)=>!d[h]))}t.mask_abs_paths&&(a=ii(a)),t.fold_passing&&(a=oi(a,t.fold_passing_threshold??5)),t.truncate_lines_at&&(a=ri(a,t.truncate_lines_at));let u=null;if(t.max_lines){let d=t.scale_with_level?Od(n.verbosity):1,m=Math.min(t.max_lines,Math.max(Pd,Math.round(t.max_lines*d))),h=c?wr(a):null,w=h?h.filter(b=>!b).length:a.length;if(w>m){let b=m;if(h){let E=0;for(b=0;b<a.length&&E<m;)h[b]||(E+=1),b+=1}let R=w-m;if(t.keep_failures){let E=a.slice(b),I=E.filter(D=>!Se.test(D)),P=E.reduce((D,X,Q)=>D+(!Se.test(X)&&!h?.[b+Q]?1:0),0);u=I.length>0?I.join(`
21
+ `);s.stripRegexes.length&&(a=t.keep_failures?a.filter(f=>Se.test(f)||!s.stripRegexes.some(m=>m.test(f))):ni(a,s.stripRegexes)),r!=="normal"&&!t.preserve_exact&&(a=hn(a),a=yi(a)),r==="minimal"&&!t.preserve_exact&&(a=hi(a),(t.slug==="vitest"||t.slug==="npm-test")&&(a=Fd(a)));let l=t.transform==="smart-read"&&n.smartCode!==!0?r==="compact"?8:r==="minimal"?6:3:3;if(!t.preserve_exact&&(n.smartCode||n.smartCode===void 0&&r!=="normal"&&pn(o))&&(a=Ft(a,l)),t.transform){let f=bi(t.transform);t.transform==="smart-read"?a=Ft(a,l,t.slug==="read-tool"):f&&(a=f(a))}let c=t.slug==="read-tool";if(!c){let f=wr(a);f.some(Boolean)&&(a=a.filter((m,h)=>!f[h]))}t.mask_abs_paths&&(a=ii(a)),t.fold_passing&&(a=oi(a,t.fold_passing_threshold??5)),t.truncate_lines_at&&(a=ri(a,t.truncate_lines_at));let u=null;if(t.max_lines){let f=t.scale_with_level?Dd(n.verbosity):1,m=Math.min(t.max_lines,Math.max(Md,Math.round(t.max_lines*f))),h=c?wr(a):null,w=h?h.filter(b=>!b).length:a.length;if(w>m){let b=m;if(h){let E=0;for(b=0;b<a.length&&E<m;)h[b]||(E+=1),b+=1}let R=w-m;if(t.keep_failures){let E=a.slice(b),I=E.filter(D=>!Se.test(D)),P=E.reduce((D,X,Q)=>D+(!Se.test(X)&&!h?.[b+Q]?1:0),0);u=I.length>0?I.join(`
22
22
  `):null,a=[...a.slice(0,b),...P>0?[pt(P)]:[],...E.filter(D=>Se.test(D))]}else if(c)u=a.slice(b).join(`
23
23
  `),a=[...a.slice(0,b),pt(R)];else{let{kept:E,dropped:I}=si(a,m);u=I.length>0?I.join(`
24
- `):null,a=E}}}let f=a.join(`
25
- `);return i&&f.length>0&&(f+=`
26
- `),f.trim().length===0&&t.on_empty&&(f=t.on_empty),{text:f,droppedTail:u}}import Md from"node:os";import{join as Lt}from"node:path";function S(){return process.env.TOKMIZER_HOME||Lt(Md.homedir(),".tokmizer")}function jt(){return Lt(S(),"install-id")}function Er(){return Lt(S(),"content-cache")}function Ti(){return Lt(S(),"restore.json")}function Tr(e){return Lt(Er(),e)}var Ii="user/",yn=1,kn=null,Ri="",Ai=0,Hd=1e3;function bn(){return _n(S(),"filters")}function Oi(){return _n(S(),"filters-trust.json")}function Pi(e){return typeof e=="string"&&e.startsWith(Ii)}function Bd(e){return jd("sha256").update(e).digest("hex")}async function zd(){try{let e=JSON.parse(await Ci(Oi(),"utf8")),t={};if(e.files&&typeof e.files=="object")for(let[n,r]of Object.entries(e.files))typeof r=="string"&&/^[0-9a-f]{64}$/.test(r)&&(t[n]=r);return{v:1,files:t}}catch{return{v:1,files:{}}}}function Ud(e,t){if(t===void 0)return{tests:[]};let n={message:`${e}: tests: each [[filters.${e}.tests]] needs input and expected strings`};if(!Array.isArray(t))return n;let r=[];for(let s of t){if(typeof s!="object"||s===null)return n;let{input:o,expected:i,name:a}=s;if(typeof o!="string"||typeof i!="string")return n;r.push({...typeof a=="string"&&a?{name:a}:{},input:o,expected:i})}return{tests:r}}function Zd(e,t){let n=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},{tests:r,...s}=n,o=Ud(e,r);if("message"in o)return o;let i=ve.safeParse({...s,slug:e});if(!i.success){let l=i.error.issues.map(c=>`${c.path.join(".")||"rule"}: ${c.message}`).join("; ");return{message:`${e}: ${l}`}}let a;try{a=new RegExp(i.data.match_command)}catch{return{message:`${e}: match_command is not a valid regular expression`}}for(let l of i.data.strip_lines_matching)try{new RegExp(l)}catch{return{message:`${e}: strip_lines_matching has an invalid regular expression`}}return{filter:{...i.data,slug:`${Ii}${i.data.slug}`,matchRegex:a},tests:o.tests}}function Jd(e){return e===void 0||e===yn?null:typeof e=="number"&&Number.isInteger(e)?`schema_version ${e} is not supported: this tkr reads schema_version = ${yn}. Update tkr, or write the file for version ${yn}`:`schema_version must be the number ${yn}`}async function Gd(e){try{return(await Fd(e)).filter(t=>t.endsWith(".toml")).sort()}catch{return[]}}async function Kd(e={}){let t=e.requireTrust!==!1,n=bn(),r=new Map,s=new Map,o=[],i=await Gd(n);if(i.length===0)return{dir:n,filters:r,tests:s,issues:o};let a=t?await zd():null;for(let l of i){let c;try{c=await Ci(_n(n,l),"utf8")}catch{o.push({file:l,message:"could not be read"});continue}if(a){let f=a.files[l];if(!f){o.push({file:l,message:`not trusted yet. Review it, then run: tkr filters trust ${l}`});continue}if(f!==Bd(c)){o.push({file:l,message:`changed since it was trusted. Review it, then run: tkr filters trust ${l}`});continue}}let u=await Vd(c,l);for(let[f,d]of u.filters)r.set(f,d);for(let[f,d]of u.tests)s.set(f,d);o.push(...u.issues)}return{dir:n,filters:r,tests:s,issues:o}}async function Vd(e,t){let n=new Map,r=new Map,s=[],{parse:o}=await Promise.resolve().then(()=>(_r(),br)),i;try{i=o(e)}catch(c){return s.push({file:t,message:`not valid TOML (${String(c.message).split(`
27
- `)[0]})`}),{filters:n,tests:r,issues:s}}let a=Jd(i.schema_version);if(a)return s.push({file:t,message:a}),{filters:n,tests:r,issues:s};let l=i.filters;if(typeof l!="object"||l===null||Array.isArray(l))return s.push({file:t,message:"no [filters.<name>] table found"}),{filters:n,tests:r,issues:s};for(let[c,u]of Object.entries(l)){let f=Zd(c,u);if("message"in f){s.push({file:t,message:f.message});continue}n.set(f.filter.slug,f.filter),f.tests.length>0&&r.set(f.filter.slug,{file:t,tests:f.tests})}return{filters:n,tests:r,issues:s}}function Wd(){let e=[];for(let t of[Oi(),bn()])try{let n=$i(t);e.push(`${n.mtimeMs}:${n.size}`)}catch{e.push("-")}try{for(let t of Ld(bn()).filter(n=>n.endsWith(".toml")).sort()){let n=$i(_n(bn(),t));e.push(`${t}:${n.mtimeMs}:${n.size}`)}}catch{}return e.join("|")}function qd(){let e=Date.now();if(!kn||e-Ai>=Hd){Ai=e;let t=Wd();(!kn||t!==Ri)&&(Ri=t,kn=Kd())}return kn}async function Yd(e){let{filters:t}=await qd();return t.size===0?null:mt(e,t.values(),null,t)}function Ni(e){return async(t,n)=>await Yd(t)??e(t,n)}var Xd=[/\bERROR\b/,/\bFAIL\b/,/\bFAILED\b/,/\bFATAL\b/,/^Traceback /m,/^Error: /m,/^\s+at .*\(.*:\d+:\d+\)/m,/panic:/,/SyntaxError:/,/TypeError:/,/ReferenceError:/,/AssertionError:/,/^\s*(?:error|fatal):/i,/thread '.*' panicked/,/\b[1-9]\d* (?:failed|errors?)\b/];function Di(e){if(!e)return!1;for(let t of ue(e).split(`
28
- `))if(!/^\s*[✓✔√]\s/.test(t)&&Xd.some(n=>n.test(t)))return!0;return!1}var Qd=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),em=/^[A-Za-z_][A-Za-z0-9_]*=/,$r=/^([a-z]+)-tool(?::\s|$)/;function qe(e){let t=e.trim(),n=t.split(/\s+/),r=0;for(;r<n.length;){let a=n[r];if(em.test(a)){r++;continue}if(Qd.has(a)){for(r++,a==="timeout"&&r<n.length&&/^\d+(?:\.\d+)?[smhd]?$/.test(n[r])&&r++;(a==="stdbuf"||a==="nice")&&r<n.length&&n[r].startsWith("-");)r++;continue}break}if(r>=n.length)return t;let s=n[r],o=s.includes("/")?s.slice(s.lastIndexOf("/")+1):s,i=n.slice(r+1);return i.length?`${o} ${i.join(" ")}`:o}var tm=new Set(["cd","export","source","set","unset","mkdir","true",":","pushd","popd","alias","ulimit","umask","echo","printf","sleep","touch","rm","cp","mv","chmod","ln"]);function Mi(e,t){let n=!1,r=!1,s=0,o=[];for(let i=0;i<e.length;i++){let a=e[i];if(a==="\\"&&!n){i++;continue}a==="'"&&!r?n=!n:a==='"'&&!n?r=!r:!n&&!r&&(a===";"?(o.push(e.slice(s,i)),s=i+1):a==="|"&&e[i+1]==="|"?(o.push(e.slice(s,i)),i++,s=i+1):a==="|"?t||(o.push(e.slice(s,i)),s=i+1):a==="&"&&e[i+1]==="&"&&(o.push(e.slice(s,i)),i++,s=i+1))}return o.push(e.slice(s)),o}function nm(e){let t=Mi(e,!1);for(let n=t.length-1;n>=0;n--){let r=t[n].trim();if(r)return r}return e.trim()}function Rr(e){let t=Mi(e,!0).map(n=>n.trim()).filter(Boolean);if(t.length===0)return null;for(let n of t.slice(0,-1)){let r=qe(n).split(/\s+/)[0]??"";if(!tm.has(r))return null}return nm(t[t.length-1])}function Fi(e){let t=!1,n=!1,r=0,s=[];for(let o=0;o<e.length;o++){let i=e[o];if(i==="\\"&&!t){o++;continue}i==="'"&&!n?t=!t:i==='"'&&!t?n=!n:!t&&!n&&(i==="|"||i===";"?(s.push(e.slice(r,o)),i==="|"&&e[o+1]==="|"&&o++,r=o+1):i==="&"&&e[o+1]==="&"&&(s.push(e.slice(r,o)),o++,r=o+1))}s.push(e.slice(r));for(let o=s.length-1;o>=0;o--){let i=s[o].trim();if(i)return i}return e.trim()}var rm=/^(?:npx|bunx|uvx|pnpm\s+(?:exec|dlx)|yarn\s+(?:exec|dlx)|(?:uv|poetry|pipenv|hatch|pdm|rye)\s+run|bundle\s+exec|python[0-9.]*\s+-m)\s+(?=[^\s-])/;function Ar(e){let t=rm.exec(e);return t?qe(e.slice(t[0].length)):null}function Li(e){let t=$r.exec(e),n=e;if(t){if(t[1]!=="bash")return[e];let a=e.indexOf(": ");if(a<0)return[e];n=e.slice(a+2)}let r=Rr(n),s=r?qe(r):null,i=[s?Ar(s):null,s,e].filter(a=>!!a);return[...new Set(i)]}var ji=`
24
+ `):null,a=E}}}let d=a.join(`
25
+ `);return i&&d.length>0&&(d+=`
26
+ `),d.trim().length===0&&t.on_empty&&(d=t.on_empty),{text:d,droppedTail:u}}import jd from"node:os";import{join as Lt}from"node:path";function x(){return process.env.TOKMIZER_HOME||Lt(jd.homedir(),".tokmizer")}function jt(){return Lt(x(),"install-id")}function Er(){return Lt(x(),"content-cache")}function Ti(){return Lt(x(),"restore.json")}function Tr(e){return Lt(Er(),e)}var Ii="user/",yn=1,kn=null,Ri="",Ai=0,Ud=1e3;function bn(){return _n(x(),"filters")}function Oi(){return _n(x(),"filters-trust.json")}function Pi(e){return typeof e=="string"&&e.startsWith(Ii)}function Zd(e){return zd("sha256").update(e).digest("hex")}async function Jd(){try{let e=JSON.parse(await Ci(Oi(),"utf8")),t={};if(e.files&&typeof e.files=="object")for(let[n,r]of Object.entries(e.files))typeof r=="string"&&/^[0-9a-f]{64}$/.test(r)&&(t[n]=r);return{v:1,files:t}}catch{return{v:1,files:{}}}}function Kd(e,t){if(t===void 0)return{tests:[]};let n={message:`${e}: tests: each [[filters.${e}.tests]] needs input and expected strings`};if(!Array.isArray(t))return n;let r=[];for(let s of t){if(typeof s!="object"||s===null)return n;let{input:o,expected:i,name:a}=s;if(typeof o!="string"||typeof i!="string")return n;r.push({...typeof a=="string"&&a?{name:a}:{},input:o,expected:i})}return{tests:r}}function Gd(e,t){let n=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},{tests:r,...s}=n,o=Kd(e,r);if("message"in o)return o;let i=ve.safeParse({...s,slug:e});if(!i.success){let l=i.error.issues.map(c=>`${c.path.join(".")||"rule"}: ${c.message}`).join("; ");return{message:`${e}: ${l}`}}let a;try{a=new RegExp(i.data.match_command)}catch{return{message:`${e}: match_command is not a valid regular expression`}}for(let l of i.data.strip_lines_matching)try{new RegExp(l)}catch{return{message:`${e}: strip_lines_matching has an invalid regular expression`}}return{filter:{...i.data,slug:`${Ii}${i.data.slug}`,matchRegex:a},tests:o.tests}}function Vd(e){return e===void 0||e===yn?null:typeof e=="number"&&Number.isInteger(e)?`schema_version ${e} is not supported: this tkr reads schema_version = ${yn}. Update tkr, or write the file for version ${yn}`:`schema_version must be the number ${yn}`}async function Wd(e){try{return(await Hd(e)).filter(t=>t.endsWith(".toml")).sort()}catch{return[]}}async function qd(e={}){let t=e.requireTrust!==!1,n=bn(),r=new Map,s=new Map,o=[],i=await Wd(n);if(i.length===0)return{dir:n,filters:r,tests:s,issues:o};let a=t?await Jd():null;for(let l of i){let c;try{c=await Ci(_n(n,l),"utf8")}catch{o.push({file:l,message:"could not be read"});continue}if(a){let d=a.files[l];if(!d){o.push({file:l,message:`not trusted yet. Review it, then run: tkr filters trust ${l}`});continue}if(d!==Zd(c)){o.push({file:l,message:`changed since it was trusted. Review it, then run: tkr filters trust ${l}`});continue}}let u=await Yd(c,l);for(let[d,f]of u.filters)r.set(d,f);for(let[d,f]of u.tests)s.set(d,f);o.push(...u.issues)}return{dir:n,filters:r,tests:s,issues:o}}async function Yd(e,t){let n=new Map,r=new Map,s=[],{parse:o}=await Promise.resolve().then(()=>(_r(),br)),i;try{i=o(e)}catch(c){return s.push({file:t,message:`not valid TOML (${String(c.message).split(`
27
+ `)[0]})`}),{filters:n,tests:r,issues:s}}let a=Vd(i.schema_version);if(a)return s.push({file:t,message:a}),{filters:n,tests:r,issues:s};let l=i.filters;if(typeof l!="object"||l===null||Array.isArray(l))return s.push({file:t,message:"no [filters.<name>] table found"}),{filters:n,tests:r,issues:s};for(let[c,u]of Object.entries(l)){let d=Gd(c,u);if("message"in d){s.push({file:t,message:d.message});continue}n.set(d.filter.slug,d.filter),d.tests.length>0&&r.set(d.filter.slug,{file:t,tests:d.tests})}return{filters:n,tests:r,issues:s}}function Xd(){let e=[];for(let t of[Oi(),bn()])try{let n=$i(t);e.push(`${n.mtimeMs}:${n.size}`)}catch{e.push("-")}try{for(let t of Bd(bn()).filter(n=>n.endsWith(".toml")).sort()){let n=$i(_n(bn(),t));e.push(`${t}:${n.mtimeMs}:${n.size}`)}}catch{}return e.join("|")}function Qd(){let e=Date.now();if(!kn||e-Ai>=Ud){Ai=e;let t=Xd();(!kn||t!==Ri)&&(Ri=t,kn=qd())}return kn}async function em(e){let{filters:t}=await Qd();return t.size===0?null:mt(e,t.values(),null,t)}function Ni(e){return async(t,n)=>await em(t)??e(t,n)}var tm=[/\bERROR\b/,/\bFAIL\b/,/\bFAILED\b/,/\bFATAL\b/,/^Traceback /m,/^Error: /m,/^\s+at .*\(.*:\d+:\d+\)/m,/panic:/,/SyntaxError:/,/TypeError:/,/ReferenceError:/,/AssertionError:/,/^\s*(?:error|fatal):/i,/thread '.*' panicked/,/\b[1-9]\d* (?:failed|errors?)\b/];function Di(e){if(!e)return!1;for(let t of ue(e).split(`
28
+ `))if(!/^\s*[✓✔√]\s/.test(t)&&tm.some(n=>n.test(t)))return!0;return!1}var nm=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),rm=/^[A-Za-z_][A-Za-z0-9_]*=/,$r=/^([a-z]+)-tool(?::\s|$)/;function qe(e){let t=e.trim(),n=t.split(/\s+/),r=0;for(;r<n.length;){let a=n[r];if(rm.test(a)){r++;continue}if(nm.has(a)){for(r++,a==="timeout"&&r<n.length&&/^\d+(?:\.\d+)?[smhd]?$/.test(n[r])&&r++;(a==="stdbuf"||a==="nice")&&r<n.length&&n[r].startsWith("-");)r++;continue}break}if(r>=n.length)return t;let s=n[r],o=s.includes("/")?s.slice(s.lastIndexOf("/")+1):s,i=n.slice(r+1);return i.length?`${o} ${i.join(" ")}`:o}var sm=new Set(["cd","export","source","set","unset","mkdir","true",":","pushd","popd","alias","ulimit","umask","echo","printf","sleep","touch","rm","cp","mv","chmod","ln"]);function Mi(e,t){let n=!1,r=!1,s=0,o=[];for(let i=0;i<e.length;i++){let a=e[i];if(a==="\\"&&!n){i++;continue}a==="'"&&!r?n=!n:a==='"'&&!n?r=!r:!n&&!r&&(a===";"?(o.push(e.slice(s,i)),s=i+1):a==="|"&&e[i+1]==="|"?(o.push(e.slice(s,i)),i++,s=i+1):a==="|"?t||(o.push(e.slice(s,i)),s=i+1):a==="&"&&e[i+1]==="&"&&(o.push(e.slice(s,i)),i++,s=i+1))}return o.push(e.slice(s)),o}function om(e){let t=Mi(e,!1);for(let n=t.length-1;n>=0;n--){let r=t[n].trim();if(r)return r}return e.trim()}function Rr(e){let t=Mi(e,!0).map(n=>n.trim()).filter(Boolean);if(t.length===0)return null;for(let n of t.slice(0,-1)){let r=qe(n).split(/\s+/)[0]??"";if(!sm.has(r))return null}return om(t[t.length-1])}function Fi(e){let t=!1,n=!1,r=0,s=[];for(let o=0;o<e.length;o++){let i=e[o];if(i==="\\"&&!t){o++;continue}i==="'"&&!n?t=!t:i==='"'&&!t?n=!n:!t&&!n&&(i==="|"||i===";"?(s.push(e.slice(r,o)),i==="|"&&e[o+1]==="|"&&o++,r=o+1):i==="&"&&e[o+1]==="&"&&(s.push(e.slice(r,o)),o++,r=o+1))}s.push(e.slice(r));for(let o=s.length-1;o>=0;o--){let i=s[o].trim();if(i)return i}return e.trim()}var im=/^(?:npx|bunx|uvx|pnpm\s+(?:exec|dlx)|yarn\s+(?:exec|dlx)|(?:uv|poetry|pipenv|hatch|pdm|rye)\s+run|bundle\s+exec|python[0-9.]*\s+-m)\s+(?=[^\s-])/;function Ar(e){let t=im.exec(e);return t?qe(e.slice(t[0].length)):null}function Li(e){let t=$r.exec(e),n=e;if(t){if(t[1]!=="bash")return[e];let a=e.indexOf(": ");if(a<0)return[e];n=e.slice(a+2)}let r=Rr(n),s=r?qe(r):null,i=[s?Ar(s):null,s,e].filter(a=>!!a);return[...new Set(i)]}var ji=`
29
29
  [YOLO: omitted]
30
- `;function Cr(e){let t=Buffer.from(e,"utf8");if(t.length<=256)return e;let n=256-Buffer.byteLength(ji,"utf8"),r=Math.floor(n/2);for(;(t[r]&192)===128;)r-=1;let s=t.length-(n-r);for(;(t[s]&192)===128;)s+=1;return t.subarray(0,r).toString("utf8")+ji+t.subarray(s).toString("utf8")}var sm=/^ID {2,}TITLE {2,}BRANCH {2,}STATE {2,}CREATED *$/,om=/^… \([1-9]\d* more lines omitted\)$/,Ir=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/;function im(e,t){if(!t)return e.split(`
30
+ `;function Cr(e){let t=Buffer.from(e,"utf8");if(t.length<=256)return e;let n=256-Buffer.byteLength(ji,"utf8"),r=Math.floor(n/2);for(;(t[r]&192)===128;)r-=1;let s=t.length-(n-r);for(;(t[s]&192)===128;)s+=1;return t.subarray(0,r).toString("utf8")+ji+t.subarray(s).toString("utf8")}var am=/^ID {2,}TITLE {2,}BRANCH {2,}STATE {2,}CREATED *$/,lm=/^… \([1-9]\d* more lines omitted\)$/,Ir=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/;function cm(e,t){if(!t)return e.split(`
31
31
  `).map(o=>o.replace(/^[ \t]+|[ \t]+(?=\r?$)/g,"")).join(`
32
32
  `);let n="",r=!1,s=!1;for(let o of e)r?(n+=o,s?s=!1:o==="\\"?s=!0:o==='"'&&(r=!1)):o==='"'?(r=!0,n+=o):o!==" "&&o!==" "&&o!=="\r"&&o!==`
33
33
  `&&(n+=o);return n+(e.endsWith(`
34
34
  `)?`
35
- `:"")}function am(e,t){if(/@(?:p)?\d|\r/.test(e))return e;let n=e.endsWith(`
35
+ `:"")}function um(e,t){if(/@(?:p)?\d|\r/.test(e))return e;let n=e.endsWith(`
36
36
  `)?`
37
37
  `:"",r=(n?e.slice(0,-1):e).split(`
38
- `),s=r.findIndex(b=>sm.test(b));if(s>=0&&r.slice(0,s).some(b=>b!==""&&!/^Showing \d+ of \d+ (?:open|closed|all) pull requests in \S+$/.test(b)))return e;let o=s>=0?[...r[s].matchAll(/\S+/g)].map(b=>b.index):[],i=[];for(let b=s+1;b<r.length;b+=1){let R=r[b];if(om.test(R))continue;if(/…|\.\.\./.test(R))return e;let E;if(s>=0){if(/[^\x20-\x7e]/.test(R))return e;let I=o.map((P,D)=>R.slice(P,o[D+1]));if(I.slice(0,-1).some(P=>P[0]===" "||!P.endsWith(" "))||(E=I.map(P=>P.replace(/ +$/,"")),!/^#\d+$/.test(E[0])||!/^\S+$/.test(E[2])||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(E[3])||!/^\d+(?:s|m|h|d|w|mo|y)$/.test(E[4])))return e}else if(E=R.split(" "),E.length!==5||!/^\d+$/.test(E[0])||!E[1]||!E[2]||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(E[3])||!Ir.test(E[4])||!Number.isFinite(Date.parse(E[4])))return e;if(E.some(I=>/[\u0000-\u001f\u007f]/.test(I)))return e;i.push({index:b,cells:E})}if(i.length===0)return e;s>=0&&(r[s]="ID TITLE BRANCH STATE CREATED");for(let b of i)r[b.index]=b.cells.join(" ");let a=r.join(`
39
- `)+n;if(!t)return a;let l=new Map;for(let{cells:b}of i)l.set(b[1],(l.get(b[1])??0)+1);let c=new Map,u=[];for(let[b,R]of l){if(b.length<40||R<3||b.trim().split(/\s+/).length<8)continue;let E=`@${c.size+1}`,I=JSON.stringify(b).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),P=`TITLE ${E} = ${I}`;R*(Buffer.byteLength(b)-Buffer.byteLength(E))<=Buffer.byteLength(P)+1||(c.set(b,E),u.push(P))}let f=new Map;for(let{cells:b}of i){if(c.has(b[1]))continue;let R=/^((?:\S+\s+){4})\S/.exec(b[1])?.[1];R&&R.length>=24&&f.set(R,(f.get(R)??0)+1)}let d=new Map;for(let[b,R]of f){if(R<3)continue;let E=`@p${d.size+1}`,I=`TITLE prefix ${E} = ${JSON.stringify(b).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}`;R*(Buffer.byteLength(b)-Buffer.byteLength(E)-1)<=Buffer.byteLength(I)+1||(d.set(b,E),u.push(I))}let m=i[0].cells[4].slice(10),h=i.length>=3&&Ir.test(i[0].cells[4])&&i.every(({cells:b})=>Ir.test(b[4])&&b[4].slice(10)===m)&&i.length*m.length>`CREATED suffix = ${JSON.stringify(m)}`.length+1;if(h&&u.push(`CREATED suffix = ${JSON.stringify(m)}`),u.length===0)return a;for(let{index:b,cells:R}of i){let E=c.get(R[1]),I=/^((?:\S+\s+){4})\S/.exec(R[1])?.[1],P=I?d.get(I):void 0;r[b]=R.map((D,X)=>X===1?E??(P?`${P}:${D.slice(I.length)}`:D):X===4&&h?D.slice(0,10):D).join(" ")}let w=[...r,"",...u].join(`
40
- `)+n;return Buffer.byteLength(w)<Buffer.byteLength(a)?w:a}var Hi={"Changes to be committed:":"staged","Changes not staged for commit:":"unstaged","Untracked files:":"untracked"},lm={modified:"M",deleted:"D","new file":"A",renamed:"R",copied:"C",typechange:"T"},cm=/^\t(modified|deleted|new file|renamed|copied|typechange):\s+(.+)$/,um=/^On branch (\S+)$/,fm=/^Your branch is (?:up to date with '([^']+)'|(ahead|behind)(?: of)? '([^']+)' by (\d+) commits?(?:, and can be fast-forwarded)?)\.$/;function dm(e){let t=um.exec(e[0]??"");if(!t)return e;let n=fm.exec(e[1]??"");if(!n)return[`* ${t[1]}`,...e.slice(1)];let r=n[1]??n[3],s=n[2]?` [${n[2]} ${n[4]}]`:"";return[`* ${t[1]}...${r}${s}`,...e.slice(2)]}function mm(e){let t=e.endsWith(`
38
+ `),s=r.findIndex(b=>am.test(b));if(s>=0&&r.slice(0,s).some(b=>b!==""&&!/^Showing \d+ of \d+ (?:open|closed|all) pull requests in \S+$/.test(b)))return e;let o=s>=0?[...r[s].matchAll(/\S+/g)].map(b=>b.index):[],i=[];for(let b=s+1;b<r.length;b+=1){let R=r[b];if(lm.test(R))continue;if(/…|\.\.\./.test(R))return e;let E;if(s>=0){if(/[^\x20-\x7e]/.test(R))return e;let I=o.map((P,D)=>R.slice(P,o[D+1]));if(I.slice(0,-1).some(P=>P[0]===" "||!P.endsWith(" "))||(E=I.map(P=>P.replace(/ +$/,"")),!/^#\d+$/.test(E[0])||!/^\S+$/.test(E[2])||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(E[3])||!/^\d+(?:s|m|h|d|w|mo|y)$/.test(E[4])))return e}else if(E=R.split(" "),E.length!==5||!/^\d+$/.test(E[0])||!E[1]||!E[2]||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(E[3])||!Ir.test(E[4])||!Number.isFinite(Date.parse(E[4])))return e;if(E.some(I=>/[\u0000-\u001f\u007f]/.test(I)))return e;i.push({index:b,cells:E})}if(i.length===0)return e;s>=0&&(r[s]="ID TITLE BRANCH STATE CREATED");for(let b of i)r[b.index]=b.cells.join(" ");let a=r.join(`
39
+ `)+n;if(!t)return a;let l=new Map;for(let{cells:b}of i)l.set(b[1],(l.get(b[1])??0)+1);let c=new Map,u=[];for(let[b,R]of l){if(b.length<40||R<3||b.trim().split(/\s+/).length<8)continue;let E=`@${c.size+1}`,I=JSON.stringify(b).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),P=`TITLE ${E} = ${I}`;R*(Buffer.byteLength(b)-Buffer.byteLength(E))<=Buffer.byteLength(P)+1||(c.set(b,E),u.push(P))}let d=new Map;for(let{cells:b}of i){if(c.has(b[1]))continue;let R=/^((?:\S+\s+){4})\S/.exec(b[1])?.[1];R&&R.length>=24&&d.set(R,(d.get(R)??0)+1)}let f=new Map;for(let[b,R]of d){if(R<3)continue;let E=`@p${f.size+1}`,I=`TITLE prefix ${E} = ${JSON.stringify(b).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}`;R*(Buffer.byteLength(b)-Buffer.byteLength(E)-1)<=Buffer.byteLength(I)+1||(f.set(b,E),u.push(I))}let m=i[0].cells[4].slice(10),h=i.length>=3&&Ir.test(i[0].cells[4])&&i.every(({cells:b})=>Ir.test(b[4])&&b[4].slice(10)===m)&&i.length*m.length>`CREATED suffix = ${JSON.stringify(m)}`.length+1;if(h&&u.push(`CREATED suffix = ${JSON.stringify(m)}`),u.length===0)return a;for(let{index:b,cells:R}of i){let E=c.get(R[1]),I=/^((?:\S+\s+){4})\S/.exec(R[1])?.[1],P=I?f.get(I):void 0;r[b]=R.map((D,X)=>X===1?E??(P?`${P}:${D.slice(I.length)}`:D):X===4&&h?D.slice(0,10):D).join(" ")}let w=[...r,"",...u].join(`
40
+ `)+n;return Buffer.byteLength(w)<Buffer.byteLength(a)?w:a}var Hi={"Changes to be committed:":"staged","Changes not staged for commit:":"unstaged","Untracked files:":"untracked"},fm={modified:"M",deleted:"D","new file":"A",renamed:"R",copied:"C",typechange:"T"},dm=/^\t(modified|deleted|new file|renamed|copied|typechange):\s+(.+)$/,mm=/^On branch (\S+)$/,pm=/^Your branch is (?:up to date with '([^']+)'|(ahead|behind)(?: of)? '([^']+)' by (\d+) commits?(?:, and can be fast-forwarded)?)\.$/;function hm(e){let t=mm.exec(e[0]??"");if(!t)return e;let n=pm.exec(e[1]??"");if(!n)return[`* ${t[1]}`,...e.slice(1)];let r=n[1]??n[3],s=n[2]?` [${n[2]} ${n[4]}]`:"";return[`* ${t[1]}...${r}${s}`,...e.slice(2)]}function gm(e){let t=e.endsWith(`
41
41
  `)?`
42
- `:"",n=dm((t?e.slice(0,-1):e).split(`
43
- `)),r=null,s=[];for(let o of n){if(Object.hasOwn(Hi,o)){r=Hi[o];continue}if(!o.startsWith(" ")){r=null,s.push(o);continue}if(r==="untracked"){s.push(`?? ${o.slice(1)}`);continue}let i=r?cm.exec(o):null;if(!i)return e;let a=lm[i[1]];s.push(r==="staged"?`${a} ${i[2]}`:` ${a} ${i[2]}`)}return s.join(`
44
- `)+t}var Bi=/^ (\S.*?) +\| +(\d+(?: [+-]+)?|Bin .*)$/,pm=/^ \d+ files? changed(?:, \d+ insertions?\(\+\))?(?:, \d+ deletions?\(-\))?$/;function hm(e){let t=e.split(`
45
- `);for(let n=0;n<t.length;n+=1){if(!pm.test(t[n]))continue;let r=n;for(;r>0&&Bi.test(t[r-1]);)r-=1;for(let s=r;s<n;s+=1)t[s]=t[s].replace(Bi," $1 | $2")}return t.join(`
46
- `)}var gm=/^( *(?:[~+-] +)?(?:[\w.-]+|"[^"\n]*")) {2,}= /gm,zi=/^[A-Z][A-Z0-9_]*(?: +[A-Z][A-Z0-9_]*)+$/,Ui=/^… \(\d+ more lines omitted\)$/;function ym(e,t){let n=[];for(let r=0;r<t.length;r+=1){let s=t[r];if(s>0&&e.length>s&&e[s-1]!==" ")return null;let o=e.slice(s,t[r+1]??e.length).trim();if(o.includes(" "))return null;n.push(o)}return n}function km(e){let t=e.endsWith(`
42
+ `:"",n=hm((t?e.slice(0,-1):e).split(`
43
+ `)),r=null,s=[];for(let o of n){if(Object.hasOwn(Hi,o)){r=Hi[o];continue}if(!o.startsWith(" ")){r=null,s.push(o);continue}if(r==="untracked"){s.push(`?? ${o.slice(1)}`);continue}let i=r?dm.exec(o):null;if(!i)return e;let a=fm[i[1]];s.push(r==="staged"?`${a} ${i[2]}`:` ${a} ${i[2]}`)}return s.join(`
44
+ `)+t}var Bi=/^ (\S.*?) +\| +(\d+(?: [+-]+)?|Bin .*)$/,ym=/^ \d+ files? changed(?:, \d+ insertions?\(\+\))?(?:, \d+ deletions?\(-\))?$/;function km(e){let t=e.split(`
45
+ `);for(let n=0;n<t.length;n+=1){if(!ym.test(t[n]))continue;let r=n;for(;r>0&&Bi.test(t[r-1]);)r-=1;for(let s=r;s<n;s+=1)t[s]=t[s].replace(Bi," $1 | $2")}return t.join(`
46
+ `)}var bm=/^( *(?:[~+-] +)?(?:[\w.-]+|"[^"\n]*")) {2,}= /gm,zi=/^[A-Z][A-Z0-9_]*(?: +[A-Z][A-Z0-9_]*)+$/,Ui=/^… \(\d+ more lines omitted\)$/;function _m(e,t){let n=[];for(let r=0;r<t.length;r+=1){let s=t[r];if(s>0&&e.length>s&&e[s-1]!==" ")return null;let o=e.slice(s,t[r+1]??e.length).trim();if(o.includes(" "))return null;n.push(o)}return n}function wm(e){let t=e.endsWith(`
47
47
  `)?`
48
48
  `:"",n=(t?e.slice(0,-1):e).split(`
49
49
  `),r=[],s=[];for(let c of n)c.startsWith("WARNING:")?r.includes(c)||r.push(c):s.push(c);let o=s.findIndex(c=>zi.test(c));if(o<0)return[...r,...s].join(`
50
- `)+t;let i=s[o],a=[...i.matchAll(/\S+/g)].map(c=>c.index),l=[...r,...s.slice(0,o),i.split(/ +/).join(" ")];for(let c of s.slice(o+1)){if(Ui.test(c)){l.push(c);continue}let u=c.startsWith(" ")||/[^\x20-\x7e]/.test(c)?null:ym(c,a);if(!u)return[...r,...s].join(`
50
+ `)+t;let i=s[o],a=[...i.matchAll(/\S+/g)].map(c=>c.index),l=[...r,...s.slice(0,o),i.split(/ +/).join(" ")];for(let c of s.slice(o+1)){if(Ui.test(c)){l.push(c);continue}let u=c.startsWith(" ")||/[^\x20-\x7e]/.test(c)?null:_m(c,a);if(!u)return[...r,...s].join(`
51
51
  `)+t;l.push(u.join(" "))}return l.join(`
52
- `)+t}function bm(e){let t=e.endsWith(`
52
+ `)+t}function xm(e){let t=e.endsWith(`
53
53
  `)?`
54
54
  `:"",n=(t?e.slice(0,-1):e).split(`
55
55
  `),r=n.findIndex(i=>zi.test(i.trimEnd()));if(r<0)return e;let s=n[r].trim().split(/ {2,}/).length;if(s<2)return e;let o=[...n.slice(0,r),n[r].trim().split(/ {2,}/).join(" ")];for(let i of n.slice(r+1)){if(Ui.test(i)){o.push(i);continue}if(i.startsWith(" ")||i.includes(" ")||/[^\x20-\x7e]/.test(i))return e;let a=i.trimEnd().split(/ {2,}/);if(a.length===s-1){let l=a[0].indexOf(" ");if(l<0||a[0].indexOf(" ",l+1)>=0)return e;a=[a[0].slice(0,l),a[0].slice(l+1),...a.slice(1)]}if(a.length!==s)return e;o.push(a.join(" "))}return o.join(`
56
- `)+t}function Or(e,t,n){if(t!=="compact"&&t!=="minimal")return e;let r=e;if(/^[ \t\r\n]*[\[{]/.test(e)){try{JSON.parse(e)}catch{return e}r=im(e,t==="minimal")}else n==="gh"?r=am(e,t==="minimal"):n==="git-status"?r=mm(e):n==="gcloud"?r=km(e):n==="oc"?r=bm(e):n==="git-diff"?r=hm(e):n==="tofu-plan"&&(r=e.replace(gm,"$1 = "));return Buffer.byteLength(r)<Buffer.byteLength(e)?r:e}var _m=/^(?:\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}:\d{2}(?:\.\d+)?Z?\s+)?(?:\[(?:DEBUG|TRACE|INFO|WARN|WARNING|ERROR|FATAL)\]|DEBUG|TRACE|INFO|WARN|WARNING|ERROR|FATAL)(?::|\s|$)/,wm=/^\[tkr: previous log line repeated \d+ additional times\]$/m;function Zi(e){if(Buffer.byteLength(e)<2048||pn(e)||wm.test(e))return e;let t=e.split(`
57
- `),n=[];for(let r=0;r<t.length;){let s=t[r],o=r+1;if(_m.test(s))for(;o<t.length&&t[o]===s;)o+=1;let i=o-r,a=`[tkr: previous log line repeated ${i-1} additional times]`;if(i>=3&&Buffer.byteLength(a)+1<(i-1)*(Buffer.byteLength(s)+1))n.push(s,a);else for(let l=r;l<o;l+=1)n.push(s);r=o}return n.join(`
58
- `)}var xm=/^(?:[A-Za-z]:)?[^\s"'<>|]+\.(?:[cm]?[jt]sx?|json)$/,vm=/--(?:listFiles|listFilesOnly|listEmittedFiles|showConfig|explainFiles|traceResolution)(?:\s|=|$)/;function Ji(e){return vm.test(e)}function Gi(e){let t=e.endsWith(`
56
+ `)+t}function Or(e,t,n){if(t!=="compact"&&t!=="minimal")return e;let r=e;if(/^[ \t\r\n]*[\[{]/.test(e)){try{JSON.parse(e)}catch{return e}r=cm(e,t==="minimal")}else n==="gh"?r=um(e,t==="minimal"):n==="git-status"?r=gm(e):n==="gcloud"?r=wm(e):n==="oc"?r=xm(e):n==="git-diff"?r=km(e):n==="tofu-plan"&&(r=e.replace(bm,"$1 = "));return Buffer.byteLength(r)<Buffer.byteLength(e)?r:e}var vm=/^(?:\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}:\d{2}(?:\.\d+)?Z?\s+)?(?:\[(?:DEBUG|TRACE|INFO|WARN|WARNING|ERROR|FATAL)\]|DEBUG|TRACE|INFO|WARN|WARNING|ERROR|FATAL)(?::|\s|$)/,Sm=/^\[tkr: previous log line repeated \d+ additional times\]$/m;function Zi(e){if(Buffer.byteLength(e)<2048||pn(e)||Sm.test(e))return e;let t=e.split(`
57
+ `),n=[];for(let r=0;r<t.length;){let s=t[r],o=r+1;if(vm.test(s))for(;o<t.length&&t[o]===s;)o+=1;let i=o-r,a=`[tkr: previous log line repeated ${i-1} additional times]`;if(i>=3&&Buffer.byteLength(a)+1<(i-1)*(Buffer.byteLength(s)+1))n.push(s,a);else for(let l=r;l<o;l+=1)n.push(s);r=o}return n.join(`
58
+ `)}var Em=/^(?:[A-Za-z]:)?[^\s"'<>|]+\.(?:[cm]?[jt]sx?|json)$/,Tm=/--(?:listFiles|listFilesOnly|listEmittedFiles|showConfig|explainFiles|traceResolution)(?:\s|=|$)/;function Ji(e){return Tm.test(e)}function Ki(e){let t=e.endsWith(`
59
59
  `),n=(t?e.slice(0,-1):e).split(`
60
- `),r=0;for(let s of n)if(s.trim()!==""){if(!xm.test(s))return null;r+=1}return r<2?null:`tsc: 0 errors, ${r} files${t?`
61
- `:""}`}var qi=/^(?:(?:npx|bunx|pnpm(?:\s+(?:exec|dlx))?|yarn(?:\s+exec)?|uv\s+run|poetry\s+run|pipenv\s+run|hatch\s+run|python3?\s+-m)\s+)?(?:\S*\/)?(?:vitest|jest|mocha|pytest|py\.test|playwright\s+test)(?:\s|$)|^(?:npm|pnpm|yarn|bun)\s+(?:run\s+)?(?:test|t)(?:[:-]\S+)?(?:\s|$)|^cargo\s+test(?:\s|$)|^go\s+test(?:\s|$)/,Yi={normal:{msg:40,diff:60,frames:6,code:!0,out:20,bulk:50,repeats:10,trimDiff:!1,changedOnly:!1},compact:{msg:12,diff:24,frames:2,code:!1,out:5,bulk:20,repeats:2,trimDiff:!0,changedOnly:!1},minimal:{msg:6,diff:8,frames:0,code:!1,out:0,bulk:10,repeats:1,trimDiff:!0,changedOnly:!0}},Sm=/node_modules|^node:|^internal\/|site-packages|dist-packages|\/lib\/python\d|\/rustc\/|\.cargo\/registry|\.rustup\/|\/go\/src\/|\/go\/pkg\/mod\/|\/libexec\/src\/|<anonymous>/,Em=/^\s*at\s+(?:.*?\()?((?:file:\/\/)?[^\s()]+?):(\d+)(?::(\d+))?\)?\s*$/,Tm=/^\s*❯\s+(?:\S+\s+)?([^\s]+?):(\d+)(?::(\d+))?\s*$/,$m=/^\s*(>)?\s*(\d+)\s*\|/,Rm=/^\s*\|\s*[\^~]+\s*$/,Am=/^(?:- Expected|\+ Received|- Snapshot|\+ expected - actual|\+ actual - expected|- expected \+ actual)(?:\s+[-+]\s*\d+)?$/;function ht(e,t){let n=null;for(let r of e){let s=t.exec(r);s&&(n=(n??0)+Number(s[1]))}return n}function wn(e){return Sm.test(e)}function xn(e,t,n){return n===null?t:(t!==n&&!e.some(r=>r.kind==="frame"&&r.text===t)&&e.push({kind:"frame",text:t}),n)}function Pr(e,t=()=>!1){let n=[],r=null,s=-1,o=!1;for(let f of e){let d=f.trimEnd(),m=d.trim();if(!m||Rm.test(d)||/^─+$/.test(m))continue;if(t(m)){o=!0,n.push({kind:"out",text:m.replace(/\s*─+$/,"")});continue}if(o){n.push({kind:"out",text:m});continue}let h=Em.exec(d)??Tm.exec(d);if(h){s=-1;let b=h[1].replace(/^file:\/\//,"");wn(b)||(r=xn(n,`${b}:${h[2]}${h[3]?`:${h[3]}`:""}`,r));continue}let w=$m.exec(d);if(w){s=-1,n.push({kind:"code",text:m,num:Number(w[2]),pointed:w[1]===">"});continue}if(Am.test(m)){s=n.length,n.push({kind:"legend",text:m});continue}n.push(s>=0?{kind:"diff",text:d,segment:s}:{kind:"msg",text:m})}let i=n.some(f=>f.kind==="code"&&f.pointed),a=r?Number(/:(\d+)(?::\d+)?$/.exec(r)?.[1]):NaN,l=!1,c=n.filter(f=>{if(f.kind!=="code")return!0;let d=!l&&(i?f.pointed===!0:f.num===a);return d&&(l=!0),d}),u=new Map;for(let f of c){if(f.kind!=="diff")continue;let d=f.text.length-f.text.trimStart().length;u.set(f.segment,Math.min(u.get(f.segment)??d,d))}for(let f of c)f.kind==="diff"&&(f.text=f.text.slice(u.get(f.segment)??0)),f.kind==="code"&&(f.text=f.text.replace(/^>\s*/,""));return{body:c,loc:r}}function K(e,t=!1){return{text:e.trim().replace(/\s{2,}/g," "),minor:t}}function Cm(e){if(!e.some(l=>/^⎯+ Failed (?:Tests|Suites) \d+ ⎯+$/.test(l.trim())||/^\s*Test Files\s{2,}\d/.test(l)||/^ ?FAIL\s+\S+ > /.test(l)))return null;let t=ht(e,/^\s*Tests\s+(\d+) failed/),n=[];for(let l of e)/^\s*Test Files\s{2,}\S/.test(l)?n.push(K(l,!0)):/^\s*(?:Tests|Errors|Type Errors)\s{2,}\S/.test(l)&&n.push(K(l));let r=[],s=0,o=[],i=[],a=()=>{if(o.length){let{body:l,loc:c}=Pr(i);for(let u of o)u.body=l,u.loc=c}o=[],i=[]};for(let l of e){let c=l.trim(),u=/^ ?FAIL\s+(\S.*?)\s*$/.exec(l);if(u){i.some(b=>b.trim())&&a();let d=u[1],m=/^(\S+) \[ \S+ \]$/.exec(d),h=d.split(" > "),w=m?{file:m[1],name:"(suite)",loc:null,body:[]}:h.length>1?{file:h[0],name:h.slice(1).join(" > "),loc:null,body:[]}:{file:null,name:d,loc:null,body:[]};m||(s+=1),r.push(w),o.push(w);continue}let f=/^⎯+ (Unhandled [A-Za-z ]+?) ⎯+$/.exec(c);if(f){a();let d={file:null,name:f[1],loc:null,body:[]};r.push(d),o.push(d);continue}if(/^⎯{3,}/.test(c)||/^(?:Test Files|Tests|Start at|Duration|Errors)\s{2,}/.test(c)){a();continue}o.length&&i.push(l)}if(a(),s===0){let l=null;for(let c of e){let u=/^\s*[❯✓×✗]\s+(\S+)\s+\(\d+ tests?\b/.exec(c);if(u){l=u[1];continue}let f=/^\s+[×✗]\s+(.+?)(?:\s+\d+(?:\.\d+)?m?s)?$/.exec(c);f&&(r.push({file:l,name:f[1],loc:null,body:[]}),s+=1)}}return{failures:r,summary:n,reported:t,counted:s}}function Im(e){if(!e.some(u=>/^\s{2}● (?!Console$)/.test(u))||!e.some(u=>/^Tests:\s/.test(u)||/^(?:FAIL|PASS)\s+\S/.test(u)))return null;let t=ht(e,/^Tests:\s+(\d+) failed/),n=[];for(let u of e)/^Test Suites:\s/.test(u)?n.push(K(u,!0)):(/^Tests:\s/.test(u)||/^Snapshots:\s/.test(u)&&/failed|obsolete/.test(u))&&n.push(K(u));let r=[],s=new Set,o=0,i=null,a=null,l=[],c=()=>{if(a){let u=`${a.file}\0${a.name}`;if(!s.has(u)){s.add(u);let{body:f,loc:d}=Pr(l);a.body=f,a.loc=d,r.push(a),a.name!=="Test suite failed to run"&&(o+=1)}}a=null,l=[]};for(let u of e){let f=/^(?:FAIL|PASS)\s+(\S+)/.exec(u);if(f){c(),i=f[1];continue}if(/^(?:Summary of all failing tests|Test Suites:|Tests:|Snapshots:|Time:|Ran all test suites)/.test(u)){c();continue}let d=/^\s{2}● (.+)$/.exec(u);if(d){c(),d[1].trim()!=="Console"&&(a={file:i,name:d[1].trim(),loc:null,body:[]});continue}a&&l.push(u)}return c(),{failures:r,summary:n,reported:t,counted:o}}function Xi(e,t,n,r,s){let o=[],i=new Map,a=null;for(let l=t;l<n;l++){let c=e[l],u=/^\s{2}\d+\) (.+)$/.exec(c);if(u){let{name:f,used:d}=r(u[1],e.slice(l+1,Math.min(n,l+8)));l+=d,a=i.get(f)??null,a||(a=[],i.set(f,a),o.push({file:null,name:f,loc:null,body:[]}));continue}/^\s+Retry #\d+ ─*/.test(c)||a&&a.push(c)}for(let l of o){let{body:c,loc:u}=Pr(i.get(l.name),s);l.body=c,l.loc=u}return o}function Om(e){let t=e.findIndex(o=>/^\s*\d+ failing$/.test(o));if(t<0)return null;let n=Number(/(\d+)/.exec(e[t])[1]),r=e.filter(o=>/^\s*\d+ (?:passing|failing|pending)(?: \(\S+\))?$/.test(o)).map(o=>K(o.replace(/ \(\S+\)\s*$/,""))),s=Xi(e,t+1,e.length,(o,i)=>{let a=[o.trim()],l=0;for(;!a[a.length-1].endsWith(":")&&l<i.length&&i[l].trim();)a.push(i[l].trim()),l+=1;return a[a.length-1].endsWith(":")?{name:a.join(" \u203A ").replace(/:$/,""),used:l}:{name:o.trim(),used:0}});return{failures:s,summary:r,reported:n,counted:s.length}}function Pm(e){let t=e.findIndex(a=>/^\s{2}\d+\) .*›.*─{3,}\s*$/.test(a));if(t<0)return null;let n=e.findIndex((a,l)=>l>t&&/^\s{2}\d+ (?:failed|flaky|passed|skipped|interrupted|did not run)(?: \(.+\))?$/.test(a)),r=n<0?e.length:n,s=ht(e.slice(r),/^\s{2}(\d+) failed$/),o=e.slice(r).filter(a=>/^\s{2}\d+ (?:failed|flaky|passed|skipped|interrupted|did not run)(?: \(.+\))?$/.test(a)).map(a=>K(a.replace(/ \([\d.]+m?s\)\s*$/,""))),i=Xi(e,t,r,a=>({name:a.replace(/\s*─+\s*$/,"").trim(),used:0}),a=>/^attachment #\d+:/.test(a));return{failures:i,summary:o,reported:s,counted:i.length}}function Nm(e){if(!e.some(i=>/^test result: /.test(i))||!e.some(i=>/^---- .+ stdout ----$/.test(i)))return null;let t=ht(e,/^test result: FAILED\. \d+ passed; (\d+) failed/),n=[];for(let i of e)/^test result: FAILED/.test(i)?n.push(K(i.replace(/; finished in [\d.]+m?s\s*$/,""))):/^test result: ok/.test(i)?n.push(K(i.replace(/; finished in [\d.]+m?s\s*$/,""),!0)):/^error(?:\[\w+\])?: /.test(i)&&n.push(K(i));let r=[],s=null,o=[];for(let i of e){let a=/^---- (.+?) stdout ----$/.exec(i);if(a){s={f:{file:null,name:a[1],loc:null,body:[]},lines:[]},o.push(s),r.push(s.f);continue}if(/^failures:$|^test result: |^running \d+ tests?$/.test(i)){s=null;continue}s&&s.lines.push(i)}for(let{f:i,lines:a}of o){let l=!1,c=!1;for(let u of a){let f=u.trimEnd(),d=f.trim();if(!d)continue;let m=/^thread '.+?'(?: \(\d+\))? panicked at (?:'(.*)', )?(\S+?):(\d+):(\d+):?$/.exec(d);if(m){l=!0,i.loc??=`${m[2]}:${m[3]}:${m[4]}`,m[1]&&i.body.push({kind:"msg",text:m[1]});continue}if(!/^note: run with `RUST_BACKTRACE/.test(d)){if(/^stack backtrace:$/.test(d)){c=!0;continue}if(c){let h=/^at\s+(\S+?):(\d+):(\d+)$/.exec(d);h&&!wn(h[1])&&(i.loc=xn(i.body,`${h[1]}:${h[2]}:${h[3]}`,i.loc));continue}i.body.push(l?{kind:"msg",text:f}:{kind:"out",text:f})}}}return{failures:r,summary:n,reported:t,counted:r.length}}function Dm(e){if(!e.some(a=>/^\s*--- FAIL: \S/.test(a)))return null;let t=new Map,n=[],r=new Map,s=[],o=null,i=null;for(let a of e){let l=/^=== (?:RUN|CONT|PAUSE|NAME)\s+(\S+)/.exec(a);if(l){o=l[1],i=null;continue}let c=/^\s*--- FAIL: (\S+) \([\d.]+m?s\)/.exec(a);if(c){i={file:null,name:c[1],loc:null,body:[]},r.set(i,[...t.get(c[1])??[]]),n.push(i),o=null;continue}if(/^\s*--- (?:PASS|SKIP): /.test(a)){i=null,o=null;continue}let u=/^(FAIL|ok)\s+(\S+)(?:\s+(?:[\d.]+m?s|\(cached\)|\[[^\]]+\]))?/.exec(a);if(u&&/\t|\s{2,}|\[/.test(a)){s.push(K(a.replace(/\s+[\d.]+m?s\s*$/,""),u[1]==="ok")),i=null,o=null;continue}if(!/^(?:FAIL|PASS)$/.test(a.trim())){if(/^exit status \d+$/.test(a)){s.push(K(a,!0));continue}if(i)r.get(i).push(a);else if(o){let f=t.get(o)??[];f.push(a),t.set(o,f)}else(/^#\s\S+$/.test(a)||/^\S+\.go:\d+(?::\d+)?: /.test(a))&&s.push(K(a))}}for(let a of n){for(let l of r.get(a)){let c=l.trim();if(!c||/^goroutine \d+ \[/.test(c))continue;let u=/^(\/\S+\.go|\S+\.go):(\d+)(?: \+0x[0-9a-f]+)?$/.exec(c);if(u){wn(u[1])||(a.loc=xn(a.body,`${u[1]}:${u[2]}`,a.loc));continue}/^(?:[\w.*/()-]+)\(.*\)$/.test(c)||/^created by /.test(c)||a.body.push({kind:"msg",text:c})}a.loc&&a.body.some(l=>l.kind==="msg"&&/^\S+\.go:\d+: /.test(l.text))&&(a.body.unshift({kind:"frame",text:a.loc}),a.loc=null)}return{failures:n,summary:s,reported:null,counted:n.length}}var Ki=/^(FAILED|ERROR) (\S+?\.py(?:::\S+)?)(?: - (.*))?$/;function Vi(e,t){let n=[],r=null,s=!1,o=!1;for(let l of e){let c=l.trimEnd(),u=c.trim();if(/^-{3,} Captured .+ -{3,}$/.test(u)){s=!0;continue}if(s){u&&n.push({kind:"out",text:c});continue}if(/^E(?:\s|$)/.test(c)){c.slice(1).trim()&&n.push({kind:"msg",text:c});continue}let f=/^(\S+?\.py):(\d+):(?: (.*))?$/.exec(c);if(f){if(!wn(f[1])){let d=f[3]?.startsWith("in ")?` ${f[3]}`:"";r=xn(n,`${f[1]}:${f[2]}${r===null?"":d}`,r)}continue}/^>\s/.test(c)&&!o&&(o=!0,n.push({kind:"code",text:u.replace(/^>\s*/,"")}))}let i=n.filter(l=>l.kind==="msg"),a=Math.min(...i.map(l=>l.text.slice(1).length-l.text.slice(1).trimStart().length));for(let l of i)l.text=`E ${l.text.slice(1+a)}`;return t&&!i.some(l=>l.text.includes(t.replace(/\.\.\.$/,"")))&&n.unshift({kind:"msg",text:t}),{body:n,loc:r}}function Wi(e,t){return t.push(K(e.replace(/ in [\d.]+s(?: \([\d:]+\))?$/,""))),(ht([e],/(\d+) failed/)??0)+(ht([e],/(\d+) errors?\b/)??0)}function Mm(e){if(!e.some(f=>/^={3,} (?:FAILURES|ERRORS|short test summary info) ={3,}$/.test(f)||Ki.test(f)))return null;let t=new Map,n=[],r=[],s="",o=null,i=null,a=null;for(let f of e){let d=/^={3,} (.+?) ={3,}$/.exec(f);if(d){s=d[1],o=null,i=null,!/^(?:FAILURES|ERRORS|short test summary info|warnings summary|test session starts|PASSES)$/.test(s)&&/\b\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)\b|no tests ran/.test(s)&&(a=Wi(s,r));continue}if(/^(?:\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)(?:, |\s|$))+(?:in [\d.]+s(?: \([\d:]+\))?)?$/.test(f.trim())){a=Wi(f.trim(),r);continue}if(/^!{3,} .+ !{3,}$/.test(f)){r.push(K(f.replace(/^!+ | !+$/g,"")));continue}let m=/^_{3,} (.+?) _{3,}$/.exec(f);if(m&&(s==="FAILURES"||s==="ERRORS")){o=[],t.set(m[1],o);continue}let h=Ki.exec(f);if(h&&s!=="FAILURES"&&s!=="ERRORS"){o=null;let w={kind:h[1],id:h[2],msg:h[3]??null,inline:[]};n.push(w),i=w;continue}if(o){o.push(f);continue}i&&/^E(?:\s|$)/.test(f)?i.inline.push(f):i&&f.trim()&&(i=null)}let l=new Set,c=[],u=new Set;for(let f of n){if(u.has(f.id))continue;u.add(f.id);let[d,...m]=f.id.split("::"),h=m.join("."),w=[h,`ERROR collecting ${f.id}`,`ERROR at setup of ${h}`,`ERROR at teardown of ${h}`].find(I=>I&&t.has(I)&&!l.has(I));w&&l.add(w);let{body:b,loc:R}=Vi(w?t.get(w):f.inline,f.msg),E=m.length?m.join("::"):"(collection)";c.push({file:d,name:f.kind==="ERROR"?`${E} [error]`:E,loc:R,body:b})}for(let[f,d]of t){if(l.has(f))continue;let{body:m,loc:h}=Vi(d,null);c.push({file:h?h.replace(/:\d+$/,""):null,name:f,loc:h,body:m})}if(c.length===0)for(let f of e){let d=/^(\S+?)::(\S+) (FAILED|ERROR)\b/.exec(f);d&&c.push({file:d[1],name:d[3]==="ERROR"?`${d[2]} [error]`:d[2],loc:null,body:[]})}return{failures:c,summary:r,reported:a,counted:c.length}}var Fm=[Nm,Dm,Mm,Im,Cm,Om,Pm];function Lm(e,t){return e.length===0?!1:e.every(n=>{let r=n.text.trim();if(!/^[-+]/.test(r))return!1;let s=r.slice(1).trim().replace(/,$/,"");return s.length>0&&t.includes(s)})}function jm(e,t,n){let r=Yi[n],s=e.body.filter(d=>d.kind==="msg");if(!t)return s.length?[` ${s[0].text}`]:[];let o=e.body.filter(d=>d.kind==="diff"),i=r.trimDiff&&Lm(o,s.map(d=>d.text).join(`
62
- `)),a={msg:0,legend:0,diff:0,frame:0,code:0,out:0},l={msg:0,legend:0,diff:0,frame:0,code:0,out:0},c={msg:r.msg,legend:1/0,diff:r.diff,frame:r.frames,code:r.code?1:0,out:r.out},u=[];for(let d of e.body){if((d.kind==="diff"||d.kind==="legend")&&i||d.kind==="diff"&&r.changedOnly&&!/^[-+]/.test(d.text.trim()))continue;let m=d.kind==="legend"?"diff":d.kind;if(a[m]>=c[m]&&d.kind!=="legend"){l[m]+=1;continue}d.kind!=="legend"&&(a[m]+=1),u.push(d.kind==="frame"?` at ${d.text}`:` ${d.text}`)}let f=l.msg+l.diff+(n==="normal"?l.frame+l.out:0);return f>0&&u.push(` ${pt(f)}`),u}function Hm(e){let t=e[0];for(let r of e)for(;!r.startsWith(t);)t=t.slice(0,-1);t=t.slice(0,Math.max(...["_",":",".","/"," ","\u203A","-","[","("].map(r=>t.lastIndexOf(r)))+1);let n=e.map(r=>r.slice(t.length));return t.length>=3&&n.every(r=>r.length>0&&!/[{},\s]/.test(r))?`${t}{${n.join(",")}}`:e.join(", ")}function Bm(e){if(!e.loc)return`\xD7 ${e.name}`;let t=e.file&&e.loc.startsWith(`${e.file}:`)?e.loc.slice(e.file.length):e.loc;return`\xD7 ${e.name} ${t}`}function zm(e,t){let n=Yi[t],r=new Map,s=e.failures.length>n.bulk,o=e.failures.map(c=>{let u=c.body.find(m=>m.kind==="msg")?.text??"",f=(r.get(u)??0)+1;r.set(u,f);let d=u===""||!s||f<=n.repeats;return{f:c,full:d,body:jm(c,d,t).join(`
63
- `)}}),i=[],a,l=null;for(let c=0;c<o.length;c++){let u=o[c];u.f.file!==a&&(a=u.f.file,a&&i.push(a));let f=c;if(!u.full&&u.f.loc===null)for(;f+1<o.length;){let m=o[f+1];if(m.full||m.f.loc!==null||m.f.file!==u.f.file||m.body!==u.body)break;f+=1}i.push(f>c?`\xD7 ${Hm(o.slice(c,f+1).map(m=>m.f.name))}`:Bm(u.f)),c=f;let d=o[c+1];d&&d.f.file===u.f.file&&d.body===u.body||u.body&&(u.body===l&&t!=="normal"?i.push(" \u2191 same error"):(i.push(u.body),l=u.body))}for(let c of e.summary)(!c.minor||t==="normal")&&i.push(c.text);return`${i.join(`
60
+ `),r=0;for(let s of n)if(s.trim()!==""){if(!Em.test(s))return null;r+=1}return r<2?null:`tsc: 0 errors, ${r} files${t?`
61
+ `:""}`}var qi=/^(?:(?:npx|bunx|pnpm(?:\s+(?:exec|dlx))?|yarn(?:\s+exec)?|uv\s+run|poetry\s+run|pipenv\s+run|hatch\s+run|python3?\s+-m)\s+)?(?:\S*\/)?(?:vitest|jest|mocha|pytest|py\.test|playwright\s+test)(?:\s|$)|^(?:npm|pnpm|yarn|bun)\s+(?:run\s+)?(?:test|t)(?:[:-]\S+)?(?:\s|$)|^cargo\s+test(?:\s|$)|^go\s+test(?:\s|$)/,Yi={normal:{msg:40,diff:60,frames:6,code:!0,out:20,bulk:50,repeats:10,trimDiff:!1,changedOnly:!1},compact:{msg:12,diff:24,frames:2,code:!1,out:5,bulk:20,repeats:2,trimDiff:!0,changedOnly:!1},minimal:{msg:6,diff:8,frames:0,code:!1,out:0,bulk:10,repeats:1,trimDiff:!0,changedOnly:!0}},$m=/node_modules|^node:|^internal\/|site-packages|dist-packages|\/lib\/python\d|\/rustc\/|\.cargo\/registry|\.rustup\/|\/go\/src\/|\/go\/pkg\/mod\/|\/libexec\/src\/|<anonymous>/,Rm=/^\s*at\s+(?:.*?\()?((?:file:\/\/)?[^\s()]+?):(\d+)(?::(\d+))?\)?\s*$/,Am=/^\s*❯\s+(?:\S+\s+)?([^\s]+?):(\d+)(?::(\d+))?\s*$/,Cm=/^\s*(>)?\s*(\d+)\s*\|/,Im=/^\s*\|\s*[\^~]+\s*$/,Om=/^(?:- Expected|\+ Received|- Snapshot|\+ expected - actual|\+ actual - expected|- expected \+ actual)(?:\s+[-+]\s*\d+)?$/;function ht(e,t){let n=null;for(let r of e){let s=t.exec(r);s&&(n=(n??0)+Number(s[1]))}return n}function wn(e){return $m.test(e)}function xn(e,t,n){return n===null?t:(t!==n&&!e.some(r=>r.kind==="frame"&&r.text===t)&&e.push({kind:"frame",text:t}),n)}function Pr(e,t=()=>!1){let n=[],r=null,s=-1,o=!1;for(let d of e){let f=d.trimEnd(),m=f.trim();if(!m||Im.test(f)||/^─+$/.test(m))continue;if(t(m)){o=!0,n.push({kind:"out",text:m.replace(/\s*─+$/,"")});continue}if(o){n.push({kind:"out",text:m});continue}let h=Rm.exec(f)??Am.exec(f);if(h){s=-1;let b=h[1].replace(/^file:\/\//,"");wn(b)||(r=xn(n,`${b}:${h[2]}${h[3]?`:${h[3]}`:""}`,r));continue}let w=Cm.exec(f);if(w){s=-1,n.push({kind:"code",text:m,num:Number(w[2]),pointed:w[1]===">"});continue}if(Om.test(m)){s=n.length,n.push({kind:"legend",text:m});continue}n.push(s>=0?{kind:"diff",text:f,segment:s}:{kind:"msg",text:m})}let i=n.some(d=>d.kind==="code"&&d.pointed),a=r?Number(/:(\d+)(?::\d+)?$/.exec(r)?.[1]):NaN,l=!1,c=n.filter(d=>{if(d.kind!=="code")return!0;let f=!l&&(i?d.pointed===!0:d.num===a);return f&&(l=!0),f}),u=new Map;for(let d of c){if(d.kind!=="diff")continue;let f=d.text.length-d.text.trimStart().length;u.set(d.segment,Math.min(u.get(d.segment)??f,f))}for(let d of c)d.kind==="diff"&&(d.text=d.text.slice(u.get(d.segment)??0)),d.kind==="code"&&(d.text=d.text.replace(/^>\s*/,""));return{body:c,loc:r}}function G(e,t=!1){return{text:e.trim().replace(/\s{2,}/g," "),minor:t}}function Pm(e){if(!e.some(l=>/^⎯+ Failed (?:Tests|Suites) \d+ ⎯+$/.test(l.trim())||/^\s*Test Files\s{2,}\d/.test(l)||/^ ?FAIL\s+\S+ > /.test(l)))return null;let t=ht(e,/^\s*Tests\s+(\d+) failed/),n=[];for(let l of e)/^\s*Test Files\s{2,}\S/.test(l)?n.push(G(l,!0)):/^\s*(?:Tests|Errors|Type Errors)\s{2,}\S/.test(l)&&n.push(G(l));let r=[],s=0,o=[],i=[],a=()=>{if(o.length){let{body:l,loc:c}=Pr(i);for(let u of o)u.body=l,u.loc=c}o=[],i=[]};for(let l of e){let c=l.trim(),u=/^ ?FAIL\s+(\S.*?)\s*$/.exec(l);if(u){i.some(b=>b.trim())&&a();let f=u[1],m=/^(\S+) \[ \S+ \]$/.exec(f),h=f.split(" > "),w=m?{file:m[1],name:"(suite)",loc:null,body:[]}:h.length>1?{file:h[0],name:h.slice(1).join(" > "),loc:null,body:[]}:{file:null,name:f,loc:null,body:[]};m||(s+=1),r.push(w),o.push(w);continue}let d=/^⎯+ (Unhandled [A-Za-z ]+?) ⎯+$/.exec(c);if(d){a();let f={file:null,name:d[1],loc:null,body:[]};r.push(f),o.push(f);continue}if(/^⎯{3,}/.test(c)||/^(?:Test Files|Tests|Start at|Duration|Errors)\s{2,}/.test(c)){a();continue}o.length&&i.push(l)}if(a(),s===0){let l=null;for(let c of e){let u=/^\s*[❯✓×✗]\s+(\S+)\s+\(\d+ tests?\b/.exec(c);if(u){l=u[1];continue}let d=/^\s+[×✗]\s+(.+?)(?:\s+\d+(?:\.\d+)?m?s)?$/.exec(c);d&&(r.push({file:l,name:d[1],loc:null,body:[]}),s+=1)}}return{failures:r,summary:n,reported:t,counted:s}}function Nm(e){if(!e.some(u=>/^\s{2}● (?!Console$)/.test(u))||!e.some(u=>/^Tests:\s/.test(u)||/^(?:FAIL|PASS)\s+\S/.test(u)))return null;let t=ht(e,/^Tests:\s+(\d+) failed/),n=[];for(let u of e)/^Test Suites:\s/.test(u)?n.push(G(u,!0)):(/^Tests:\s/.test(u)||/^Snapshots:\s/.test(u)&&/failed|obsolete/.test(u))&&n.push(G(u));let r=[],s=new Set,o=0,i=null,a=null,l=[],c=()=>{if(a){let u=`${a.file}\0${a.name}`;if(!s.has(u)){s.add(u);let{body:d,loc:f}=Pr(l);a.body=d,a.loc=f,r.push(a),a.name!=="Test suite failed to run"&&(o+=1)}}a=null,l=[]};for(let u of e){let d=/^(?:FAIL|PASS)\s+(\S+)/.exec(u);if(d){c(),i=d[1];continue}if(/^(?:Summary of all failing tests|Test Suites:|Tests:|Snapshots:|Time:|Ran all test suites)/.test(u)){c();continue}let f=/^\s{2}● (.+)$/.exec(u);if(f){c(),f[1].trim()!=="Console"&&(a={file:i,name:f[1].trim(),loc:null,body:[]});continue}a&&l.push(u)}return c(),{failures:r,summary:n,reported:t,counted:o}}function Xi(e,t,n,r,s){let o=[],i=new Map,a=null;for(let l=t;l<n;l++){let c=e[l],u=/^\s{2}\d+\) (.+)$/.exec(c);if(u){let{name:d,used:f}=r(u[1],e.slice(l+1,Math.min(n,l+8)));l+=f,a=i.get(d)??null,a||(a=[],i.set(d,a),o.push({file:null,name:d,loc:null,body:[]}));continue}/^\s+Retry #\d+ ─*/.test(c)||a&&a.push(c)}for(let l of o){let{body:c,loc:u}=Pr(i.get(l.name),s);l.body=c,l.loc=u}return o}function Dm(e){let t=e.findIndex(o=>/^\s*\d+ failing$/.test(o));if(t<0)return null;let n=Number(/(\d+)/.exec(e[t])[1]),r=e.filter(o=>/^\s*\d+ (?:passing|failing|pending)(?: \(\S+\))?$/.test(o)).map(o=>G(o.replace(/ \(\S+\)\s*$/,""))),s=Xi(e,t+1,e.length,(o,i)=>{let a=[o.trim()],l=0;for(;!a[a.length-1].endsWith(":")&&l<i.length&&i[l].trim();)a.push(i[l].trim()),l+=1;return a[a.length-1].endsWith(":")?{name:a.join(" \u203A ").replace(/:$/,""),used:l}:{name:o.trim(),used:0}});return{failures:s,summary:r,reported:n,counted:s.length}}function Mm(e){let t=e.findIndex(a=>/^\s{2}\d+\) .*›.*─{3,}\s*$/.test(a));if(t<0)return null;let n=e.findIndex((a,l)=>l>t&&/^\s{2}\d+ (?:failed|flaky|passed|skipped|interrupted|did not run)(?: \(.+\))?$/.test(a)),r=n<0?e.length:n,s=ht(e.slice(r),/^\s{2}(\d+) failed$/),o=e.slice(r).filter(a=>/^\s{2}\d+ (?:failed|flaky|passed|skipped|interrupted|did not run)(?: \(.+\))?$/.test(a)).map(a=>G(a.replace(/ \([\d.]+m?s\)\s*$/,""))),i=Xi(e,t,r,a=>({name:a.replace(/\s*─+\s*$/,"").trim(),used:0}),a=>/^attachment #\d+:/.test(a));return{failures:i,summary:o,reported:s,counted:i.length}}function Fm(e){if(!e.some(i=>/^test result: /.test(i))||!e.some(i=>/^---- .+ stdout ----$/.test(i)))return null;let t=ht(e,/^test result: FAILED\. \d+ passed; (\d+) failed/),n=[];for(let i of e)/^test result: FAILED/.test(i)?n.push(G(i.replace(/; finished in [\d.]+m?s\s*$/,""))):/^test result: ok/.test(i)?n.push(G(i.replace(/; finished in [\d.]+m?s\s*$/,""),!0)):/^error(?:\[\w+\])?: /.test(i)&&n.push(G(i));let r=[],s=null,o=[];for(let i of e){let a=/^---- (.+?) stdout ----$/.exec(i);if(a){s={f:{file:null,name:a[1],loc:null,body:[]},lines:[]},o.push(s),r.push(s.f);continue}if(/^failures:$|^test result: |^running \d+ tests?$/.test(i)){s=null;continue}s&&s.lines.push(i)}for(let{f:i,lines:a}of o){let l=!1,c=!1;for(let u of a){let d=u.trimEnd(),f=d.trim();if(!f)continue;let m=/^thread '.+?'(?: \(\d+\))? panicked at (?:'(.*)', )?(\S+?):(\d+):(\d+):?$/.exec(f);if(m){l=!0,i.loc??=`${m[2]}:${m[3]}:${m[4]}`,m[1]&&i.body.push({kind:"msg",text:m[1]});continue}if(!/^note: run with `RUST_BACKTRACE/.test(f)){if(/^stack backtrace:$/.test(f)){c=!0;continue}if(c){let h=/^at\s+(\S+?):(\d+):(\d+)$/.exec(f);h&&!wn(h[1])&&(i.loc=xn(i.body,`${h[1]}:${h[2]}:${h[3]}`,i.loc));continue}i.body.push(l?{kind:"msg",text:d}:{kind:"out",text:d})}}}return{failures:r,summary:n,reported:t,counted:r.length}}function Lm(e){if(!e.some(a=>/^\s*--- FAIL: \S/.test(a)))return null;let t=new Map,n=[],r=new Map,s=[],o=null,i=null;for(let a of e){let l=/^=== (?:RUN|CONT|PAUSE|NAME)\s+(\S+)/.exec(a);if(l){o=l[1],i=null;continue}let c=/^\s*--- FAIL: (\S+) \([\d.]+m?s\)/.exec(a);if(c){i={file:null,name:c[1],loc:null,body:[]},r.set(i,[...t.get(c[1])??[]]),n.push(i),o=null;continue}if(/^\s*--- (?:PASS|SKIP): /.test(a)){i=null,o=null;continue}let u=/^(FAIL|ok)\s+(\S+)(?:\s+(?:[\d.]+m?s|\(cached\)|\[[^\]]+\]))?/.exec(a);if(u&&/\t|\s{2,}|\[/.test(a)){s.push(G(a.replace(/\s+[\d.]+m?s\s*$/,""),u[1]==="ok")),i=null,o=null;continue}if(!/^(?:FAIL|PASS)$/.test(a.trim())){if(/^exit status \d+$/.test(a)){s.push(G(a,!0));continue}if(i)r.get(i).push(a);else if(o){let d=t.get(o)??[];d.push(a),t.set(o,d)}else(/^#\s\S+$/.test(a)||/^\S+\.go:\d+(?::\d+)?: /.test(a))&&s.push(G(a))}}for(let a of n){for(let l of r.get(a)){let c=l.trim();if(!c||/^goroutine \d+ \[/.test(c))continue;let u=/^(\/\S+\.go|\S+\.go):(\d+)(?: \+0x[0-9a-f]+)?$/.exec(c);if(u){wn(u[1])||(a.loc=xn(a.body,`${u[1]}:${u[2]}`,a.loc));continue}/^(?:[\w.*/()-]+)\(.*\)$/.test(c)||/^created by /.test(c)||a.body.push({kind:"msg",text:c})}a.loc&&a.body.some(l=>l.kind==="msg"&&/^\S+\.go:\d+: /.test(l.text))&&(a.body.unshift({kind:"frame",text:a.loc}),a.loc=null)}return{failures:n,summary:s,reported:null,counted:n.length}}var Gi=/^(FAILED|ERROR) (\S+?\.py(?:::\S+)?)(?: - (.*))?$/;function Vi(e,t){let n=[],r=null,s=!1,o=-1;for(let l of e){let c=l.trimEnd(),u=c.trim();if(/^-{3,} Captured .+ -{3,}$/.test(u)){s=!0;continue}if(s){u&&n.push({kind:"out",text:c});continue}if(/^E(?:\s|$)/.test(c)){c.slice(1).trim()&&n.push({kind:"msg",text:c});continue}let d=/^(\S+?\.py):(\d+):(?: (.*))?$/.exec(c);if(d){if(wn(d[1]))o>=0&&n.splice(o,1);else{let f=d[3]?.startsWith("in ")?` ${d[3]}`:"";r=xn(n,`${d[1]}:${d[2]}${r===null?"":f}`,r)}o=-1;continue}/^>\s/.test(c)&&(o=n.length,n.push({kind:"source",text:u.replace(/^>\s*/,"")}))}let i=n.filter(l=>l.kind==="msg"),a=Math.min(...i.map(l=>l.text.slice(1).length-l.text.slice(1).trimStart().length));for(let l of i)l.text=`E ${l.text.slice(1+a)}`;return t&&!i.some(l=>l.text.includes(t.replace(/\.\.\.$/,"")))&&n.unshift({kind:"msg",text:t}),{body:n,loc:r}}function Wi(e,t){return t.push(G(e.replace(/ in [\d.]+s(?: \([\d:]+\))?$/,""))),(ht([e],/(\d+) failed/)??0)+(ht([e],/(\d+) errors?\b/)??0)}function jm(e){if(!e.some(d=>/^={3,} (?:FAILURES|ERRORS|short test summary info) ={3,}$/.test(d)||Gi.test(d)))return null;let t=new Map,n=[],r=[],s="",o=null,i=null,a=null;for(let d of e){let f=/^={3,} (.+?) ={3,}$/.exec(d);if(f){s=f[1],o=null,i=null,!/^(?:FAILURES|ERRORS|short test summary info|warnings summary|test session starts|PASSES)$/.test(s)&&/\b\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)\b|no tests ran/.test(s)&&(a=Wi(s,r));continue}if(/^(?:\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)(?:, |\s|$))+(?:in [\d.]+s(?: \([\d:]+\))?)?$/.test(d.trim())){a=Wi(d.trim(),r);continue}if(/^!{3,} .+ !{3,}$/.test(d)){r.push(G(d.replace(/^!+ | !+$/g,"")));continue}let m=/^_{3,} (.+?) _{3,}$/.exec(d);if(m&&(s==="FAILURES"||s==="ERRORS")){o=[],t.set(m[1],o);continue}let h=Gi.exec(d);if(h&&s!=="FAILURES"&&s!=="ERRORS"){o=null;let w={kind:h[1],id:h[2],msg:h[3]??null,inline:[]};n.push(w),i=w;continue}if(o){o.push(d);continue}i&&/^E(?:\s|$)/.test(d)?i.inline.push(d):i&&d.trim()&&(i=null)}let l=new Set,c=[],u=new Set;for(let d of n){if(u.has(d.id))continue;u.add(d.id);let[f,...m]=d.id.split("::"),h=m.join("."),w=[h,`ERROR collecting ${d.id}`,`ERROR at setup of ${h}`,`ERROR at teardown of ${h}`].find(I=>I&&t.has(I)&&!l.has(I));w&&l.add(w);let{body:b,loc:R}=Vi(w?t.get(w):d.inline,d.msg),E=m.length?m.join("::"):"(collection)";c.push({file:f,name:d.kind==="ERROR"?`${E} [error]`:E,loc:R,body:b,exact:!0})}for(let[d,f]of t){if(l.has(d))continue;let{body:m,loc:h}=Vi(f,null);c.push({file:h?h.replace(/:\d+$/,""):null,name:d,loc:h,body:m,exact:!0})}if(c.length===0)for(let d of e){let f=/^(\S+?)::(\S+) (FAILED|ERROR)\b/.exec(d);f&&c.push({file:f[1],name:f[3]==="ERROR"?`${f[2]} [error]`:f[2],loc:null,body:[]})}return{failures:c,summary:r,reported:a,counted:c.length}}var Hm=[Fm,Lm,jm,Nm,Pm,Dm,Mm];function Bm(e,t){return e.length===0?!1:e.every(n=>{let r=n.text.trim();if(!/^[-+]/.test(r))return!1;let s=r.slice(1).trim().replace(/,$/,"");return s.length>0&&t.includes(s)})}function zm(e,t,n){let r=Yi[n],s=e.body.filter(f=>f.kind==="msg");if(!t)return[...e.body.filter(f=>f.kind==="source"),...s.slice(0,1)].map(f=>` ${f.text}`);let o=e.body.filter(f=>f.kind==="diff"),i=r.trimDiff&&Bm(o,s.map(f=>f.text).join(`
62
+ `)),a={msg:0,legend:0,diff:0,frame:0,code:0,source:0,out:0},l={msg:0,legend:0,diff:0,frame:0,code:0,source:0,out:0},c={msg:r.msg,legend:1/0,diff:r.diff,frame:e.exact?1/0:r.frames,code:r.code?1:0,source:1/0,out:r.out},u=[];for(let f of e.body){if((f.kind==="diff"||f.kind==="legend")&&i||f.kind==="diff"&&r.changedOnly&&!/^[-+]/.test(f.text.trim()))continue;let m=f.kind==="legend"?"diff":f.kind;if(a[m]>=c[m]&&f.kind!=="legend"){l[m]+=1;continue}f.kind!=="legend"&&(a[m]+=1),u.push(f.kind==="frame"?` at ${f.text}`:` ${f.text}`)}let d=l.msg+l.diff+(n==="normal"?l.frame+l.out:0);return d>0&&u.push(` ${pt(d)}`),u}function Um(e){let t=e[0];for(let r of e)for(;!r.startsWith(t);)t=t.slice(0,-1);t=t.slice(0,Math.max(...["_",":",".","/"," ","\u203A","-","[","("].map(r=>t.lastIndexOf(r)))+1);let n=e.map(r=>r.slice(t.length));return t.length>=3&&n.every(r=>r.length>0&&!/[{},\s]/.test(r))?`${t}{${n.join(",")}}`:e.join(", ")}function Zm(e){if(!e.loc)return`\xD7 ${e.name}`;let t=!e.exact&&e.file&&e.loc.startsWith(`${e.file}:`)?e.loc.slice(e.file.length):e.loc;return`\xD7 ${e.name} ${t}`}function Jm(e,t){let n=Yi[t],r=new Map,s=e.failures.length>n.bulk,o=e.failures.map(c=>{let u=c.body.find(m=>m.kind==="msg")?.text??"",d=(r.get(u)??0)+1;r.set(u,d);let f=u===""||!s||d<=n.repeats;return{f:c,full:f,body:zm(c,f,t).join(`
63
+ `)}}),i=[],a,l=null;for(let c=0;c<o.length;c++){let u=o[c];u.f.file!==a&&(a=u.f.file,a&&i.push(a));let d=c;if(!u.full&&u.f.loc===null)for(;d+1<o.length;){let m=o[d+1];if(m.full||m.f.loc!==null||m.f.file!==u.f.file||m.body!==u.body)break;d+=1}i.push(d>c?`\xD7 ${Um(o.slice(c,d+1).map(m=>m.f.name))}`:Zm(u.f)),c=d;let f=o[c+1];f&&f.f.file===u.f.file&&f.body===u.body||u.body&&(u.body===l&&t!=="normal"?i.push(" \u2191 same error"):(i.push(u.body),l=u.body))}for(let c of e.summary)(!c.minor||t==="normal")&&i.push(c.text);return`${i.join(`
64
64
  `)}
65
65
  `}function Qi(e,t="normal"){let n=ue(e).split(`
66
- `).map(r=>{let s=r.endsWith("\r")?r.slice(0,-1):r;return s.includes("\r")?s.slice(s.lastIndexOf("\r")+1):s});for(let r of Fm){let s=r(n);if(!(!s||s.failures.length===0))return s.counted===0||s.reported!==null&&s.counted<s.reported?null:zm(s,t)}return null}import{createCipheriv as I_,createDecipheriv as Um,hkdfSync as Zm,randomBytes as O_}from"node:crypto";var Jm=Buffer.from("tokmizer-bundle-enc-v1"),Gm=Buffer.from("rules-bundle");function Km(e){return Buffer.from(Zm("sha256",Buffer.from(e,"utf8"),Jm,Gm,32))}function vn(e,t){let n=Km(t),r=Buffer.from(e,"base64url"),s=r.subarray(0,12),o=r.subarray(12,28),i=r.subarray(28),a=Um("aes-256-gcm",n,s);return a.setAuthTag(o),Buffer.concat([a.update(i),a.final()]).toString("utf8")}import{createPublicKey as dp,verify as mp}from"node:crypto";import{join as Vm}from"node:path";import{mkdir as M_,readFile as Wm,writeFile as F_,unlink as L_,rename as j_}from"node:fs/promises";var qm="state.json";function Ym(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e&&e.length>0?e:"Etc/UTC"}catch{return"Etc/UTC"}}function Xm(e){return e?.dir??S()}async function Ht(e){let t=Xm(e);try{let n=await Wm(Vm(t,qm),"utf8"),r=JSON.parse(n),s=r.timeZone;return{...r,lastSettingsRevision:r.lastSettingsRevision??0,get timeZone(){return s??=Ym()},bonusActive:r.bonusActive??!1,...r.bonusResetAt!==void 0?{bonusResetAt:r.bonusResetAt}:{}}}catch{return null}}import{createRequire as Qm}from"node:module";var ep=Qm(import.meta.url);function tp(){let e="0.9.63";if(e)return e;for(let t of["../package.json","../../package.json"])try{let n=ep(t).version;if(typeof n=="string"&&n)return n}catch{}return"0.0.0"}var Bt=tp();function ea(e,t){if(!e||!t)return!1;let n=e.split(".").map(s=>parseInt(s,10)),r=t.split(".").map(s=>parseInt(s,10));for(let s=0;s<3;s+=1){let o=n[s]??0,i=r[s]??0;if(Number.isNaN(o)||Number.isNaN(i))return!1;if(o<i)return!0;if(o>i)return!1}return!1}var ta=`-----BEGIN PUBLIC KEY-----
66
+ `).map(r=>{let s=r.endsWith("\r")?r.slice(0,-1):r;return s.includes("\r")?s.slice(s.lastIndexOf("\r")+1):s});for(let r of Hm){let s=r(n);if(!(!s||s.failures.length===0))return s.counted===0||s.reported!==null&&s.counted<s.reported?null:Jm(s,t)}return null}import{createCipheriv as N_,createDecipheriv as Km,hkdfSync as Gm,randomBytes as D_}from"node:crypto";var Vm=Buffer.from("tokmizer-bundle-enc-v1"),Wm=Buffer.from("rules-bundle");function qm(e){return Buffer.from(Gm("sha256",Buffer.from(e,"utf8"),Vm,Wm,32))}function vn(e,t){let n=qm(t),r=Buffer.from(e,"base64url"),s=r.subarray(0,12),o=r.subarray(12,28),i=r.subarray(28),a=Km("aes-256-gcm",n,s);return a.setAuthTag(o),Buffer.concat([a.update(i),a.final()]).toString("utf8")}import{createPublicKey as hp,verify as gp}from"node:crypto";import{join as Ym}from"node:path";import{mkdir as j_,readFile as Xm,writeFile as H_,unlink as B_,rename as z_}from"node:fs/promises";var Qm="state.json";function ep(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e&&e.length>0?e:"Etc/UTC"}catch{return"Etc/UTC"}}function tp(e){return e?.dir??x()}async function Ht(e){let t=tp(e);try{let n=await Xm(Ym(t,Qm),"utf8"),r=JSON.parse(n),s=r.timeZone;return{...r,lastSettingsRevision:r.lastSettingsRevision??0,get timeZone(){return s??=ep()},bonusActive:r.bonusActive??!1,...r.bonusResetAt!==void 0?{bonusResetAt:r.bonusResetAt}:{}}}catch{return null}}import{createRequire as np}from"node:module";var rp=np(import.meta.url);function sp(){let e="0.9.64";if(e)return e;for(let t of["../package.json","../../package.json"])try{let n=rp(t).version;if(typeof n=="string"&&n)return n}catch{}return"0.0.0"}var Bt=sp();function ea(e,t){if(!e||!t)return!1;let n=e.split(".").map(s=>parseInt(s,10)),r=t.split(".").map(s=>parseInt(s,10));for(let s=0;s<3;s+=1){let o=n[s]??0,i=r[s]??0;if(Number.isNaN(o)||Number.isNaN(i))return!1;if(o<i)return!0;if(o>i)return!1}return!1}var ta=`-----BEGIN PUBLIC KEY-----
67
67
  MCowBQYDK2VwAyEAj/kMlXlhTIGHRKxOKMuGFa1S1ybxxwgdYcAE0YM9fgU=
68
68
  -----END PUBLIC KEY-----
69
- `;import{existsSync as np,mkdirSync as G_,rmSync as K_,writeFileSync as V_}from"node:fs";import{join as rp}from"node:path";var sp=new Set(["0","off","false","no"]);var Y_=["Tokmizer contacts tokmizer.com to keep its rules up to date and to improve the product. No account or email is needed.","It sends a random install ID, your computer name, OS and CPU model, a hash of your network card address and of your user name, and the plugin version. Command contents and output are never sent.","Usage stats (command names, token counts and install health counts) are sent only while they are on. Check with: tkr telemetry status.","Turn all network access off: tkr network off. Usage stats only: tkr telemetry off."].join(`
70
- `);function op(){return rp(S(),"network-off")}function ip(){let e=process.env.TOKMIZER_NETWORK;return e!==void 0&&sp.has(e.trim().toLowerCase())}function Nr(){return ip()?!1:!np(op())}var rw=300*1e3;function na(){return((process.env.TOKMIZER_DEV==="1"?process.env.TOKMIZER_RESP_SIGNING_PUBLIC_KEY_PEM:void 0)??ta).replace(/\\n/g,`
71
- `)}import{chmodSync as iw,readFileSync as ap,writeFileSync as aw,mkdirSync as lw,renameSync as cw}from"node:fs";import{join as lp}from"node:path";var cp=g.object({payload:g.string().min(1),signature:g.string().min(1),enc:g.literal("v1"),fetchedAt:g.number().int().nonnegative()});function up(){return lp(S(),"bundle-cache.json")}function ra(){try{let e=ap(up(),"utf8"),t=cp.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}var Dr=g.object({bundleVersion:g.number().int().nonnegative(),signedAt:g.number().int(),filters:g.array(ve)}),vw=g.object({payload:g.string().min(1),signature:g.string().min(1),enc:g.literal("v1")}),pp=10080*60*1e3;function hp(){let e=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(e)&&e>0?e:pp}function gp(e,t){let n=na();if(!n||!n.includes("BEGIN PUBLIC KEY"))throw new Error("tkr-daemon: no valid signing public key configured (set TOKMIZER_RESP_SIGNING_PUBLIC_KEY_PEM at build time).");let r=dp({key:n,format:"pem"});if(!mp(null,Buffer.from(e.payload,"utf8"),r,Buffer.from(e.signature,"base64url")))throw new Error("tkr-daemon: rules bundle signature invalid");return JSON.parse(vn(e.payload,t))}function yp(e,t){let n=gp(e,t),r=Dr.parse(n);if(Date.now()-r.signedAt>hp())throw new Error("tkr-daemon: rules bundle is stale");return Mr(r,{signedAt:r.signedAt,fetchedAt:Date.now()})}function Mr(e,t){let n=new Map;for(let r of e.filters)n.set(r.slug,{...r,matchRegex:new RegExp(r.match_command)});return{bundleVersion:e.bundleVersion,signedAt:t.signedAt,ruleCount:n.size,startedAt:Date.now(),fetchedAt:t.fetchedAt,selectFor:(r,s,o)=>mt(r,n.values(),o?new Set(o):null,n)}}async function sa(){try{let e=ra();if(!e)return null;let t=await Ht();return t?.signingSecret?yp(e,t.signingSecret):null}catch{return null}}var kp="tokmizer-default-rules-v1",bp=/^[0-9a-f]{16}$/,zt=null;function oa(){let e="ujkjrcThLVYAYizApisr4pMpOMm9uJNMmr7MZhIRLFd63Ddi7bvvmkJNarsABLT7Ew774-iShYqif-or0CbTCK9KnLwZOnQKG6C-ElcyyonVytF2hVOW6RBovcTSjhqi5h5BbcdaWoeAFlWG_xia8Vz-o03dYakM4rUC4t-sdveI2GcGUtCCerFLOcsX4k4JOPjHcWDm_R5HWDPEAYNEMrtbz5rfXkowL3ywmyyV6TJVnd0SpkAGlXX4yWc664bsMMu5NA8MIlq_7sXgQQuNkx9hD9VMSgu5YD337QEfcmpI0kW53jcGVuYphlT0esR3CYc64djWEj23_D9r4IQG4wj0vCDmQSZ7dCmyzBr9O70iYA_NfTE-6JMP3bE-mUTcnRvv5M7qQRO8GT4fgBCm2FABqvbEtZ9w163o4Lv8xlX7Y-hZDHc1mHt_Iyi5Hxw8FxTLw4kM7rpSBVGruGvdmckjl-iWmyPKD8T-ounm-lrwF7rcOsVMlNuFxfUS8Tta345xbjysT4rHjToLGaWMw7IsbO1JTfs8PT4Xm5PZ8kRQCF9lt4FaEzjKQtv6Nq_EO8dgY0_raP0BjUr5nSnihvu-QGIrQR1qEVwbafjxVEARIX1WQD9SXLaUgi_FIf62dCopKQiSzhgSoqzAOn2jqKeAb5_2EB-0rAmXqUoQTLqvGbPHN2Tvl9NSgYEXhE3gQYvM9n5taAq338MtODPwKgwndLbn-VkdbbCsW_qLkMVibC3-7oK1YKh6unxguP9LV3OKZFFqpYSk2DAQgKkKXVSULHfJZUC5eBfWknnN6sWqk9WEYnejxq76FyRRMAh9_2OiGxm5NAVKPptD2HfpFs2btL71s-LMQV5UCL1DJCUE8uNUNUP4LPY-_HIlHhX1JtLwpBL6C6SU3rc4A0rMZUQgRbRBXO9a3IjLTOO5BBYGRCC2-DFgYmrAYaRmlalZfD_k-1aXYkvMfl8J3soa1YSxgGAFPCFLC8IHe1fyolgyJTYvfaAnRG2ehHb_K728cWhesR1avSfYcQlbdimarRzePLdqcR36Qlsid_s4DiTKu8SbKYZ1-EeNXQOuUAY2c62kKMrZjIElr5siNQ6TtC5lCboDh2HVyCwUSRvllXteHZ1Q1mS4t5GRy9a__6kABnj6SmZRZiP1MiamzJhsVOboLw6cVANy-9Am-s07r6RbtHsWBhaU_4y9PfnA0RrE0ZL3thNfofQUfvvRCilQggXzMFPhHoQax64bOCR_a20IJezCyu0qGzxYj9yZW4zcOd_TZpuYr2MjT4wTq8Ycl8UvPkVkpmCDjsOk_ccBZ3vZGwtiznnbFQhxZAxmLmnIAcetMrs47vQGsBaDC3McP80PMtOPhKRvI_Yt21H9D_Yg80uG_7gq5THrDVC_DtKd8v-Hu7BzPdcMYVYMm_ZxApRfPD-qW_A8jQSrtDawuk69oFYvd4RX-OXwIGWMT0IYqDrQn9NM38uRa-OL68f3YwxbRMaAvz1okOlU-B1eBVePQ6577a246EHrl4GIB_LjlObqFZ5MP5Cm8vForCxVRYjkwMdFjNgdclqt7y708GkJQ1pC1ppgi7NtFZLaWV2NFCC1-3PHL6XM44kYOZ1SyjsbR3zt7grl4bomC2_Hjuc5zOPFV1tm3edXCp1Q1FVJJrxkhBfm2_GxZej2zxyWtFw8IsNQbfSWUWIJM2Tc3CgADCRlUIvzBGk2ZxxIue6IEkQLIh1xWOvt_nUl1_SUNip1MGI4j8G_tj6InhT02fSIF9B8-JPenCfE3H8uw5OLaHms17xx8iGMA4lzEXj-kpCmQfQfUF4yzvAhM9MRkzpuZUpFQSEybvBUjEqD1mtFVKddjC-2jINhN_SVWDwDtuO6mHjNuNIJ8JTFrFE1F5njLlCsLtoqtdo0khRm88E4BSpJZzLeFR402xape7aeyYH0x6XOLqDkXyteDzgI7cUFUPS4RMCF5mYGlb-jv-fdburlT8A0X4rP4vQjDnmRqRa1JBlpX5rRZa3CquTDG5zVYvmfzf6pFGeg_YxQQFFyp3ERMmjL6W0gUsc1Wk49T8ZZGu_Qmp_T3q9dCQENuwPlJKRdv2H1bma425B0mZnasl15xLiFOPnGgCZ-h9SdiqNIG1H36xHF6QN62QVsZJsD71nbkfspciDNFsoawiT7ALusH71Wqwp52HusnvGIinTJ6Q-Ypa-_-rAoBFv2rRXfMy6D-P8T9YL1HhNBLbyhqme_1afH4HWYwAtDBiYd6uB3eYGrPOPZuOuSrr29JjWG5674_Jio2PkLRm6uCa2dKKMUbES_CiRqc2N9OVD34hUXuE2MaQsJLq_h5hic1NFpUsVk1Y7C6bd-8nCzb7a8WhboFztoMaRozQkIU6HTn-P96__T4y9BC-RIXFYLPWqcJWwIy-FPqwVNfDD21KOyGUtSTSypXy-6YlEYPNOkFaDLOpsIMUr8ukttWwqrHAhZKFoKZwPkc_0y1mkgq9aJ2FKryHfHQ2pqIcNmu7HKQywhtyEj3sTPyT4XRJkIC3gEM9rrK6dZ-nhCRZDViHWyouCGZ05cvSkj8A4HunN9S50CyUNuWe2qbGWA8sJWwnsdjOtydNwNPaa84c6BrObyf6-FTRRXukZFLKGWw_o7sEQUTjpFU1twgl7bj1IoQ_35RkdlMLKLcfweqYP8qTzPWH3TIfUnWv0z_BQXMEuFS-c5UFL0_T9dZ-PVdHa5XHvz9qro5ROR2ubfcvSQ3jJXQ9n-bQJ_1IPiMgINvod-nxD6E1HXHsJyX12CIaVJJGtBEKGYr3Srv6xNpH4yva2-0UzotgHNs2xkbzk58aQlDnkqTI--GWyBpnN5CqZ8RLJau2AxKGOgNUy3f2zt9SOjt0bl7n76-96oJUwrXubin5StHsr9sLZj2xooPttYv2jvn8YPjCp4V1CUpKEbsU88TJQtVnqsfq4ysQVIRALxBMn8wd_zQD46sPGYKglQjcjDNUxT03Wx-pJkw6nhNLu6ea0T4UqlwBwK30d65s2TxvSmFyd_gGmX-ysCG8YartS8hU841j7Bn73IKQnBDPHVz0Qk78jO-y0USfl0jU9UlZbmQlGVqhq4smQNcPzcKv5WnQK_9oAk6heBuDH-Urv3yfUhDa7kNJA6ztB37BUbvalrdnD2LjFv-glVD89UEjiuvNvadHS03-76i2k2a1J9zW9_I8Vq3nkrHu7jJSYEu6mISx0E9gA3eaAEzrvHAObn1dhd-2aVAFXegcNPn6chG8SaXqJNgWEpXVyfpQg3beeLddiMGYpI1upaZnWjjokh_YZu3abKg_XT60M2IkR_uLEyKvFX5r-hM0bxDOyiETKFfWXVSUgUiiQsK0f3OiKgz4-E4LZrdMIDidmW2jrjZCI5VoSgtCHMzOSK6FBsU95TbCnMZI4ta_RR4MRPm-rTgcH-CkVh2SUda24ucUZr_ysZoVghfviF_AaQ_0Cn71h0mBi-J0zG6jgRt_sHKyeX1xYOqmN3vaxyt51MFAtsdmj8uD6llvr3QCE3q7TrrTsaBipduRK2LqK__ArIyqjEMkJA-vHwatu587aQrlNzn4v3PUh4yn-1ZTcITrUsfRrqu1BzNAT3pzhsCt7e1qfNPBTAIh2hjr9ow9hD_Lp3uD2ZDgiozt28igqqrj9AO0GASKxlMX0iuQJPG_CGQoQEA1l3K3e3dgXxNcaqj9mITo_-x1p_enqZk8cgGhuvlKYAY_6j28-3W24Rh1bmMxHQFrpK6dWZcBeBqAhNCdrREVHxieXFl0SWO03RP3Mkh4g_aBxyr8lqKHze-L6ZdSyOfAtP0jdsAWrgqWpfLQv-fFay_85yPjy94m4r2nFigHPk1m94MQ5eQ9Go0JLG67W6ZxpGUW0wJ3Cf82CVke31Jd8HHG700iBThDj95QHNqr-Gsgt9G5XykO5DTDbYDALEDfsekt_ufMl0IxSH6OhfYt3llx_BXJDUxUhylS26r8ah4YEzO-9dWWQSHof_Mi_0LeaVAnu7Ayyqihsan5jANmnBCzoCTzrSSYMANoypxohPsgVbVN0ylLkDX0LUfxNCrltIkNdRBRVhu5ypwf1OZUFI4mvdKYfMRzShCxlIpK9CfuaGAarYLKi16-Lb7-TRUWkbIpi5qa2PyVNyZE2ZR-EXrRh5MskcMEZOJGBhB5TDF0xepfm_8lhtRHME5igLk1sW-rOzTgAzyMwfnSRVOKTYRQ4FSkz7HBvUemfE-VUFZt978od1hEDEnwxIMvXr8VsRjWYH1TvUONwWeKIq14VnqGphoMbOA0UtuEwOtbXm8KqJjXgq9oqeUgFfjIP_-WbDckIyWWv7nm9RVxa-t0-kKeE0CA7Be07AHm0atTpaigt7AFm--f0qydQEHgNs-Ep0-A9tdU5oH81Sl0hOuf5tkkps8yOeQzr1f0jENVBOHf9C7yBM5UwfD6HTd-oG0sn7zu4XYSQ0BmkhfA1-rN8oZL_SGAj4IPuCbKQ2Ja7bB6mfqZ1sA2DOEbM_jpj3-Ie5f8WBqxv_txrDEZGLk0mp9tYM9UpYORswNVHlVEuIXlbcpKweplK0-ZOmLYKKYvD51-hTIhxEldb9GlQl-qAoo7jn4HzcMRjelQmw1b1m7WCmBAHBPFcYW-lA_MRQChpZrU6OYTkRXIQCQNabXEIcqmGaHHgQzGKIr0kIfXFgiEYIi_6i5YthIn8woT_3NZsyFnZ3QtCuK2sR4JSE3vFn5AuLlPVx0qBM1r0EW03pRIueqncd3bdvw0EAXLvfv1ovR0x8KK6XNxBDa5SgiG26yaRjNKrAE7_SRVVvKqTIdLAPWLm5jwoIOTmT-whwbVVOVfbqzC5Ql1GyDfru1Vsiu53TWgd1h4Nos5lbEwDC1mIAnBc2kotDsM1pviwxOOVtRA6IemtPlBpFm5Xoi5KmENMZ3IDezqYNg5jsnGVKahPa3bepJnd0cNuT94sXPO3Cxxku7C5YSSvpKypeSbnNEMLaqIAt-eRzN8sxQZk_VlqGHMWElJLpmwLWfJ6YikAmszigB8iKwkF4TaAWfMRLcJ9otKkc4po7rND6fUAJ6AAjwYhMJbgY8FCcYnpZTVVX16dYkrVo6Z33UH_-vRW6caoT-CxDEhe2SHs7DqaXaFbChb-sb70K7nrq9Bn1Z8_DZbu4p28aeqYOUrqcHOg6FPI_nIJmc5XbIeexab0Gmv7RkTw-4Mbstg4s-4fxv2aRcWJnjh2lM4AtOFe2quC7cizRQAuqR2SVEKvRdayOc5RLe_9KYDm49Y1-jsW8zGS9b-t-tJINqKUuCKcWLbZ4iXvke8-Lgts-BBkqox0zj5es_riZn0LEr7_wfCfI6FZJnlJE-JvsdXqtpUhT_kZXFeIWChtAjOYGHHxpqdt2Dn1pvDQXY2-v0SqIzFNNo99-QASGif2qTrtL2CRD3A41opikC3_kS0FNLCEdEqtOSX3e__rNU-RHYNbWahBOUljZSq6br_OiwB50PEDMgDsiZMoiAPevE_jufRE1TbzqHC55falsIaWhwVVWDDv7Xc8SDjumB8tWufAO_Q6j9ILYIF65oOEzrSZl1Jnkmx4rpU_9vsMAH0zhxMJQ6VL0P9I1-Vw20CzWk2k9MrRXNmCGiMkUcgpS4dpI6fMhgpqHEp4K3xaV8i_7BzDmy0K7Lnx95GOHLGzIVr7D6ib8b7fmRLLMc4KiFhbHjB6_ZyVN44tACBAo29v8n1kEmxaSHEnFYkVBLRj5KXISlO6C80FaqWMvKx5fi4sPsWwmH-ep4Hq4AU2PyeKg6UlHLqeLRbZwC93YNhKTUCw78OIiJNaaMzi3Ldue4bzKA1e9Q2OnUpKacXl_SqrapekyNiEXtawu3Eibxl4jG5TfItVajgYSHr0FRdgMG98Oko7kEXVCMxEZsVTvIjpwmcX0b3DakvV2pPg4-l2imAR-xMF4iv8hH5AcLXVNNrc5k48S26Kd5d0dFFITERlzkSyZIY7mXfV7E6V30SjvBGVFOUaPZn3uhCYnu7eRryIuDzH2qXES682l154QRyRAJtgviDjlE-EYhQqvuQAnre1Q3C1vnEwgC2L1Fwdi5giPJpl7rUvTY8lgOXzXbI90NqpJyCyDcqf-gfaxIDj1agS0ILTF_Eot51pC70CyM8vcAszgwoxmA2bEfyTV_w0HUBZ6Eu_7X8dX6MOXp6WPBCnBvny9fHxx0Sw5_bDduBBYy7niU08Wi59CqbSCIDkHfOu07N9cRxLCS2qaOJoUN_4z1AsvLkT80aO7a9hk6Db8Q2jqtQgdTgxKQeFxNOVWWrdobkjdWxGhUeelRqt23LThYU20f5Da_bv2Ni7qOrYejXCffFUbP0TqmdXaQcPLMqHZrNjIXrPp6btiznFb1vjTKKQf1JkuofWJGTgksnmeMT-Kqp5HEGHNfxXb2PV-12FFWrF2wt7n01G0U2QfHsUke9K8Or3P0yFBtxubK53ra2-v4-0wWXu8CCaM7JqWV7pvZ48QajXnby6WTaNWN_6VPQlKthB_e3IFhxFM3yGDmuQ60ozxolBcCZr6v9FKWmU2v3hrry38fecIgFgovbPpxO2HD7yW7FxlhB-DnSB5Xtj3Fl_dLhj-bFK7i-TwywAKZsd_bn7ZxjnZFAozVnfTPNvhWvR5kCEhaXl4TEFDTwmryOtJT4q7CHbjMB5_Z9fYoZ7O4SYx5-wGm8cXqZxxsfGfkMNtikoCOLs7UK0p4cbTX_KNEi03LyswTMIoeK6R4cgojoiXQmvvXif5aOwSMVoOca0IFl0poXTWOB8kZHXVHdi1HCKgXMMzDPLmubsKBVhamBWBHPzSCTa--TxT0Abaq1jeVridyHcyv81F1VkFySFuwabxtd9olaJmh0uqrR_frhmpCPXnjoqkJYmogk000H9NW4CRmlpc3V8NRvhHJ3y-mF003cr9I01z6tO4N8CYn6l2kDQV9QJAA3VullNs52nj6CyhCQcqPRDKfhUdeqIDQ4ZnUOaCLWwNVQj4GzVe2KRZ1HLga3jcP-0eiq5Y4eSDF-vqWO7n5fdAEqd0O8zm9peDb4t4U6D-nxi1eVRxfe1w4AoOYNBTGoiwQrnE8Pk7M64YRnrY6ax9tZrH8_DrL5O3wUxbnEFtMfyJlpBzuj5rLaizpVjDDe0TKftRIOyM66ZyH6c98_TDtfX6WOYO7VD_KUfhhUgDo49-XJE_AgDSVK4YzCkYv7kHBYmJWnpDZWnJ04MZgjj_IM6Df9to79D6PoQ9jPk2UZd7LAdeybiFBIXfcpVuoNu-5oB2c0QRy0R6Dyice7xKMaeyUtZzbnahojhTzGZBSIi8ibCZcK_s2U7778tU_qLmVor9NL44djoUaN46dBLvwwxxyf1WMMPbc2l5VsKZqU_5Qetaab5xg6vxEjxFxzg8pnc7Pg8MOLCizowI18SDHVjtM4RdaAIGIg6XS50STDOk82xbHCaoxQfGGLs6pxd8tKa_kzaG51jlwbhGrxP3R5Oo-74NWni9eTWHzrhS2mM1L_MPMykFwRL01f1cEsfOk738Q9UZJqSrkZMILbZmn70QLmUDimSwk0hOXgaGJhQZh7ij2WR5B9gecbn0xriCGePUbEh5T9yAHS7WJWQbbxRCvRGYFuM0V1u4GrLlfQBrbZ9CuVWcoPJVBzkeXtwd6dUXdbjM93znl7W86xkaIk7r-Ayl2WTnjBJDBaFgB4gHXnvdY2zRB2O9rhgl2ZiqHDz_bSXTUCxCOtOIdrzmD_bpwv_ko8cIRwK9e0nI3IOXsHXhBu7OV4BnL13BOiv_39KKl1cD955nqC3MpYVkGSe3tMvKUGD0Weq2PVBHZonb8Nw-JjHdXbc0OECR9XhGbKCWNZAcK3453gaHf_du9RYWz1V5McRx3oltI5oc6AL2EazwYStkaBRCU7bakx1cugDDbMuQenxD-OpWT88UBMrDE9_pR7QM2AXwU7-qoMj3QACbCiIfOOX2XQOC4KSV1liG03-38mzVyQ3UDjMYUfhq4W4dyWxd0mbPAWQejFz4zsq_PAfGrATrhLNNGTXzbtxXYG6WSYXSwYinfH7OMLyQFaK7mbZuF_CdVw6_mg4L2_2bTICgwEODcHyeoZHUHWER2PoAWXeZVgnpU3nUUM5zzATPD4QK_RAscYFUJAE180FaH4Jifoxq4q5ekyUrOLwRjcnh7i-vhZInIx1xW8I-GMBIY3JIEZFWjBxuncNwJztVniWoWJ1ZEIDABXfmSUdvPfsjy53xRMXMwh2Io1JhgVaq12U9tH12pZSwYFIHPvtH4QYAhTepEn6sgYcOdYESxklRqqMo1nF9QLC4-0M7UnG_6hK7EB_hu_RlKHGGbv6GMxoWdIGkJty9_42qFr0M7O7wACYDxuCoCCkurOx66pbMcLTHLpg7zcx6Zi_UuUN0JHgwjvcpKweMIU_M9qnhtyuqM1pq8WsxsORFyPaslrwnXokV_XoPJIN8UD2ICt8ujgTvNLiVT06A6Nswq852r5QQUc6eA3X6mQE5QuQRX7VGSS2udQ-Q51PECg40IJ8KtKPhCkQLfOVKKYXSWqnwzDYAsN05RP9TUDMks71oQR60XSvfeYM-Lk1p3g3vxaUl1Rju9Q9uRM-Lblvb5bKeL3inCLC04zP4AzVJMTmgf-uO1temRPA2YmsFY1zLJlpCRfYF2yp_wKZAr8mopbPS3VLx9B7P5J04cWYzZltBmkQcEvhi1wWwmL0yJGP5Lcdmuc8sRhqzLm9ApZ3CyLz-u8W2FghI_ETZH3sCzD6UOnJhkvLMv6UjoSvc6zV2bwd5giwtKSKmHfLq4uuAFlnK5b9iVbV6xRlCj-hKve7bYFTjG7nq-wYb9QkxEY5kkZqTrvNk1EBiwMYn_jmlh7Kpj2GVbtlAGQ_C4Tdfu5E3098Hh8nUkStP_NOkI2orDxXQ3bo1reTLGemNKZSue2MzK2lbArFLhQAU16jDEogW6hWhvhvQyTdS5zra8C0SNmbJ37Jm4uCAVpM1kAzykmVGCJ4mgjtOhpvXbR5o-zWvV8JCePb8RkaXNkvO7XG_ZOzmHxw_Xo8z4UeyBggouDhdWPhGoXDgZ1zhfFOg68N0nQbElu14y-5772ipMTx-AmYAzHVudDnwfqLkerIZ66G75QEBoEnMyg7khAnXd1yrQhf7a98C7Ep8oRMdwdnSHz0dwchOgK871KzAgq6VwDTaKLNkZ5Q-NXthQ3AG1P-86DcCqkFk4gt04_kq2M7nJscBOUtjTBJhCXxky0emEdVN5ogN5GfPPkdWZgto1j957wwejjstzuAMX9oWlcrkblHCxRfj3twlX6rCuWFAvlrn6kuA-hdp5a6N95S-mTpI6c4_mvEIyOkE2lKlL6Es_0b0plL0J6QMzh4CIkFIv23S70oRWNXZ83EsjK6gpY4UUc5MSnKPh-ujWXXO5IAjh_-wbkyfFl433tUFm8k4WpjJxMpBf_87bDpRcDZpTOVNfbWT06Z4AUgtscOgPZESQeXFiE0cEZQZaOWZHcLdfS9ue1YYJP9wJF5Y2VRyNAbUSSYq-ejC2dH1Jw4oPyCIrkdM2DC9vqljeRuxyvviPLK-XkqC8WFzokI4hjPf54_Sw8mBoVxWshNV8d984RD6OCR-Py6d__snA8GuboW1NCEbUskTXRLupVJKz-jwrfBhU-i-UTrSG2UlETFHHl8DnbLrGd_f7eUdwcBbCZnkwINTGgfDyg_MPj1LsekgYupjpi66wxrG05rALqwUg0Ksq29a46s1BwEz08RXAxc943gO3fVeq6IUJxTZEZ5mF5WynR93t6zy-SUP3vzTeRcuTyqx7QaV5wvJ-OQFGICrtfHzFjIsfw3CGhvLgyWNe_KqCLgu8WnOzCesPQEpwOfr_I64_GGZhi6s655lLHBux4NudbIhNaM6WdfgvABvhZga2B2NRoOmKSuyZq_F20cIiq4-p4NDtZCtgINf4jhTnijaI5egZNZWdJ_9Z6j8__szS4yQhfTT0HDk1RPqecuaoRQ9k7ZOO4VxJxmUfxByv4HzuvOwiaS8fBFUEDMe7t-Q4Q84PegP4hRKwOV52ROW1j5OQP3S4P6y6iPwOFDzHnfgh0qpIADjAnBTqKZbjq--d8UiwuvTuGoIwV2QWkpSXucwsj3il9G09gvCpLU2QR2jdDDaj_mAKDe89w08jTMnXbR0soghMaoI5bki5EYSV0waSOUHyJz67MUgVJszgCYwdqBelhp2ySRcEFHAlw2k-XI6iGF0iud7T6IPSuZ7c5bLTgDL3vAofo1DO7b9nyjSuOtNDzUBeLPIHaHFIK8c-mZNUuVTLrVkyfR0Wq75RxFU4d-MPAWDSkrLVMiq8j7BQDwbM6_GvifHvnBJz6wwjP98y6TUZHm4KfcMOdmTx7bbZZo5VGENjvT04PdbA9xbuTmCxvujBF_hRZ3ZeKvJufKStyTIfj3tyMfS9gozR8j1nIrL0MsE4rzL3T0YfePjuGSSCm64zZBIDU_vgcKYx-mQyohXR_XaG0-vGiDMbDOzVbmTFzFOX1gplJKCYLI6YSShp-1SZVbrDMhGksZwTtQgjuKAtZHhWDJqUjKsAwg-1aZINS6E_MI5glpQAtK95VgGf9PLVnlM9mmJdUmAhGnlR88z1XZkt_erBUCizaiay0S2S6edzEg-OmlDh6afxjsl-9fTAULcyQpkd4anIMU6jxgFCxD6Ty6uaBHv397F3SxNCXJT1GmJjLchLfEWKnXpCSJ00ubHfE9S7QdV50THrC0zfxlv8HSeEUj4S3g7bLd4xUy9kdC4fZ1lQAY1Yvr75cr0jMmkrLDjA4UnK-vMCNYL1lidtV3FEZaTX88FXYQSWtXFz45eOH4gL_6SZzOJN_OkjYvbMp4KkRmBEhHfnQLDuwKFCwVhmprHcyq6_H_QFJ4QXsagGYh2Uw0TUZPee99RO6ZcRzvL8jnprKN642MIA7D13EVlZlSPHSdf2XFihExbklOleeNlef24THZS5-dMivfi2qBew-bXJdVu8iD3a8DnZoYbzBr0HUPGC_HBSHnwE7wdrtgPVKYsDgpjdqnWmFZlsaQvRNGY1V4OO3AqnbwdpGjhg_PK4r0EYM_xJ_q3mWH4t1YeSFJtUQAYddoW_drmet_kPEcFYt_1RKTnEWPkB07sALPd4Hw1zq9H-Ufm5QhyfPOatp1EkCqQwxx5qNFeuEmeVIiNCwjArxQFLi0zeR7pfQaFDTPI24hqyM27VX6AwmImL8NgLE15tU2Lt6kskSOjk1vMlaimH4uv4zP8HGNfOqZ-zT4PwdLFGMpX8NmKATfjr7Kdg9jXmrvw7M4My-Xtsz89qW9UDEdRlLQ1HORuNPaQWxAT8cQJB31uBQof4ht9LRdPUK3aUqhY9E80oTqtvdwZ8Pd2rndCgAm-QsIp8-eGlmOm35tC5SCoZhFXwMS1-ExQYyW6LcP8pcUeR9Ql5rWttrB_yYtfqCruOi4oQTQUsKnq1aPJMK_xvgzXGEcqxA1gFND4mb8wHUPAZm58anhwSQthi74859NbwZ5-kcbgKdC0hpKj0kjBsXSJy7DziAxX6VAn6hOnRAcDCnamThhFOmmzE2S0rvqtOGqMVKVLMko0qzG7gQeDW05O6h9y1mqIyTR8ye2llUReaIPpv6ZMXJwseW3qAjyjdFEfMnCfylAQFYY5L09-iaPfUYb0lNxZrMq1iBckufDDNQl81CIVq8ii4VFOSfTfxBPNS_Reb38-KHa-ud6Tcdp6LVYa44OZSJSJXFe8u07yL6ZSpybSiJKwMH4BQDAPwn8wwQXPR4WLmUcyeE-eS-089QfJGWJoBmFQ_xOCN20uSGw3xd4dR96dtN7r1ahV4XaQ2aYTd-Td1KzkOY2mOur_JHfZfL01sUS8oFVcqdLt2Wogl5Xje_jO0SUIUS74gIwBZLo8i4YM8RaGFa6tZ3K3doQQYPMpxyKh-UPockbRmBPxxVIkkkfJMgi352AbJgi8RHlQK8JMmiDdQWZnYIYma3GZFgbxL9MJI-U8gPD3xUun7RVBHNVuJuB8Y5ZuHNTzoO8p524OKeTJK3w93gm_NlXc4nqYtZTILHeoCHDcS1tSE75z4_0ibTFwEFAgTvFvFAeRFDoMYt9JotH1Tk1wRhMKdOCfExhrFGSJ7Yo3_N1lmNPSQVXMqaYwlximn3ESU09Z8G58WFD-z7tmKzZUSeY6pB5_IQ_JeQJ5A_JuXduFBnILnQjugthjeYq-Yh7QjgVWPAVigzFopPnmGwFf-JSBngNS8Ut-dznT_kXBF5bGGxMQuCkD9XhN37HZ9LUpWGdSPntvvFLfFSQ_tGM5WUxsmz4_0SFnDuGgFu80O_9r9d9tuyfngiZVItduSXVDTm4gOOb8w0K_6E8PvZIOuFVndQUPR8Im97Qgd3F7pQ2zfuxX8j-qr8uM-FMmtbkqcnOLGtJ2isI77BVpWQcVlW-izQrSrU0e_FBNe553C71qndAA__IFGd9dIbnWyxgBWwd9VKaWEvZSJMmyavuGX1Kha-ec4-PO5Z4T04grGTodfCHzJuqa048OMIkQ3urFEPUeDAcsV6oDwYmnlkT034eyhDzcK2je-mQY5vRRGYspk-lFLJ62g_m7-_b2QBuxRxwtbzaS0GJu8WGkYNgl44hTFvAzvYeEVrOcL7BtTfYIsLov3lcCgYxxV0riF8dPvZzkMi_TtkQXsMsYMYaQl_JkG64Kygp2Qb8fAnqLyME0y9XEMNuhSdR-gdQgmSsbmWtd1dj-llZiZIfeQLU6q_oU2n4migbvRWdveE6wQZ8sp8J41WCpRl_pZeBjpv-NtfBc8roaNM7gi__Awnw94LpD6BxKq8upm2bTkp-oN4dQgYqUACMOblEBWhqB2T4e9gbhpBOecNCxHPuiVdM0XjzvN0azp9y_P5nA_cq0cQUtxI6gt6x0lCpicH8v72Y4CUnv0TBPftip9JUvym_tgdD3bfdpVI8FTstcS3GmoTO5PfTpT0LPRcjTOy-coBkCXcFn_ytypunPqDu0va-HjrTdCinQHlpRvWkQFJD5OWJxTWyrnAwWVEFgE0tHV-JO_bYENPWK_k625ZwQEg3BKPsa2F7wU8ZHZOEhDMm3ADTYnMO9VNYoanxbzC2ejvL_Pg0jNcE4kHBWNZCUDVzx--ONZp1QiKT-k2fM-qXcqkBNOK3tLXF6DrOuiZv8oLrhYsgygApB5Q5LyQo0bzsSEYCuuQjvxIb-VcV2uenoYcha4rRGKjepM08lFkMttH4Lv4BFkPslffOWU8dVGptFrlO9lyPVYrdV5WntKQFy4UxPFvTF52LcodEw9w50QcyFgk9jGitYQOHQppSg5RS588R83mTroRG3VFJs1Tums5RhAY23JsFyUq4JgcG6QGGuIGiYE3sH3nEhUqfMCH4CGaXfWdHnzQ59cawp7t6zush2zoWunCnL3tx5lWkFFcROkeIdqNpPJBR8AZZpTEbzBTE39hKOjGK4Da1_hYmmnkiQEN42Qn6hVJOCMOOMH0SrBX1W58xy3_qzoEDInw8zJd_jg3hKc-ogBs7j5ZiOfFWeQuxkmRSblgPNXp7evZvBKMXBLttddh7Uk0LO7fT33F2TikeSQoTeqTdsFqUnv7cLIMYLpp_Vwi0BudIGaHlYN0EipYsJ5cYtVYTEUZl3Y2YkpCNp0xqookICEOyJnA4neS7NDaVdDD83a1Aa9MfNu6fNRUw_oPNjAgf1fjojvIG4JCHzpaoUw8Adjri22VOBuj3k7Djh7OXR2FAp0wBy818Fa-7shktaiLvKyt61aLXUgqYBw_yiI9Y6qumePCCdx0qm69PUezhSXQUQwaOZEP_d4HbZyhCJ15TREW8jxLlt1z0uzVMXn1yP7aF92IVhnYgEogWCsar8x-Z_g-RadLW2Ehm9Vwbj6Ga1rlhCUSKnjBZ9gFPZYtsYyDwftKO8nbZCmd2I68XdTHMiX8L0r-wKEFLrqXHeVCeKv2HSa9lg_jIbAASit5OaG2FdCKBMsBZoIoOrJvaYmAB0MeDEd4DqQ8Kbwf8k8IyGsxf_B8n88oroyCvF7lkTjUWvcXZjWDRR_tafY2iFQspdjxcnT-ARt64uJePVgvQMhZP4G8oL1-CDvmVyI1FAx2rsPIEP51Z_vXM1aMPo7NEkAoYyxeKgTWd1tFJ7XUzbj6DgYzCmfFXI0u1uphBiMTX3YsIF8uLEqnN6SqP0NAol9ztT5tat7ln-pN47vghaxIrwd9MxKRW9YM8HkkOpTVwwieIPqY3rt9oe1nFjojHVpGib2Hv_5Z8-6U61FH56PoYgjfbaKEdxyq26mfnV6hbFqoHoM58v9pUdVW_6RDGnvjiJ_mf8b2vVUyG2QOlIoaGDB3u4s1f5_QSDwOx6WUyTx6UbutpJGHRt-gLnrGgDDpsLXCaR9Wk-RUxcJQ0VQNIk5cKhMydcFzGv1i5r9sDcd-wUBk0DVlH_dJHxBuxf5cm1Q-dosuyACbcFOxEsbuwJX5EsBMmDPHUCzBjCRv_BLDYO44-MRthikfy0WQAtsRhjf-mrjni0EyFcgd6EZF1sl1xpOnzfqhbIERaE8ovjsuoG_Ma60NRtoH__gC3n12CTsAnY4YVm2yvTbCaieBpIwPRkhnkQzMWWUCeua85apHMjI3sbPd2VXopxtuOCQJQaJLTZTvTaE6OD_JxIeDfxqW9qCBE1bjrq1Ms6MvZbS2oitIx6N1dh3FowBBl7ZYnXdGJW8rCguelHHSUlS_ch6Gi-BANlNpfPjAqd_vfwWGtcNM7MAbFKhw-sAX1yeD0cxKis7bya7nwj__NdbiieiLgJH98RfJGgbtIEUALmsCCr_aVS3ajBuOfK55xJnL-T0i1cXfyZQvFfhG-BYIiBCLxmKnYEvsrLygI6SfhQS5aAO3GEn932Nw-4UW10LwWqAp3ajPxdZbLJd2gX7Lc1aFFGBPZyenoH2VeZoUhRqxej2ZmcOXPlIVoSLI3jfoOn838EdnlNmrcex6fnfVwm1PUavPz_8mHUz0-w9nN7aknSeRbM5cyM5Cs5MKOf3jgRF3pMsNqA4yvDSxG-FN4VQerS1okROS1CGI1u5ixO6mobCPvdmK8wOTrXlMp1e9ldOgmn1dylRp1CFA2O7lNu51iO6dRsgiyUGkdqBZknwBN6NdVXdlDS1CL7X1BwBo2B6ZcgIFolHzx0D-XlNr_aoiKDydQZ2tEk5xOHmF1cZUAPPiM7mP1Z9rDPIpLwJNl6pAX0cloGaNy85JcQ-JK4oLfIY88U7Wc6lGzG5FVv74VdtSdu_DEDZ22NF9UOfRR33KMYcQkCzPeP6UFN9JjhuJb1xI7Wl_knPU_ujLX9kTdUQ7v6fpY_b7pfTIHnA0ugDQWyIZMIlJCUYa9VWm4sfYaMB6wxJiCRov4FM7KGu058ulsBngr_XoBU1WGh3trm06IQLXHi8PJ-8RLDlx1J_qGQ6kcLJ2ofZM2LntQ51zYFg_cvUY5XyieEKR0ayPPz-9cJ4D_1Lqw837uuIYwecrczwPgO1_aGNWwIT4A4tTZ2wI3jeCJzIPKPfq-bkeY7hGS-7hWOjBhWar2zkniYJ-Xn0ACSI74A9CLGrdAWPzj6-VHQFjHVfLdsplXYnINXE4TkYbo9fWDOntH0BL1KkqGY5Byhle5Cp0FZc6bqEqe9qp9sG0vvTe_rEirc4pSC6Fme6iFRjuqJOB6juWNRzJjD9o_q8yrSSqKQFp0AkD1PM9gqzn05eb81Z4Rqjl80pzPDqG-RJfAj7_oBXuj7ftdsxA9NZ-KMkP6ujSR0yhojwYhkzGP7CUT5yYHujoxNa0rm05VGCzWyl0hP3_JP1widjF2jcbed7mDUJEq2gTEEvwUx2xkCXE8QG1JQ-s_2OmeicKvI_vhaMiHtXiNTNwSW0OUmMjdgBgO8VRxrmFW4ETLrmczhvyZqmfs2YqMPQ_pQ6OIK_cegu4W5KRQErCzV1t-dR0U3HkvcTGn7EObxVb0xGzfbaUaismjGO6JkC41PcDSQZlbEwkMld6fe_W73zXTKOx7epjCSjN3G4DDfaXf1yJu8WSlS_Y0buQjGTf0d3_OHBcY-ZnHOo_Fm2iAGLLUoaR9cVMfuE67IivCKfArg5hFpx-Bi3IvJoU2ZwdjuBh6TCU4r9mPrdG2Vcv_yOBqC3ynTUJqCPoRi0lH08k0UlMKxdNReYm3CT87BY5LS8slFNy31lIF6HDOD2lNynQmiX_vfToRSG4Lqg7dRdLZ9Ik4Av0eapN643K85NFe4a0uGKtjhZJ2LLhpQq_rhyR3rgaCJXwL4aR1Ew3h2vLrR0n2RQStZoc61mVMdyDy8SHup0PWJmXt5DyRC5eChzGYKXua-X4In1mRrhewiZh9hMT0TElZWUdSLwwj-HFzgIfYtkph2Uv6_QktWnzCBiIeha_iywJ4O_wvyDzXrjEdR7TAAEyfiaqoSQKnVEsgUo8apxV7fVaSy23wX0_Y5OdvTHE_wYpq00G0MphwxoVG-6LBHkziqiGCSpueRdJw5kuGBaUyqTjLpnUq68ITrIwrU2jgXIGBIGjzmyiF6qE_1ZiO-S4eDsJQy_mwLjihv0T3xPwyb0iH_t-c88SVqO1ke3vbN86Q8SpWhlmuaikIFqGV-gwuA-4DfA2vqm-38riHxMeFQg0p8GdLQlgkyjYP6CYo3rwzHQNzGw8jJZnNIk9bSsoAQ8xumWb_W-RSsrQ0ugbPhNY3dHm7v1bRJEvLbJTWxvP3sTYedcEu35AjckQrr_5xc7iQYU5v2ejalMXBKhl-6jAE4ECRyY76FWibL-0EKtjSgKfuIqf6hg35Kzo7hI0QPycRN9a7rFqYq1-Bmu-aWEPLBRfVT_78G2LMBR9US_NXoX27BDLFhe9cCjAwQ5N9Km5EMCpqEa8mBzxUkpVfgOZx3bj1HbuTBa1yd68MdIluEXVIGR71qKEKYvO_nLe7b0rGQPk9U2j0-SP7ib7PLhVc-5QbA0sT0UbhVpAuAZImVkgVZ6CqOYkyNAlcmziRj-ldMtZIBGcVcIz31864e8Bx9E5feDpdNErgTN1pGsx_kYrKvvQhFsrxwzwaOddREoBK2A6jDJOf1QHvEc-gTlSuB5f1Aubg9xkdGY6bRgeVuW9ug1LJp35TZfsd_LmrW-Mpjc6sFjeFadReAvtip-22C8YxV3dwR9nUK5daBSdIs6QvbS4SoEpPcyVgO0TEsevEkhJ1d4ZZHsirXWOhMJL94KqyALZQTXt5NmB8sb7IvQnsqKhyFcfdxehBKWdoPDIkYIMXcK7KaiFeJqrEhu7lOclzD5boxnliit8q63Vvn2IyoF_-rWl9vT22GerEOpY5ycz5WTCZN0UbakM1wH_VX9a15c9SPcCL0Iz-30knVzlxaFQU4puEJWy4TwvinCe5FX7CHKqxptL8SC4dR_3iP0za5LCI_FlbmB1bR0VNcY7IkBZzbmfO--D4L4H7NQsgllw4R20l4XsbjcKspu6KW6hFCF-XUhEEtm6PtWE_rZdZQZNlUMakXr6pDvb5lrTJ3krKFgzICjzCQouxHaTIQ-i1F0Z3-YagyvzpjZ5p4WBdyRNV2q9HNK_HqA6j2J32we4MeCdYP4OTjtlKtA4MFmCVPXKrCviXXuoTGkhbfHRftnjrjsCgNLjmDr_HnAZaJkxpUWahDIdtIi6pxugxomBT9QcTyEk0v75TSgVHzmwFtI5TkTJt2aVqqeeAwhXKMsJHxQ8GhI_tknq7ixrfnW3LaJb9LiDh_i0C8fYuykNakyg-pOKEmES7Pgwj8Ep2xSrZLQWc86EsAOOLfJVfQe-crAkQg1whrpvXoSc6nL8Lrve3P1crfPPEpfZ9A1HmtUIlaLRmybs_GscnHGtFl8BM578PUw5OIbEA8298p92BoV6IQSpcA9FUWvJo1H2UiKiVCIj-0ThSzN3qtTjP-V8qLoxPh1d5QxWrfq152EkSe3fzLMtluyLIcJR-HLlAnaCfzJFSZyzypfwr6Qg6f2Kj8qvdPYIhfcpv_BHdfQKfnJqRBa8qY6x3nIQrSddiEVQNO4sHfCHKQXg26AiuvAcYg_m0n4TpOCq_T_LDbB91vui_x2orQ8x2tZtSj9tNGY2JIi63UcjIwz6PlMlsZkAoVt3Q_TozQMspFmzQLJCzF0--uDzemHZ9p3DNn1vzBscaxOzmmYM9Q7-TXVSDOyakW222Q-oVdEUjrhgsgAEcwOHt2bzOqdj989tXwn72Cp4ErFKrIwXmRDgRmZsBzGC3Rhp2sgy200z1jP1j7Z3eEnTgZPAiN5EeMeVEs5vQOQ1fnnUqQFkASPDAhK2nCNBhcLrPKCAtERqleYTAhTVdJrm00Hn7Am23FmiF2KV-UaaeDpUUEDo6iZ4xZPjA_-8s9QX3smbRAa9wMLB5pNaHoPMPTtIjP1fUbDRRNw3hCL7CnpH9JMwehl0gA-Ih8e7CY4I-1LfaBZ5MV_2zh1ChYUuwO-h8DHJrvBqzCiT9Tm5rvSJIJjEDnB5vIGgcXfoLiAL7QxEXh9ENNfQLYseRA7Tt077XzuZm2YMIT-qaffmMxJFhyPmInd4XgGSFdm8ozA3NbOzCMcrzyta_nanI4kB5LFKeqr6fAMcXCkfCHHFmj04SlIwUH0l67QBXmZ932B4l6WdRAA16AySk6ZzQdatj-KmozmIjhlNvYj9u73JCQsEvGLrb7yZgab9EYFO0EQvVDG2mkIrmZ9My-8WW3xfKbGfvW25lCERBhjNx8wi0cTr5OWmX9dV2DYBqbM-4OW-4B3MraqLSgp_Iqpt0JYi7sDIQR3c03JZoeptR922pnomHm_KGe30jWEU33i3ZcWDGl7EwB1brpxz6Z95rBL9U9yG9bQ42VboV6rUS-7cPhpI536Pjxd16HzD67AioRqyvcph0bYBvq92bsX2IWI2sw3FB0BJn02TPjy0gGrMdLSWQOwSYndBollThYSF9H0rQZ9OTht_W6xWYQJdC-i_Jrhvwte0DoyEK0ao4Xlup97uWl6iPrFerBMsY-8zKClPz6f_fFfgD3RiHtKd4VJo_z17kkCBDmsaO-r-DfaxUMRdk1ms-cH-EjWlsUFjuCKl_yuLn_Vx8tEzyc5Hv-XH5bKeRWrBTcg8JOY3VcmjX61fIIzon3kZqo9sEpZWNubPsdHmlDIf7Umffr4B8zW1SOWNu93_4USZCJAcZ_bniZD9DAGuCU7yXE3chcfdqwNTRAlBtMNvwfgwhbJNlsWtki0MnkKSokHtaa9k4uDvKuIcbRwXKdbDBCT9mz7C4NVYFM9PK7mM7LY4Tb8jyjL6BBU2X3JTCfUTuTD1q1MlrWz5frWMAgqEOaggjbdFvz8wMN6aYFA3bFgYcn74OfuiVVwdXwKTeU5SqeLqZFe6aki2OAqRxGC1JFOjcXrZV1ulMR8wdo5elMjBijhHOSNMkf18xHXZGa0CEU9ZefIAqBGd_LVdeQSfCw6J_fFX1rm8mRKVUz_Nj-2tf5YAPnrNcsN8R-PtFpEFWHbSsqERjeOhSiAyDzPpXG6ALwHPXMiqyVHO0KTuu25Ln0VuXnYvMhm3Kt0YaWAgXsnEsCYiw_vEFdVDKEA7VgQvpx-NjpOkObMDbgyMSMRYG7g4tBz97X3Wt8RRIwGvOQZQiAYIGZkaUissZa062P0iXFI43Jw9lLW5oVwJazXusoq00Z0R68fd9Aosh5iQTTuCzMMmsbEZ5GcBT2FrQgvuiVK4KDzKZip2OK58QYEv6AXKdUgBtdiDq0cc4QB1InXEI-JCvWoroZIRWy_mPZel2SWQHOiCykNhghjPbkkUNCPprV6Hfac6i7HOCQPE3Xqx8hyMpajDVPTR_Pwu0bvKxb4ws7duNTD9tzzH-l-UEHebsHhHAuSl_nRyycKbyNxqEh3veY8NpgA6Hvvewxsipr81yBN0TnUmFwSvM-zQW3KxJVkiJPR0C3SeVa_hqMDrbUzVHI2u8IV2bTsCoqLbleCwM-EsmhXukudzR7kePr4YefgJ6VfZabPWCPJbfzmirq8i3VRrbuuiVY9OBnXg8rXQZVROosNSVVhILp4zGm_G95WUy5fL3lABaslGra0L-EK_Xp9MO-9m40xKSTQRmTdiXp1WcB8_0kKLh-gKpuYZTFtSHMoWFOIjmJw58jXtFCHDQx67kWZKLvVTimKYfcEmUYjrLrHzMUb5pJ--bQanv2Wk1x65OUMQWYDqoPnuA8b6SthgXXsiLMrZVMxvfCZ5IHGSZRX8YUV7GoC4E0DRcZ-gwSKSK7TxWrZEQmPpBl4TQD2wqY-upfjFkFmCS7cUh5tvGyEuAMkuwCesUPcU4IklJPS-K0PykT5SOAZpYKYSk5VA4C0szGyI5GV_ew6_0eDfYjrH9Wg-h4E2kRP1gaIX6GKq1m3M-A40jI5Fn6VhjJgEX_-27uwMXjMmEkLCpJNulF6frmhMCrgJ4_M78HoSdgg8KvGERbADSQm8QdRIML9D3KyBRq9viIpK30PqoJt2cRZNZj_w5ibdaWVqEfemCrPinDvyMMqT_OGeQB1kyojf4guhU-Ql9iwiNMdwPate1uuKr9sT-UTu17chGGOFIncLatTxqEvTZYaKlEApDvZluDsH_Wh983yzJ93nsC-l8DAS175cM5XcAeDDUcykEkgGeS1SyrDCEkJFiarv7R2eFC-fPVouS9an-m8s7n6pLy-hXPqiuMr32pVvNPPzmi-fcNYcBZBL3cbgd06DU8Wo3yQRxxEtU-evEYjjKJzWAr-hXhqG6MufYjIPLahrdkUWvaIGG3gqNffbyfson9rOY7GPh-dp_KE19ZnVKN3-0Hy_-_6zpEtpyk6xe91_Ib4JkghtWJLCXGO_MYyU-KFmNuuoNGPAdJMAGUCkwYiLGHvARmkHKCsww10Mv0ND_mmHFV_AfeMrcojl8BvNrR_miBFu1yc438hj21MJAjJmr5IajSkbSpH6PLPZUZh9hGSu3b26d0Ds8SA3zKSJIVEHMWQ_62sH3k3b6RFnebtx-4qv9roYNYbDE5Enwlu7JjDZgeEaJDHTvq2kFdAgamSoUo-C_oxvL6b4M9jsiyEfwQnMoy-M94z-gEqGhmH83AyZVyEoM1Y2QiWW-NUjq7dLvIM4ssYrTON0OsxYcWw4XuqvOvGv8PFWTpa2w0p9FdBoM7soSPKVmvkuRnk8Zb7tGuoWlDCatyvrfMtA1TBo1Wu7wQoGIqQdvKXchru_yr7YbWzIUYyImKNMNa6mMFi6NMGrFDwZRRW1A98YhguCaqhIzi49TDDpC9EURfIxtn9MF6QgU6bmWYuKgidWo_cqVhylrsWWrbVKpW7kg_XqRKeCoPId205tSgJf2SNGSHDODho2bHpRrsU2g5wQBdv4TFF8sdVtQ0vZKub2_l9FdWR0sd22chiO28xdZuV2e7OKfo9j5-uX8idMOz74XExQOrWNmio4RIgmOs9Q7em8GLPYHGvQOLLuUl-03-PHrkO708POWzT-xH6e2mGUuFFLeuXeOM_HEH7naxgYgSCMzW6Lsp1bIKI-cY9KjeEGVpy-wV-m4Avd8TnTRG_rSEDptOFKhuzkSZBDYNg57MkFmj5jDoGQZmq_qu-e0Eq3zBNlFSgq5s6S6xsgJUVRDIlZ4_55Egzc44MOmYiRF_8G2Cmjo4bYqvihYh9h2O_QpKSrx1xEvYFXe_UpsfLBBLC4OWrsZck76BjSgrT0EeU-d7HKK5InO_gFYmTcDyKsqsD7HjlyoicK6CRrQiTgnutp0R_iRHZNPGJBrGJm4OfN2_MO69aYcqa7eSFEH7yW8uOG7zVOL0FaiTjRq2leuHmxA95Mo2WkdfsrlXIRppkhm7vdr-l-qSZSW2VrtRx3Iv35JJAkgvITr3fp8rticecGeFVJKdZojhyPjUN4BxWIXXBQJgij5gBgNUd9HqLQ6VNh6cFJgTypme9qSqzLk794Pt-1q0lnhsbI8Dhg0CR-nygzq7kMZBjy0dMVZ74x6i8oIe4WWF2usfR0kfaCP9HL-nHOIMGOUrO_pR5sK4-t3iEmE8-YQP9B62ZRTftM9uUIMnpa698N2iPm3I6efQWDdDmkIpMzUOZbeVQ2ZgEnYJgFgd_GEIad0yZy5YLdPRZManjYLnRYqxJJHQ2TOXHEjRTyatFdffyC76RSuTJLrRpvaHC9cXabzhj-fP9MdgXQR3QywWHlLSjqJMtNME2G-PHWqjsvVl3H88qNNGSJocAeTlzF46iBCZoiaWwmRng8eLLwd40vOrvStFh7bRS5N-4feu3D8QHE3glEC7w4JevpOBu9tqHppjMU1X4yyyd3Nn9GfiTipGAe77ajZ_HIDvTEOKlbePLfS-ALlkLw3YStbK4VmkPEY4_aPG2c77Cmnt41Un05AgAOo7JwLtdKezSET_mCyF-Xop3pq9PUpjvd6PU9h3wuXLXxtgVJCoUVfUQ0OYeRkWl_jg4CJMz8LOPjW5WMEZlAhqIKTT5nr9fDrqL5RW1QyoC3x5DUEeiP4TZyMiDFaTJEwuPjaTpIqRKPgJx4uiuKVuWt1g9P_wLDOpG9iCr9kFyvkrhvC-l4pdWCE88YdDfPR-XMbFB33GjsiK2BQHOzLhezSX8qRtKJ6tUgATTbJe8tMKQso58X6MkRRyfGvRrZ3Cjg1ctqBiC8Xj6uVLSh3ibp5BBfxlUm0MazEyByLEQsa_E_Rqad7_JXS1A4Ssiby8o6Kd4QQl1SwPAMFU-gj0gzDkMGXSBXikLN3wMD8a34bYQ2fwQl50GUUAvNjuApnN_pAd_ju6pCdHUE6Wgtr_PvH9OMJiGIgxuiTR0kSW2N-DTQ8K1ia0bTjxxdRKGk6hv9A_SyqAjbOUwy7cMriooYYvtCvi436IbIAIZjUN93VR2c-YoLJ7J7ZakESDAgOmpXd2MY4BPPpZXAjfZayRd51Tpc5B_SE3ElGtaYexQSF0IZ75t2M21AWIHEGyj_DawTFcdb7hIFW0XZ7RGTM4fuvKVDTEsKUjtcGd2STHtt6yRQRZ0DKkowpaOWinVGTz01nF4Wp6IvcSrnIr49K1m24jzFqr3MGXQHojeU6boqfCsuKvzvddrQ2w5or9gBX6SeEUsuNu-0LXFRGWAxpFfKrpKFJSCmFI7oghlTcSQ-RxcLMqqU8jvE6wkEsqrtXXLdSSwsKOHg4ukFI8rrVEkx9nSLR37tzjxoz54b0NR6v-2H72cURd0mV5fV3y6a6G0KpZAIQ03EVtsKagb9dIMWFIXDDKuzjFgVlwq1twtVoPN72IqMDxQO1LMQzoclOYop4V_8GwuvBetAgtUilQjCLFlwrl-HR9qMd_xkR8IU3lp0kcLenWmsqOjj9ezg4mRMNWlKcQd8HU4pIghuZibSiBIMzTW35aaHUfP4P0HL6AtuiNuoSTdC5psxWV3TlBsHhFIF2t_SJSmDur2u2EW_BfUYezrQbvlj7fTw0S1X9uj-u4NQoBEXkJZNN5oqBpRPn-1N79NxtyD7RbVftZtCyzFy98wxd5F3ZzDNIsyawWQxhzlegDslpCqXioeY3kyDsvDJr3zdrJwDPKn8lZA0c_G9RQ9qd79uy568-byKN_UlyZ0TRpQ6lffSoG1fWENK7MEKkfL_huugfhCAdro_761xjAjbDEeuTWwPD-WtMGZh5VPklxMKLQPodSiUox_FoUxxuxla46UC-RvDIG2ra4gxVZpQt1AA-JSPIzNDZC4mKqpE-0-8pq0JU9CGAyPGg77UmAhoh1FO6L9wQS51wQNzQpCHL-us1_ELpcIqD0G3n8eMiArIDMvtdoALDtRh7ZETiqD7qnldZ9fG1v4Hgma14h7kKrw7SvxqJteTvMohTXm_6lzwQ3iPKGYCBNxb7SUdoKuDxSjaaztHja2dj_wAnEnd7BcIZt5TyI_LqDoRTDQqhvsrbyhawFc3fFHn77YAt8oWKwAgqPLNXIZJ2Yg0H6o8d2n3R4p3IOCTXbMPXCnyhnBkhwc8KjgqDRQ6QHKJ80f9-0_KWiJdYwWOy0tY6DRPUYHxMjgKJmRC5A9tDip7yz3CGjOWazCJkI_ydmJYGZOadidAQa3BLnJs_9SsubKRM0u92IuQPtpJhfrr5w0b0zT9hz2a1eMrH9rttkQwaK0AApVmx95oQEWuipnmmvqUrAglzLlGkEa8FwbjwxRK1P3egzj4MjVijLBVhrPVp0cpWw47B681F3HVQQDU7R5Bk4OSDgIpYKjd52ICgwIeymw4Qg2GxPWhChiY-ZkGjeQPr8q6Qehp43ZkY-c9Bw_gZiQF9dPzi7tSez7V7MZMoTBOdkIAUCJq7EJpVbOtyiNsj0PykFnamHycLkFJkMn_sYAw79SJ_4OgaXXykeW2avg9kUWX1gJ7TKh3doqD_rJxwVDHrDPJdZ-MXYnY7aQorWiowJahPUr6pO5g4BF44OPcoC7UCJSxSJNHB8ryuqSRrZHs2Jyt7MWLLxWL3OtdLYOAvUHw9t17tU779s6cgOY_Z0BSOsaVoGOqNcTPJo719ADAXytGH997xaVtWglEHdsUe46191ug1fKxIWeVGb1hVvvNp-OzmBCsZDQInKqZxt8P7YFVC8dnyzuHD_xRzbhoPEqS1i9dQKcIucWhjun3JTs10wkmIb8pivq20mGaeDb5L_IZDqZbnY9p8HP9jpkIxVs3oNthtdaNeMa2B9pYlXIRYWkl-XlLdJvmYFiXCnx52ULF876Tcujq4Q3rRIf62lvzzHosdgC3-lkWgiHVYzxW9spSAtAzGqZhTwUdfBKxxjkzQDAsIBRpNmHXrwyupscAOfwKIdOF0vZgQEZc1atQsrZAj55L9JxkAsQzfzZDDpE7mmdgAvr9h5Fb6vwzTX4LVA7TQFThkjvY-WardyWYRbMXJaMKCr7NYJif-2SFyeJteJQhx04G-vnbZ-BRin72fePlreYunzEXhjlnDPf6hSwwinnzBxfn7ZYhMLA4yKJIJWj8fDGibRJrP7oxuKgt4xNHI3oe7S_QPhjtIkKatTqy-vbdoqeNs2_OteK-2IMVwKovzEH1h7-pfRU-f8dCVmQ_J0Cpi0Zu52x9aFepLIRBhyZUoLTnkwcgHQ2Xl6h0NgQBoCMUSQb7VsBJNVr1g3aghKyNyWXkr9wgXLM0Wy0Y4TGBiJnueAlc8ZXmKEc5RAzxoZMi_bDTvfyV2gGw9LaHB5_10Sn5uF7zczBI1xCwpzpFg1sE1kvfoyxDIyi5lNAKNwEnwdmfrLUMkKgtkWCu52XEy-jUiOicZ7AIkZ5jAJV7sbEWYYGd8yAC5Kg0lsh9JVpFqOvApUldhgvnSC-Tirvd9kaYmCOVW1iL87Df28UPbRP7rF7g-QuoTLSsJnSQzbG8IIXgTm_tb4p1-wKFjrIQ1sSRTjIukbPQZdS3ZXuswlWXUKq3mKAANctV4ISgtHGVTm_RGeEykPAcg17xYY8H-kBRuQQC_pHCES45FCq0Hx69VKzb_wMmp8bR0CgupXDNxQxZMGjNMHAHpuOq5F375ogLDRm-v5A3eLO8USHTzFO2hDQmORqin5CA3Sw-gN4Cl1j2oVUBxRkCLtnaskiAMfS56ZrcrttDoIoAz1Reg6YLLkVdKwf8xa8YwFp_p9nKgJCY3thvUC48Z4ha26jzPcL_XobTcYt0Y6sb7_F-Cl7sHBwS7zkOerDbGRSbSEPwDluAh7v03VGvnUXLyWMottybE_BMxTDl675aZ723YXNFPfwt0Fb5I4fGv4o_ArTlHn8EquqDjtCev0M5OTmDl8uNfhNeBFNWDRiogF0ZEWzOUXuGvq8Drz3Q6GHdAUOsT9ciHh9dPE1l1iMb1nKDCv3Qzj4NL1hnF1jMKw3jjH3yEYgiK4CDtCx2-aQsJxvO6T3pwno8IU940n0GTHWPneWUDci8JHPZiZ3d3m9gJtE0YT1qIDIMtNGfI28ErKIYXZ2UKwcDuYd77rxcpE5ZX135jLctF74RIwCtxX33hVjg_JvoJwO9ZbuymqsVLKw86S4-1VSB7LreA9Q0aek3cyzCdBlIrxokKWOspRws_Tl07YGtlP4epCY3lBcAQPeRGTqbeuajMg8E9fqJnNCQaJMiG_RN6UztOc3xmg0t9xh06kDmhSzN206GhZ4nkPjk9w3T-qLhWvQ_4jhQ-uTxDa-LmjDVVGt9MiacI_g3lc8YcNbHIh6qV0MtVkvKnz7bFFyCUuqEnw8uqPZyQspjJaWA94J_WDahDBiygNCKBMTDFR2kmyDuDE8H82OhGQl_K2d7Vw0MI3KSGpoKA0KV8NUNEaKR_dm_FlB-YvBpedng1aDBSnVa1FqY_ca9-FoXvxUyl7tK-PHUk379kPvmnNksf5W_mfxTTALAwwD7iEt6UXTVpmbvGZWJ-PgLTlHLa5t6OxrWGQT2aRtJ-7qQhSFd4S5ogsE2yfvoaKrzNGEf9NDuoAHEoftnVHjJkFvBQpLhFMjyGoX0xTnSSomBSFrJtjmFI9WWnKQ20Fm2hlngLznV9pzLRIzeSOTPDDS53mU1KDY9CZQtUwzXLGII51HYioMn6TYLgCVHZ2mtQJ_LRXjL8B_FiAXMQmLuS5mUFAjqlTHF3WeWaZffhHRGfJn9_FRzSquW6_kojDzHbpqLCDtW1i7LHKAb__h-QZvW5YqZRKRijXz0CNmx153hCaQIQl8MHR9ZJ62WELz4lYtx8FwImB2m-zafS6EPmbu3mzJOzGYnhB4-vmNevf3QsM3qK_DBWF7H7TCZRDaQhtOHXJ1Kz5fY9HF8qKsz4mu0KanJBEYvIEUdpXcTWvKwTaWc6TGQeNxVFLPABAYVMXnAO21qBBZQU4NwXk9-TMMBvr1vbM8AZ0tzQ28h8JhQiHsnxa0BbImQyV8Dy2Eo3DN4C34AfmD8FAi58nfJPM_NhMQu1fgdVugnZgDWAw2lnee48LBAReaaW3jqzMHeSJxsu6KpuBREhMDNq2yx2QmfelupwgrHPU1Pj1ClrX-0M4GIJlQa29cY1HEa1oBs4RC9NHpjld8FUO1_liO_eQmSgkZolcIBkpbd5lQAh2Ujgjfczkppk9LI1xTZNZR0jmWv_XfR7_vbobO_x3k9M5CNf5YFyoIo3hAmKiJgfRcRemWsixHP-hMwQfpBmnopM3bstq7E_tf95vdEQgul7pFWuwjLesYsngv_M-lh6RJCviFRG5IbsWfWiN-wdLFDoHbS2MO8cmHM2DC6gA9hzeQ4TswptvLRdbIfUdo58OW0ZQ00UTSrum42uTGsPIa64Lyy9lS57yZ66fnyyGar-QDj_BAzDFGfscCMouJpDyN_1ebjsGa_DjtosKq5Lk65E1_I1_RffPT96FgpPPtDeLlbMIwLpkeWpqFhFhcyytJQycoRCkmiFYPIBS286MXwMRZNjImtDGO0kcf0pnyqYhNItCjhplA-4fj5BOKQvGQLlw5g8NGf78GXYH0H0JSpz64FRoXgpuuBYYEPIwtUGGuVlM_95o6XaBe5Ksv0FvBOqhPsXOrG8shPumcmdYjVAPPQK1v2DI_qe6ZkSH8nRsGwKqIeHamzjnxU8sTtUMy116GnPl-UsEu7t3yxSzXwqajHaYu8iCzGlUaZE2bgvn14hnwgTyAnrdzu1xFUES07wh0whtRx8rtusE_K-n6LI19eVPi3dXM8MWSgT5K_Nmxf23cm1mi3bFLSfYjkEgB0hDrWhJfa1zL43yzFRKpDTc5jL7Ln51qOPk7IOe7EwzfWnYNxDE20ZDUU-As6FkdBuF5yEVBSnjZd_dqWq8yran80k5KAWbMB-vvrPtYev88WLSoloz3lQIdZGO5vsKRzCr-tmYIIZThXelOHlcMUQ68uiHLPmb47_7XtbNaUwGylrgnO16JKUSNeQ_dwdDCERn7Sni9fC3gSfiT6NwP-iHgEygRW5IR8TSO9jWHqOv7QHZEgf8FP3vKaOpjjR5P274jzZWKrvl2TFfWN22C7sMSQPM_aPLXCi-sYIuKDhLCSNItvK92q9eyZvtIgKWoAG9sWwvh-sjW7hBv2JMbZ3HFqmF7sWTWlUdqHXHokpCe8WjltvTYb0OL_n7tgrAeZspthU5n8e7KX-PrRSOhRPNh-eG3indJ9Wl_SIJv48fQ1-otAYwrMLdGUz9WprqQj0xfRte-faoABI-mb6mbZY_JKP84UseZVgK2RwwHjF__TP4JxY0VSgHrGyPFoCS4ByGZrR8gFkIWUKxHU12dtwdpjxuxKLmHIzeU4tMXWcG3fWHpOYhrKOKE49O4jSZj66skqeSzQ04wWe3yPUKyhtOUyNfbr-BU7dxQeHD91WiX17p1VqJIaivkKpfn_FxZDDzEcMnU6CFmirYPfnGa7O8L27PJVkgZ2N6EXFtsqOKDFjX5BAD6KN0Q_lcVjLPUGesbk6z16wY2xaPoJG5Yd38RE0BBNGoiIpbXEJl-glWF4SR6p6bEUTr5u399KIuYx3MZZpdDJKPSpIjC-9qFdArA0v4R7K-Uwz8glDFCSRMFZvb4FrBtF5B2Xnv-qfMrDHBrLlZe__pX_HMcmN6ZglzVf2tqaEKQ3fb6D1fheZb5PL02qD3INDu-_G3F-dH9DA79YOc-KG5HsB9ZKtMu2UAUhihCCI-_r1GHfbGVUOVG2oGxMYffHBpUYIGplSw_XpPOjqLQxD8FxCG1U2xYYJoJ0-LS1PugWxeKdM_wTqd9sLBsBqBkAWvAQgFweSbFQfrpoH7cCTY3gw2fGOLaOhXQg3uXQZgHx28pq7T0zMEIZo_Hhx3jXu3VPphxBnfyuquGlTFPddLo2geire8kMDRQOayFp4PkgYb0DxevgprPN2JjRkfXXjl0L7Ivs3XRcBZudMTOi68sfvbZ4-4Oa7MXwYoTBrKdrvaqn_1vA_P8JpXVy1-CnewVC8OvC8zIlAgVrp0seNMsAMQMU4eqU-Mp8TrFStAXoQlYw0aPpHe7CxEK6lXbuwfq3H6wN1v9QhSrrx_Dcyw9LerL8LCSPNO7Jr6uiHwGIZmowkRGRsA-wVQth7kwwaYWppR88-dfl-IDy-HHto-OjlwvXujiu1d8FbiJFydt-7pCbW4JIv3NKyCk4GEvpdvb5w416fQI6yvgnFjR5Ccsp8fbeZjYCgE60JTz6hKycimEkA_x-lMZMbHvb7jVfRSSzBVj97skkzwth1hMxw6_RA9EIQszFr6qd08RobC4iMSKiPz8L8oEW5scWpEo5ArMz5xEf9RLvnUXl1qFxKsqjRReeXfP06gY9hh7futkkFR9pimCNByUlqbS6WCJUegN7B4lxBk3vo8jIpT7k75OfvOnAHCYNjYzdTf4Ep7hTFdHCMglp92CJS_KP1aGTPalgw-wsHiH90vpsks6qvA6R4MKmNt6P92hBPaOFT4NhcCYZhWLU5_HEznhmsX_9Ljx_jCTO0nUI4slq9WmR-QhteCg4IrXHl2NKqhtfxxEjbJ8bsmW6mphS3lWORV5CjM_uar-YmXhLnsj_ohIEIY8BMehcjbf4vr3S9YSIhAXD8GKU6_p9KTrmGUpEmEiFt8_Q3nRvoyW7r8HiX0Ad9ENOdV89ttf3CpbOPAied9iJIty0lNnMTD8WZFxxw67auM0lEzJ0Q8LnkpY1SUGvBKlWOVrI2PTI33Rvn_tlnbSbBpNxnwH8hfJjaFv59seVD7jQYjX33mYsItgUxlD9xSG1hbLo9UbfpOcX2b5w6x76W3VCrHAWQS_yHWcyIeR0w_q95wTUlLAu4N1XGPpEIiEB3UApnGrXnr7poGyuGMxzmxKGtzug7LEWNWZVPPe7EHxlaxfAGTPNzMWAMCbX92lcUdeU_To2RESXN6_4awhHct5YlSWHKP10JhGmt02AFllu44QYmnAQuDZlcuFeh2KR92jJzQElRqWK4927FPETmVoCDK8qtkm8U26bttXxOonfFkpafEyoQqQpzH3OEZbHXfM1WaTL9DeaEFWBlOrSKs2wjxcdQfFVYS4yQ0WZHWLhovGWEfazkLtw6G4-o8OQ01-ImL45vzJparSf8FYpElC3w1w0jabMQp6Ld3_jrD_Bw1qzOUOHXK1jcZqRy4A6yA0OBIHPtAY5QGBgG7ikIlDeqF63WjDBGuWVPdqqJESZAF_gb11AFmAWTMxuMzOuXX_mFOvrYeXwBWHZU2brW6q_F--oJzmgTmd_f811YqLkMg8P1cDDuvgJFS96--exmzsCKBlrHrTu8xd_lFysQ7ZGia6g_XCRz-HgfN_xr_2cpuH2BW79Aj8CR8v0VA7JbTFwpSUokmmhUiL5-Z7N2YHidkLtuodDUyc0Jy-dUvwlUMFaM272nPJWtJ5Y3J16oO4YSkFap_5I9L31EGnlOja9MGoNyMESPW5eoQ-SK0lrjfoszb83Wh8GcSNIsAjFq0QjrJ_3i5_H8j5BtDBRNkafizI8BQDzfAV6NYEJGk_QJR41_JX_-XgxChmLlAAJ6v1eV3mudkSIyewEOgTGJeOrJW1wEU5EEDdzQ_CCGX7tnY3N1NR6eOUlUU3aozljrk_H1pi6WNL09zmgRjIzAe065copmC7id-MX89tE5V6UuEEgrR7_jaGVWGaaQWtQpvW8svcNpQta6sJx-srIpd_BtKE59TOHItx1GMflIS1qymyPb4UPOl6KUCAbwOYaVhMBlB-VHvm5s4HSpQOW3F2CfMlqwzsMH7FtiqYngVwjwQ2deWVyIJnop3xa5b-WoUVfDeFhn0EMPF7AsxJUjysDaXwlPtWHBjKBHyxELXYB8MPlgPzAyJNCGDJbp5FzpjgvGz9PBf7v4pgVQ_CiwgFTOqhPGkqLYMVXqxo5HBkq_1bMmRDs4Y6LkLzJgCTmzIdquoM4lFaosTdaQM2ca8WypRc-G3FLDm4knJKpgvtqzJGhs9zsCo0h9qmQ8gWnH2KZu9ZGW5zHs3PCr0MNCIshT6LMqcVIPrXWSN7BulhxELQpGjqlA_rqjlmBWh6Kw5Me9umTlBIo9PX26-XcdrV75HPFsRtOJgqF0A67jXlcwL0FzV6a-dS7smpzBSSWetmIVztlDVlpchjBUpAmVY_CudfSLyX17CoCxVyrXXN1jPBtc4IKgc24Vn79oIu5OayU1E6HmYtE_IXIYzYtL62oFgWESBZE35HGzgMC-2IFiT4qJhAqD70CvOrv3Gew1sKYzvNbN9a6zMv6WTFpYw36IkuyUMQPnSk8N-n9wFtIrzcRsOF87TqDBBHH4bpx4Mpjz1tXw_y5a1sDvMzbNup17f48H0RInFgpwbon5Xb_x4jr1uBtO8KkFUJjtwOFh2ZI0STIbD4oD1sZmI-yl6SqzJqVqbYqH1u1fVXr0OzoMQ0rzAP2IyJylX7hcCOppuKAN8T0eF3l3_EKgltkHnS6RGuKl3r_WFfZ6fWxQT7Jrdx9QOVW3t_7szvqep-_D_OJxEKw9C_AnmBiFBttR85jZwJdaxZBzAReDr5neqL_Vhh2Q_wSsfCY7L5S0tzSik7Gf15Nqi6I_R7utiVib2XAmNLVjCb1MPH_96i61EmV1wAJuE3YNOMKN8ctDuF-IGpXx4f90hkcT7uYgPy2NpptZZ660d6tpb4kLBKoGpNfLVr2n_gX6leKVH24nTvKg-H888MCRNTd-mSVMUgv7hAxubNiutPKDCu38Bns02RvBYPnefXTyq_D1KRdIH7BI4TlzG7nsrC-5qgGWrPyrmovuchkCHmBhrLTxSTG5KjjeeQSn6FMHJSbxWHkjV-t6Y7u2BLJ903RqBKJy9J1PB4qZzFdWov3ZBOD8kylcOjJhem-AIuYNF-t_2AuqwDYkbj3ag5JAIlLGwx0bAEvXWFxi_xaX1yXQErZSKNAyc52rNFB0O_EG3cb5MQD8oKqhQ3cu1cUkV3K_GxWsWqYKPu8V_gQvdw_Uw6fls15jjt6z32YArYHqse8OSOdkz2CWboMprCVcHfty3FV8gqtp7udGuM_esQszMmgtB-IbM4JZic-hY3iftwu5PK6xg5rLjamr58WWmXjzpM9D0GM_SKW9SHm8GOh6XHu-UhVzF5c2X0KhAAbixtuVrre4eru01Tw7G-dTuE7gzU8KEDgDZtiQjYEjJ4WNmEKKP1GLq0pGSEeLiB1woC9PjNfIVmNltDQ0jTONoPbuL-9YXApjSTO8qCSSw5djbwUK9L7p07pn7pjDbvoP6KKaawMn3isWmmOYHlaL579wniFlPx_lVP_BPunQG0-L8pViKD6FHGaQAtWZrG9QtcklNIJrRwcg6SEs0OVfInv1VI_jYmhS3uXuI6w1H-VyhZ-gv_CX9DVBvoBe6JcPttM618-cKLkXtbqb_iSZAGRUtON_DMrHKx_dXJ05IDk_rdp2UbC79gnnk1Wg_dQFdaabtHM9uhBbVMjSJdf9JbTmII9BvZiCW3nEzV57S3g9xo1YZTUo39uXwKFdaUL5jz2qWH49BraL0sJNXVCADLu0huz6uQVWcCfpvtvzvhORkqSij4yOC0NaLQUlbyk-WY8z3zYX3H_BjU-AGy-zGZ3l-r170q_MHGUL_mjOLd578YqKjhYUAD2q6f0dYXJBEt_rtWnM4aSgeL6Q0ecNHB1V_uOqAebTi1s5IR6C5Tbb0F_HHUzqLglkPB969uYvFj1t13rkVhPeeobLeQFt_BWOB2NTSui-EYRsq2eWMP4jJc2akx4EOD-HyV-iElYxwiLqqCqBteWuM36FWGyuyMx8Z2dAH7_notP8H-WK7Zv341gujQdeqtM15iAnpMRq-JyunC0I6Hvki4HRaQ9UXlMKzxxR0mySbZ_blkjxNQjkjbv6gfESDgJNMsayRAXeLA6ky4txecoVoACcnU7THLbuJXTer6j3unDXYe_BoQ2ARzDAvcaXgiJQt62RvMfpx6wTPaiPw3MyhsmtinYMeaRzj9gk5b_S8TWrJQwHBONqRfsXRzgtHIUxsCLO4OPaQYMpTB9ytzd74ZcJQsMtrHUlOSszLY3vaWzCUUs2KDQeXX6GKDRivEMEQ0qw40NHd21WkX98fEI6fbBQ_3XmadYgM0w2U7qEbvxihWxEMCnal07OcTNZVsjzFLbT06Gh6mELMedYx9-aek7NO3ONb6dzCEXL4eKCqDHuuDmIcapVsZfzwikrPmVG_Fze8Qst3JXBnLf1S-ITDsjWI93brQlXO9kscCWjtQZ7TknOjDRHQqBxAui2GUeWwTu9hUZcwg3-lNAXCvwG6jZ9nTPBLRT0XPxv7fEe8rrIkUPi-sCUBIErVlzMSTklVEA4-tHAMi6t4z86L6cAvWuKVOGqSJwgs-CwrSXtHNpziZyemJGF4_2Kc-E0sv09t79Jq8Yfzxr7BypzHCy8wwST-0q4VgAWLdJUVcCMtAM_GX9CA9GEKJb8DoQ3hmhoSC7HTVgpApLrKKJ8wKzozob4VsKIU81EdGLu84s7XO49VFta--5x90V2HzMMvcpiJ9FNSdLcCHMZWvRBbiN6WXLksAb68qlhdE6dZNMbqP-sKSA59D26YHJEvMHnnsSL0hke3QVEeL2mR1rJSzwSdKkFmWuI0AswDzCqL8kGOF0tJ5UmqMbbdilIHP__JnofWM-sgnfnC0B8Ws0DD-xWdLAvARVN4CUzKZ8NGk1-Wo-e0uLb2vzNVOBWvJiY2HulThs7DlpYaYraxKl5u_8Q1MBALQ-mFYj5l3pThq9gnpDGypjoNUpYEcf6o5RenC2axQ3chXqhQnU0w81ZJsVnJu283XLSFelEWeEt-eIIcUKlar-fylrPUfaI8ntbeTT1dR1pn6_x__gJNbqBIJlDGwKcI_LXXnIbaYl-MQerqNTi7TVzcOb0lg55R7mN3CfFLXeQUvCjJTOiRp0pfazJ4Hzzn3sC2qGtSW-15k2EkxLSNfDGwxeWDWH2MgRUh9p_DQE3BBfP45gMVWMyq6PeCZXCF7VIvba67UdYrNyB9A_iVOXqcBFDaLpE1EfXBik1GFZUVeND-2UTMI_HLQCGxE73JK8Wn5SAKg594lKfRonjRy7PRJbsV3Ht7D8P_Du6zqJnJ8i-v8HYVdayw_SivIQSHG7ATeWX8SjnJ211_tfGE4hk_v4iyMhsCUaTmao4RibSy-w0uorWVUzQS9PD9I_8sg5OiNa_LINH1jiUiDaG14HqnCekvIpJoUEvq0_8Uw9lLSIwH0BbKfSj6jEK8zHTsXji11rgp0UXZ8NdCamRFdl_CS37qv0j8236fO6i9PUp5GMUehVz0Q0vAk2uX5MidCAccdta8WQM0plDYmtMLxmOuwcJamUPkA7myIlr9ZmcCpoLbZa9AE3pcTre-R8CqmSYLgjBLSQAWlHFF59eDMZRzvDxCZbdSboxQYkP6WoZwY1S3nK13Dp3yQSoeXx9Qt8Erm-a2bAjdwRS6hdDInnjJS-nc2DlLKZ4gDRuiKBwag2NXpZgUbwWDePrZAWvkozbBirKQx_5lxMphExxFF5GBD-KICrR9cnq2sf3wxfcORy7Ipq-_B0rcsdjNFp5820dmppd3zs2HwX01gdali-yIYl0ZT9wM0TZVVvqPbmpvaIkf1Sz6a9J-WUA6tMf5YpdNHVHZumLVpnwh1hK0TIG3vqBGxaGn4ah615xnbk0nVcN4_3N8TpBqwW1Z08pYVOljBs_fX7vV3DozT-5H33WQ1ywG-VPa3xL78OiPgARXU-ts1er-AxV6ZvWTxEchwUMmXLsEAcPHK2On-X7OhVtK8Uh7YKtQNY1AOFYKaWZ8Pcw229xx1pDQzrZHNxbLmWgty8PQaQar0TSpXAnvt0ofypy1qy-Hl4aApxAPEo1toFL7HCWo9GFQrKAfQiqeFKsZMYmoJhS0msrqvjAT79cQs7mQRW-4lhy4w0BP0sYyLkIHNLROtetc5pE-AA699Sf1wLjmyV57E5bqwe8v9zuAO4FQRV0HQThiM8KzqRJgGcVlXlkTHKJjfjI081Ln0W5yPHsFjcaWwNSoB8c--0xu1x5qn9nKNi-QK0a70IDiXHPztBnXBwz7Boh2UgtsDd92HvfUwvQPxtxwyKkeQfKgWQVOAeUk0dWGTYoE0KnWCVZlXNeycHdsl6w2RxNxBYHrKA_5B0Pz4vRY9i6SX90D5LRO1kX_KizB_VW3fUvgmX2aozUJPVs2SpUvNNgEjo2SZw2seyan2-1hQ4L-pPa3VPRotdGdNB4S8jGqVUWALQmliW0abU4_73Xh0CWr_HQQFw_qpUu0zqUYF8kmaJKSb3yk_FIdNfHuH4zhVeiw95A9HzGrnJmCwT1k0oA9NIPN-7W0b1b0MLJe8ZDdfvqCuiL7DyBq9y-4Wi3irlDfVHPAO9Cq303EvSyjX_Ax_lD95u6ZwRStMwMs8xXxAKSZE2V6gssNBQ5wVIbvCH7KGnij7WvOqONyT2GVkeq1xkK_x4LHGGCRsitmXipx9U4isGFY1kF5d186mGdf-dNzl_78wUg3DOqDdCUdmBpZ2Tp2CCpKtb_wm5fBb3rItocztwIJSUGdWj-pjquGzh8Rh3hpkaTS1Ns48xbulB3qNcpm8DNqSq1dDPexwrF3pzudv2x7zyvm0tfo407vFOHUUMeIW9jysRbyicDKjx5RUis0fORIpBcVJoOE24IzmrjGzpDQuDy35TarRPkNco6XOJB8pk9wMXt6AoYnFoGkLPEOGed7E_Jn6CIrkVm1a4ytyXcqMB44W73VbBwdo_fHIq2dWhfkfu3mZH-rjuOklij2HsYlwSxLOuOtbHPwSONQaafMJ71AP18Qof_nYHLoZ-3JsSpi0Fvw5sEhy24-K6QKE530L0gOm5KzLoeZtBV2v3cmZkkggL_i_-Et7Xw5YKxBz0xbjJBB32k4UFNytUOIRuialDYy_T-33HNQuB3xAORpR-D3nH3ZmrkRJANxYhZBB_u9-9J8fOXXxy7sg2CM1dj_gGcbVfKfyCCJ-NRScxvfu08hOTqW90_U6ngXAIPzSIGG7yjn5CP_r8cu-41cWcCzNxp76-4mlwiLkyHZw4cQMpmzrQuRTsArQcGA78E4JsDXRXDkOucVbxPPrSb-ZqD-u_iZkDIFj2nEDCna0gkK21ewWCMmTbMdFDo0J4Yn2r1AF-KYBNOXJ3V0pcQ4PQd6EAjfIml-aBFLkPahB5G38C-5m5kUmk3iT49xdLKSAdJIPV5gAeHiqk0b9gtYiYKbH0_kSTcJl3zRVasp4EVCxHdk4PnwFQKBewdmM66um6q5PG3x4mJCS5ojdLKGE14J9sDvFaJ0f-7lE0zGJYT76c3WlvIqiv_1roOHKOVa8roVPSKOAmh728hIqk-3VUmj-chok5sMJK33SnKSlAI3nBJpSNRCkcPmqr7_9kaaaNHx_WMx1x9xHsUa4bMnh9fIzYMn9eB8QwtFn-l9bPrvCq7oU13MhJb9aE89Fq6xefLYFm-Ovb0oWxlVpWCQElU1Nz47C4ebE6nzt8rYP-EIu-mLNUdU7whFjrN8fe0eGlM-O60nBjeyT97K5qag0MYGv4cpi01V3n65ZMZgG6SpYLOEEfrXz6YMQs8cas1rH2LmLyuXWQEdCz__fwTS0pf72KxRN6tbdDXKeN9mMRvjp8Qfwz9kAjlPRwdfOy0jbawvUevk43KPZ8KcXMyOSuGyBzw4W-47DUl_h_C7tVgcH8mjUWcsqmIdbZatarZyV_CuozGuKbUBHWl3xYDfsRPYO4tuorlfQH4GO0WrGhp9D2mcPYFnspj6ledP253dOo1EiDYzWyiQYJyK08EnuG6HBec6tAaof3CAY5EA5VCVtnZ4G-qig67Rm6S4jkcCcUIiCiN7HQtO-nsWxXFPp-1qk0ABiPY5Cg-7sB8c83UDRhU_FUHl_vYfitMf0RHq-Kc-US1iYGIeBHsRDcPteS2UIDt3XXRwqE5trYfgBQQqkhCN25cGmVM7o6j5Ak9_T7hDkBdJ81iHkFOmk5HQF2WZMu-Rxn-VUFbNfesxdeazCqBVhqu1J8GULaW6zwIUhvVJUa7F37DiYa7WScAYH0fhjeCd-WwLboCYIXdoPD_mZVbpqK-5lsNuQhYbWbRj41OVkGelVMW7JiOzmRb3vMafrMNc9EZ3HH82GzZu7fmGinFJV4oubbq71vEaPu_dz7LHmSSNNoIuUuoySGaAq2ewa0it9MUEL0RqbyCSILa9nzjEgA-rAqU5NQReIPDt5MBjmAUzv-7QJk1TC8U9-kV5YInG1hKfxPYk690P_9sV0UHPARsF_OCOb6slhgJtW4jVEqQA7slqzbQDX_fV8CN6pFyU9MrSsgnrYt7tB3nkYZ6ZoSBVLXxyaK_5lFis0yRNOiW6p4DtslIXlnArqIF_ZP-LssVLBYn4exCFIfAsmZid5lpGnDrhzGy3pKYqseKHk3G7KUaFHHhjCTPLasPH-9K8rF5mSjAxakbXdHma5MfHlRF27Jw9oAlSDTqgsauQJCo71WDga3j-mQFBAd5KOdXB1UX4jZVGFouEIXGD42ytkmpO6npt3jxz7edANwBBRsz9jDvFe73hAaia7LvG151n-M4mnqMXfkw6WKOscY8cJEwEItRojA0oOxB8SmtdyQvxVCGSCPSOj-3Ny5MO5b2WXpnHwyV1rP0JBE_d4GhEVzRG3LO9M-aCCXC77sIUxNqsomppXUMDuAdhFKaMilGo6Hfy6w5ltQPKl3kYElCQOwQzH7DZ6XnGSKh_ncD5CxYLUxDRtMRXpXKp14w9348Vc7E7g5k7tG6gSU1UPRENe3Wn8yUW8pH2l5PWrhtrHV3_LgxtE9XJIey68KUBBCPCd3k3lv0yIsB4crzb3wfplfURI_68dSXWxb2-knWRNPHs_Xe3fqa6ABNUf2FDXKo6rbnRIXQgi1ArKjGWeNwTPg70XA65w00RROAvkQSo2qchoi1eP0H-6t8f3hbJiSqrXfRrNa-AClLc1W12reNwx3Rvde4m3XSivvELKtN0LehV1_JW4ZdpQazJW9j3_owNOAXIQ_bNRsPc8Gv-aRr6PFe8rCXR8fgj9W9ydYI8vPNYmkHEYEbbwR4upjPTx-mRrAUsaUMwQgnKqR_PXDbMT2GG-HgquVNWrewFTHC-yrbsI2Bk6me_AVQnHlIq1DebH5yGBABsULfLzSfKe53mCdl8VOAa2m-Ib7WUZPacdO-Xb9groEhdqgKMon0s97mBuDp-KcOOYSYpQrJn7zXVMtmxHrZWbSWTAPRTvpX28bavoHCSrNJSReiAxGoZoYvzdfBXwxCIShsBAYBF7fzI0C8bIO564heOYDUZRR2pjZQ3weUcFv94s5I0lGlkac7qzYIt1kLg2kReSKVHb3MQKmkMNjZRa4mDVI5K7jjrmACfzL-wbqOTnyEZysHmT0JBJDMAEY2-PalN-WpWHgkMZiWA0L1mm8Wgj_5Qqy3Gr9By1V5NEScAxRxXx_zOKnTGys8WRq63YPVUCVoQYoPt9IuGC2sNPgxpacKLRXVj3I2YNrfnfa8-R_2yUTedeDroR7xKWEpS7rbyQTinpiCfZh5_cAxCCwB6S4IWDWo5mYd3ClKHuh4wg3N2ZzNmjVDq1WP6PEutYxr0Huat_6DoAZGNMQt8O5OV2DQZEjd1JkwYgdD3NPsyLm9IuucaSbn9G07cNGW9lS2nrfab0MelxCF3HiTj1pLBb-dtdla892v_4OOMCY7nkG7AmGi6vk3bv5ZNDo4PwDPaQVYpWCGbJdIEI-ntnWml3WSjircKRhTkgG2JR6hEoAnxHafRXNCKNSCPS1dwTBYF5xzTLaP96eXbFnonxUw8MI1b7l8sXsgumXQ7n1tb6RJT1DDrnet8qVH-ZP43MPCsDMGaR01MyzB87UFCYnUgWq53B8hi0s9ZS2geCbi8z-Bmoq_VyYAzzLQ2rplrf3TVbj4tHVwMjRVDBeDKIR_iP34i3m0T-pg19CvjI6eagefNXKscpDB85Xu5LPgRuae_mWoKK92LHP6ENLnJf3yGeHx8b8mcBHREZXH06J_AOJ3yEkYK7zjJv5ixOnvfzn3NK0oJXcGmJ4tbL02818NRn6mmm5FEu3V67cg12imvtZeZfzKvyA52rJMLJmjZ8xOrwbZyUF2suuV5N1oKNNudS_QfROyxBNgFqwczM_V9yGgTflt8pGR2-6rDvTWnS7wbXSkMd-sH-MZAlgqkhItf0M0xb6vYoYz_o6eOF0MmqzyiDMoch6cMnQd9tnSiD1v_sMBxQaeQVSbDwxDyHfqci0xXea8R8qJuHL4_b5wfTfvXXVVyWuWOp_T7uwT79TjvRuMx7lZfu4r27rBaxxMl1jRqpwbax2InXa4JHGI2f_jT1PTWumeOz0RQ9MS1fqKmfB82bfQ2mKk9wPt6p6AhEX5Y9V0iuP-4HggjpF5VtEsOlRcFMwMlhw08PPGXlDqkFFQy4bagnRhmTf-jfHbAUrmQ9_RNWAG0ZNw0LwrYeSDbLT6UwRtu1kSHjtgs_4amPDkK3cqkTBakHXMHzGVt2yQt-WsoC2F84ejm49ebLBCBF_veRRA6zo7DR_JA-tCJCtvSNBjHvAF6lTjsUa7cKGd2G8NpAmTaN_kR9Gc7Td-_l5h6KSeVkr0lxogOqvVBl0aoXkmwqhx5gPfQTLLflj1B9isZQsmj1QiQPXz2Ll1l-TZ9mXiT8Mq3PLcNwrWMv_H8uvY2grDci1gS7S9nxxoLtA8yePXzXebLQn239QgTqyJzzPED_qK0byTpMcZqCVtT0k9PgoND6oFp0fDQGKrNdc8h8AtaAB-RkcsK-uIn-hAYfOh0N3K0HzKu7CZbe-YzUg5Q5rH05F_EECvrO8KxiIOxRWyN7Q40og0SkfQSVbLQCJ2205ncBwicEZ_jcysaSI-ypvq5sA7AJoRw82Sfh9jO9H2k6bPIZCRW3nDwqgkzKF2e91ANzXE3CIAwddzl71eZWSG4qwa9T_mI-ZkS_hQX578-6BaZvVJol1aB7qoUQQwunYSf0BcXkm4n264o1PFd6OSce3AJ6lec5EHf4SiScLGna1cr3603H-E7Qz-rTseVclmByM1bHL_sDowLYj1NPLQOCg-xgKqHQzKIlkV4g4HMCOhZJLiJXqv1qIJiN2qw2AVgMFQ_oHUXZckyYSg0zIdeXZy-GvklcLww926m-ieyQE08RFvhytYq-W8uF11TAjBwIf1wVFRRnC25852YN5-UvNUhNdo7B2fpHBmae3pI9wtKJVebqAR5YKElfZ1PCAt1tAn3aYJ_KKpns8hw-kw_-x6d4BpQBTOdM-EBXWRL9ML2CQuDXGStIlcFiSkkIiuz2ekhDgmM0-8fwU7QHeM4UpsTEJoYro5B-6gXpWIrWs3ippFpgHdk6UF9eEIWXqRE6KtbUHjPS7SRMWWz7hPbbrjXs34sKjcDVKigBC72OfPylfe_5k2HTS9VRzV35TCRDg5hlrbK2rki9K6NPRjSNWMTy7mok45K0C0Wou87eu-JqpwjFldj8n-v19zNjFKzBA9LGCQbpUPnyKtO971xDGFctVGx9dTXs8xBOJ9wzKlQ6z6msglZSLDYkYrnzOVoKSIM6bgN0k4XJDxe32TLysIQ2YhhH2bAoPV31zpSBfJpJY1ERNhckStkidi7MAN-swFa9-QsKqViPdvgzVbJyiC_5xVatpnrYP2rdhld5P70gxK9Eyczf20nEzonuHH6Y232k1JTOhXd1eLOAu47DDfWGCO92ZU8w3cjgOzObWXFs5WQaSAPo11VcHYGQj6e5Nc3i_K58wrdT9ESEPjOV10LvSPPvkmFZmdVVdeLK_xMznrYucsdv48x9wcWkFoq9BaAmWz0Bn2Igq7kYbQoTN9qKh1v8kh3mU07nhuswFIkG3-g-mPzZhVDhxSprq-ETyj4u88JgrtbJeY7sHYJ_M8B1pur7P8lcGNCmosaxllj8OzXnymcM3rUyYti0hzhhVtAeZLaZr7ZhXOa-dG8WyRCr1pSIBSFbbp_R3P_LMgmhKs7G0XKvzudwo_tobcr7ExZ0hOWRVyl_rg64EnQneFZA7Bee9LLwuZM3nD2wIZzFioZeo9QFQW__34Dm4dn3cPKOpuhVFMuycMtLt3gd0R2Mk8G4CxrWoSC9nkAbf-2ZqP1Mzek7CAjTGLmSZzxcPkjKsfJA7kisfS1fZldIux3jpJDVFxAolaIecifPn97n763WXObNRI036yvqqrFHpMH1QiwsE7jGL9ZGao5QlN_FnLPlAC83ZPXH2C9a-LwKQMdMvjYKVZkHUarx1TDPcsG-3SEn8pLJnSkjEAXA8Qy314QV4OSVaTPWwQGUS5mjg477JNL7o8CuqXJpKXRBrF7fwRJiLI-m8H0Pg9pL2LLk33z-P5v2k4mHf7nsmZYsdyX6zwJvVqe3D23iXghT8iLzUFOq_YXl4SHIfcBT_4M2aQQaBT1ML2oIn6ETJZOkUcXoXcm9M_thN_EkigysZ9AySXw69YIoY0lS_V_BsieHzKBrqzyeYh-2vAMcbaV5I9SzjXfPGDtupsSZXr8OHASvXjXakU8r76fJpae7xsme8AJcXSn2eLqFLWJId6jJw-QedkQ89szKzuKBtnP1AXq4UQjLEas9Wkn2v0U6pi0mqTuxVZ8uK62Qa_LfQMooXSqzO-fcY1udMlQxqIxBHoCWUP9u3GS42WqA2BWr3jsYe-f0BKGyT1TiDeplYYPRmid_29CdugAijmBjkD69bHLR0-6ZbSZS-AWAMGmY2j5ED4vPrHz0rrCTnICq1lwsPAfH4ca6egKuIvOFA0Wrx6_XVMi-YaMkIHqji3CmwxGz28YucXzr9X1NH3XYcIfJny6_UhbyXWOy4mqV-qlnO8cMNogbn4LZqkdJUF0RvHTwT0LzjFzXo21khoYCIbjsJ5AUugdYo32fCuPGMgMpNUyGBPPbNvlzkJvqdWblicBRs_q7KnFjUx0P3zlnJQkCuxXVH3WFKV-Dk1NhF4H9gpfvloKz8a7e9CSyLhrFxzX2Pu2PaAXjagzQmAf5ZN4tiBI7HFzgtEE0B803sSE4aZyBGZC8Qh34l8Ou2XbQwWKQYHuL4K-kEVAul52nbipuoHMiM1ZittQJHl1O2otEc0GRPHzJiGuwMpE5q9M4EYqvRIOdEI3C1zONTBhB66qA3Mwyu11YFzxwYdGPw8H1lMV-NTjBxth6XfI2qcUhLXKFPJKkVQayAOvaqiVGPmI5D7KgaLZ7KhD8ee6RYvoHD-7KOO1usaN0lsT0JrKzHq8WF9CbXWz1p8Fi0E1D4AWhxbyLrCFm_09PJCPhbChAjndu-bwX0IZWJuOQ3SYD8iCRVLXvF4gUsJDyWVZLKhVeMhjDhZ7u0-lWURR2WS7sP2VOUtiJAOnP5LDTIt2whMfQ7j1wZI1C-kGPg8fbNwTCPCP3yGQOHBVVBHI_GHB20bvLWjWJDBBKRcirAuBOEYLrntSaj3f3WULQweJhxNxqGoB3giRstp0z19hsFlfOXpkNSe2tyavFuUv5foS5U2hKhwsfxhiYgFs_deKi_JjRV4gSz88bOlvAcmCIFEruhDUmxwdAlI607ZQE-JsJlOQjWtwlUPMmcS9dzDOcBehNNuR0butS1Y0ZPr-gWFUL9qx0u4nvjldG72R_dTRNVlmBAJAzJkslwQJEamckc2EZlBQRjFJOYc57dOxf4s1cSqHG9UWWhap1D2pEHELhNmYNV0GhuP2IoTjESRnVGAk5enghYFyhjPhNF8hmDFG3UwzF2eQ5WvK2ZEmYO9GRtmIBQHPuz9wqmEe32v_Pd9JABzSXWUV7xMK64wSb1ogApyDtsxYGgZtIZPmzEF1GK291XK-ItJ-llwH6YEehq5Xip3VQ-7BuuSXrsOMEeIpZEMlg3NrJ-yQx86GByC-TS5dGcGPv6nr2WTrPgt02lAYVRf3nVwP6zQTxK8fwhyeZwxZ0EnBmfkPhCYGmBZHtgUhVGTNR2nGNMu_yDOM9APuZjh0J7ZvMvdu0nvWjDFPL0oE3FM3P2Q3TTETWAtZeafnmJSaTduffN-_1cKuCfDgm0O1p1AKkUrBmz9o6Hnjs0c-af2qu9pmrOnFij5Iay2kEM5gL7dx-qNH5XkzzgW6tNb2R0sQiOia7wbeOvvduwaU-dMK_cq2hkF1WxaqEHUD2P6bX8o17mMMo58nQbHvhR5XvOv6EI8njl4igmRvb1fwugQs22eztbk76sQBGo_D03Ho19RfCuIzGchEryIBMpLfRAjE5VPCP6ocUYqIZ76AwFe04tWjn_Ws3s6GmNF2KLZ99dxy79KHoeKngVGHxabRcTMYiUlw29bf97BkdQQ-N7_EimVt6wK5eP3gWqsAQHvWiYlr4phcY5Ca0IISQtIt5jKb6vrJkRyyfv6o43NnnKxSodA8wt9GHFCGS70Yz6s6SdYkRg2QeMCVfEbh8mQwB68X0-9fQQUjSvTXN7r1O2MTniuzqJnkwQBEfTt3cinPxY1v8GLu3spfmcue_pJvwNnqWmizVb-iaKINEufIZpNN8SNtzqyyHGAoqAfGtsWctH0LIP0WXJvEqtHiOTHQtz9OQ6JAzJ05NNa-lM-837m_pp8_wxehOgxadYDNZQJ2b2Z7iW0EtpajVMeob-801eGFjPxd45riKawqo_e6T_Qe7fLQFw6DGaTDWDlE63GNjjS7RuoGr9gziKU-plaPRIzndsZtcQDtkASCubkH0uGdz1u3_3ACOr_UolfIHzh0N1i3w08vE3UXMXG7js0qP9mzLopcKx7lgP-g1E4PHSIV1C9ybjbnAstKSYblrrC60KkMAq6cGbN9h_t515aZo9-YSMyph04CoCngpcZC8AAIFRNrnRp8QCvuxt30b_Vrq8vWv1gUp6_uKRjHVZG2PuqRqjxTU0t9XY1-ZYW8_qvcsIcleQ9DhX6L5EthMQiA9Br-rHa3xd8HisGJqY4ZDYW-1rEarSG_TXybtQ9OhOP-ODpqf8IwuJtzSoHqO8o3KrynpY_3UAUlQgDvVvP7sn8ZQDu9MeTyErArNVf7q0CpWkECLBlU8_wEssKtBktKLX9ZQJMwRpa8F0Q4AHKFQmxyyn7HtZiv2WSWpEib6eLbjCEzZlIAetVF4oYIKoINOoGfbhXAZ3OGoxU6_DFDoPJF5PKHJ6DAOoI8X5givJi16Hna0zeNUZLrfJnuNZX92BkMq5J_qppmSmKSBq90DHmsm2jdB6ENgFv-G9jiAKV5TrVu9saxYfP-1pp6MEosJJ0Yp3eM3nBdUaDX4PtKzGUdPwCong9cWwVB84zoYDsL7cghuaHstDY67unzQMGlXyhXLqtfIJzKP53pp44GfAvc5suLCqaQSyxt_vA6DnQ_cBZ9SBWDJVcepgXpPUx3uBRWuwWUdLbriA8e8ziiQf48ZTHTHZ0yWKX5Zxzp44Vti9iKjz0SgI4UP6NaLZiQP25MqTCbpg04W-1mQvsIIIFQ5mgMmbwOLe9FEguU84HM7hZWKJmEBV_4KLtFwXBBnJCW_uSZS0noYtG5kssQ9bDTQHQQ4you_77Km3A1ihO1Dh4byP4KaU77iyXsWCgiH3YtAb-SmurSKAQYFTYp6ixx4RrxquTQo862vbGFCliP7D7sTDR1R8Vp4hinIGZtqTYHevpNpFwCAFR4i3187sUh7XzRM6z8GO8Fp4PsYOt4cnxPb2SbTmIcdVi8dNYYoUXiKPBsaF-Of0BZLZtR4rvHxN4Wry9R9LMCKhF2oNZtKNxHuiNj_j6MoCFLQE-QYwJhuUGqkrvc9qLdAWBQpdxjOTStRjK7qacqcgrTF1JdBknrKjZbpw7k2o94uyDZ5NzV7zr7mmObM-pZfOWUL6TwgygVMQpEpiULx7i_v0frDpP4pxHVKyrLumZeM8Cz1WwoeK2U7Imq8oFNw8FDjnHJRjoh1kelatwY14BG1xcrjgd04wbLFFZDNsCh4u3SfkOoLTU_IvxmJFjzIg6VCBLo8VpAqmSnBH0DDxAtiNb6NTq-SdRrepeNe95CHqz2R2wNFpv4okyOhtUF-79dN7WrgTSkrC7qiGaQOId2r8dcd5Tst5wwZs5ALrs8EsC9Tpmdw9MrjUf6cUwvbH0kTa5e5GV2dK9etuQyvv-nRfUOCYH5ECJDj73bfenmyFhws1jHP-YHDdRc0EeNkMXC2RqVT4jHOJEoejBYBDlqK-jMeZHa-9RSFfHJsd3N7FSQgaEEJ5XOyveCS6gSNHLpiKRWNcLvd-mtvVf_Js6AbF2DgM03sSXiSTZfMadE3QUa7NpGJn8ZDg6gsl8dh2NghPUrMPGKZSL3zIlfL38MlSkZz-TBhGH6sHYhMcG-wqo4flZKtsPmwpjqFXI_SrLyTbJnjmccYfJBsWzymt0AMDIgfthrab7A1hqZTFZamIeNqSd29esIEVc0wYfrD7CpvX4osVi5T4Hly_Aty1-wPYY4-XDHs5mPi8xtyGqJix4tteLc7bLRMDAjG2G2r9OLb3qfVC2oQ9PkHIKzsIk4cLiRedyk-zNPEeAV1AKWhzx9lWObUXbd3raN5wG-vpgzRib-ykO8_wYPvTOYomWeSxyYuVNT52DJ6uTaIKjUmQS5NT_KHhQJY3wzw08UNYhMxOWVPpLplNqNs0LoQLVIK8zlRbME8SpktaN415Ldv6otTst-nIoCx-js3uAewNOhuyOj1VdZSB5tafRsyMFvM9xq5n4qckVhGCPYEB6MliyAa4wm55Bt0P--UJ3pkZL21FxvVBPGPkpSCJpLkCaipSXplzYNSzlKStuPoSUqr_QCwOmHWUNp4WLHtceo530_lXzOSkHYYAjn05WSxpuav0m4WbbIwop9lBT-UPGVBy-C3q59yBdKEzpPUeiYmZW3YRLhX7zmFpuQVkjYvm-KBkYbWC3UZ9g_EEBDqZ9LShpBG_mvey3URcOmI0x2Ofsb-KlibWfzGnedwwOHhYyVff-ewtL7JGNmAVy0hF6zwWTyI-lwHMz7-lC4TIKwNv4Q37xqKKtpqj5_7YSb_bcDXEkejFQ2xJUje6Zny10kIzPt2nNxH7Qh2r61yO99f7VuWY9lWkbZc39CDgSUD07cFc1c2oX409vxL663QUp6vZxs9mnfOvqqNdlhcc4Zb4xoGizYRWseHg7DNneaLEHljfyQm0AwRJos7X7r3oH9QZQo018PjXSlnkVe4zSYqIw685dWHWlNycg_4RywfTOiyRzJLXI8qwXppN_fbySwhTL7EzgzcC2-buFj3PTXBh7vzSXYlT7nbtR4S9F6LXjeS1jeF50YF0qYfV47CUWWdt0_bGo4u3_4UfARJ2lD8uasVOliNHa0kWfPf91HeuvZmBZqbl8gpzwfRJV8S-CN1uBRaFXEZUnXcYI6YDurMBas5bSfwwyx3ZMz1PL5hpPE22-Ea1sFe7NnVenr__g4oqaB2hiiqhSyIvc2GD6PpObGzFDg6GumofTm9-L-KtpqrRpUcmqAvFDXXLgZZwdZ_NYlbhedE7YxxPHZolcXWPp9_eejWrJZXA3n2ug-XLsOZxV6W1qTFbxCdVH1Mei3XwMSiPKMflCq3eMTorBF1vUBBzl1nUPjTshkNNIXfkEjWA1xnrSTHHfSLQLRy1RzK_yPOq0h1cKfU763JGU-dEks89Fsb0HtuIlrozEf5i9Ft7eTNcB-Jq3-mVSdR-OKlIQG6NaLIyoSFaizmdpzr_lhC6PbfNoxD-6eYGpd0iNxYXTWlTK4Srq_OWtOEoftQb99zfC40nmLmCpRq6xnaXVU2LKHKx-OJiuZsTj06nC165zXdW9ZqSCw_nKaAlo3Fo79U2v2VL22Iypvc9W2HTXCMZ1pVlYIzzntbm9FsjynXtRMDsYQszhTq5jdCUDF2iFDStgDLj9o9d28oi3Fw6kKP6rf9l7CQXlz5w9EZCqUS6RMb4yYyuXjxqk4s_DegsDr_5uZ4aKLqSmhW2-ugyeCa-DOmfPqMf9zhmdsHzOEmNvlIqstS98eP5qY_OXzq_FCl9ab1ovhllooHny0LuFczSkvPvgGdJQO5dY1WL5DZryzR7BeoQu1Ho8vDOLdJBEKxYe6Gg9Cvl7I18undGD0xMaz-1Fzrk2dmVsIeCofttjIKCuZXvxzf9LVgM5jPVcYwgVbQb5W90s1YH-qhz0bExdc1g60WbwTicWReHA7rdjI4YfZ1cgtgVMwnKwFlGd_aM9cZ7pzRQA5zObQj6t8O_CZSFRTsiajoFYak05tltZg4wQ5GkPsAo4Zf0WfoVzbf9cJ1_vH0Oc9kAw4VSdbBBMnE9jIakEmBEVX7RoLRP2di13O-Le0VCtiVBnpqLVxI2Y7ai2hm9_zVf-94NOtEFgkKlg3KTOd_bdRe-5RXOoRFcOCGpRkd7rAIaIDpS4Ukgy-OqhYiVgz2r0g2V7c5ng1qRH0EORWj-fkOV5R95yB3wzvFcUhsqMTuk8G0ESUKMejMmfa_wmu7gMoiCV_lx4PDfitFb6KkNTQA_rP76RIwcUKQnX2ERE6C-MSQKaXLr6rQwcGpF8ThoKmcp0L4P2A4XHgTmy-1LVFnm3Pzbo4ZCAcVw7APH9cyU9bvRrof5K4TXvtE-tJiDWKTHgssJ-n92ZA2Ah9SPTh8oSb0weeRinQdmJdEJlVgx1pnmz5V-1-CWdLfB-f69nf9snhYvzKb16vLzAft87qCEqIbFAksCr2_yIBwXIgg_BV5qExVS6qbTJMTqo4icHH22Im_4OJSBtLOz-NTTU2oOahNFsHT24EMqhzYLgFHLVqVZBiqCfE8S23etfyWOq12Nc5If2IRIPAZlsuQtPDUTdv1fOguy8gXzrM-7B-vwGklhu6Nx2bpKZp4RNsKbdRICvNi1S7lrlMN6Lry9onWZCWZDH0v4r1lG3Y2LeSae_hdgPu_hkSitlt-VHretAq7W0wnIhDyRXir_-tkVo2ucZu6qDz2Zmgi5hrc3kQ9hSRQXeArVcbcxNuo2nuWbzkMUD7n-LlAes-crG1J-OjXNqCpsuVw3jou7Q4cXAuVybGmijhn5bg86I-zEtYBBJQ6aSlsMhsZ60JRQ1wVPK59042AqqSqJtALvBQVddkaP6K-bDR_CExuF8DQDWeizoqiCN0shuVy2HkX1TWCy49IsurF7vs4QclxbBbOkJ83fcP-bf4k1PZeh8dbAMj0t5Bo_DrlVSaxrM1dvXQaecVVl15UMx6qpTgbBV_L5T67pxY7Abu29csfYVW5NqQsOBkSANpXp0fXOPgKPy8OOOmJzhRUDQBtucRR9tpIskLoRaqlVBqFeoRdU6Yrvq2tCLHXqOldprfQK5rW391OIrU7XiYhFDJC7E1KZnYF37M99tmXAyFFoPKUuB9qBi_rIzUnuzU0RMOc0JGsEYJ1Z3q2SGVEpwP_PGR-rktY19DiunIy54rbtJvFqB0C1tS5WZ0JoRZwCLISsuk2SUjLMDRhaPhpQdPyd6i0Ay36Negh8nyv6DqFv7SLIaS9Y-7Q3ranzqZwpXrO-3NnmKRdgf6LxUmk39aFAvM3Bsqt0Mmfki8_dxE7v1dcXl4bz4e9QbsYN2bLIxqsCZIJm8Yk0-eT7jx8_RsIdt8hDFctj01kvtmGCEvsrOrhnQ7QZs-1Uu861qlkofl8t4pUvXHfGWScbn_R5fSfHqVH9LUa8QYrJxReSqCoQHHOTcK3q1sUI9xlq4llfLej17IV278lPIox1Csy-xBw2-Sd49aSc8hXbyjh7nzSxnUQjyuV_yFmfIQ3mGLccc-e4Xk9pjnXUeVwNf8svhf2Tt8VVO3CRjieTf9eJddHH6Ejc2qeXNtelSUT4BU-pwifqw4Zftf9mc3Yu4ysbjYvkTgnjyvssj7oM0A_VUA9RTuIb2TCtD-Jdsb85NhQjOeZ-0zp4uWH4KNEz8hqGwqOMSIpKAXpPc3dz7RltpLVvkLKqk4KIlxZdn9vyTI-9wnqgHbIPfMJZfq9B_Vja3p-G1CNSatMWREO-QQnGXiNjST3rxp2p_Qk85K0eFicYZwS1lUBJ8oO41FOarGbZZqS-27oEOVTaneEzfRAp04l4nmmry3cSdX2FcB4reSMzwuitKanciY1yzBjcnyyjGTk8_HN0Eixpoh1i_A-DdTWLiux_MxLB2vKZdsnZFGoBzB5LvgpBBjrZ1-YO6qwC0_ngAwRsh0PTI6SmfO-0ZD5LVGIeUkKVBpYiJaglrWzCU2mRbPvj1fckeN0sqxkvPkkQI-Hv88JxXQGWPJQS8GtfsnNhaefv40FWUXl7MqevLPS6vU1jQamhlGZi4Vrnh4AwjMspNCnYr6LT5Y5kGe5ybLzzTxSpof6nfU8BYKeZRaNBdpUHHEHPBUMeo1y-kNERCkD93x64ZGoPuVQwtCCx9Pj3MVE-iW4RRTjrFn5EnyWTCgXd3RVrDbXobiGhZSBwU4q9TYSjLnp35IP2nmbPljTc0jWMaEVxwkoUHdPU5khIRGnavjA0NmqbrTBDE0Veh15AZSuCJbMHbLAwNN8fpd6YxE0qeMyyFTIgw1-MObymtZymXUaosQhcuTtUF6LRUKZfkZ0gcJ8VBUCD5UcHbpG2cA6AzJ1qSI_RQGt6_9ZTe3vKFmQrswQXv-5aeSxE89a7QDBPru6ZW-3Xg0sdqKF-slJaN803cVPk-vBx201K9Agsyadadnkw73ltE4oLjy5jQjnYf_oxoTggPU5__eITjJDWSS_7pmAkWnq5XRKBusJkrB6Fa8vJOP-yYFxS1tVYZ9l01YRXC3NBPMOV3VCS9qUiw63gDVCJuPH3cGpV5Lksn8T_9sI2hxhMokVitw_NsFkh_nmkQfN6cha2nScpyZZfxkSRSPzlAXsUvi2a_W7ikBQM-zCsOl4LJSxIDbDDXeXj_kvEwQErPx0zRYR3aBKZqVKpjBbCeqtT4D-y2qnzw_wiMTUdjgVlHj8zxx2cpiLNbluWI-9NYk_MuBELPM2vySpVc_YxlBU86f28s0qrpyB0FGT4ofDMRpO6INIizfYRubyVaTUlkTJ-n59mXhFYMpo9dvOK_1BLbzncdTHvV7IBnQqjmA4-5bKGhFKwVoj2izZdUt9SOvQZE1_rUaXcJnnr0Sojgym34_LIL4KGLfI55uSDhBij_R0F2HYRIQq7rpgnpc72Bt1KUnfJnddqoOC3mBdl_mSdo2yGUG3wdtoK32FBWRETOb4pmq6BPCOrxdCEvvZIBO6xRwh2BqywrmuEbUnhuSKSmgLs2jHQ5ppo6bobY3eMcpG5jU93yaBH-ThmkYpKcarSxd9w_mwnaeViZmdtFu8S484qlRJmUrhS3rpWUAIDUXV5p99AA7gLVssvhxkEvbZfkyXdTOuy-jPFvBivdZLB_44DUGKjBPOtyGWKnx-A1ZU7yJNACqUX9yCno6hqwZdAXdmcVAFUhD5hTLGTHr4TfS9Apht9q9nq5XEDWUA19N0_LNHCFt9HSfOEkywTjO_1WFmngH4Endi6c71ZgYhvDO_bPymL8MzhDffGNaATeJM0_76EECxXrV07odGvlVpBBM4C_R8klOWZyGIy-6C7VU3pfPOq-Vprihb-Q3rdxCwzYFqouW27k6VAUJqGWxpFhbiO8xBOUEjotvSenCzPxujExSKaW7CBrqwqnwRpX1ftlUGSRWt3cWEMG3qJpGalz_diPbXAKy02cbLqvx7cr4y4eiIYtloI4WN7Z_BdWUufOk_icrCWXkszWi1Pbc8Sk4q5YQgeJbsUd2G1YlSZoT1M8nFmloL93oGvo33VbTOHyIVtSx5Cyzfg7QJgIAlQedR91th7CeWJGpMpU3kIEteQM3p2agwPitp3elvvL8F9xVrIRVzmVKW3XoeThmQkv2_4WP-8T7B30Hg8i58SjtO8Oo9GeqrV6LCaK3CHE-dUDtctmn69dnZ0OD_unHN1mrdurWpXn0NetC0RV00_V2NoOhl6F0dBS9JojIO-of49gjHTkSZeK1g_YVVoxkDONWax5wE6__PCSjseiBpr9qEL_ciGUrRaQ8hFG3Ojva4BqRJFRRaCeR8Pa1nbOe_TEyhMg5ZLH7FsFBzliCJpfbLttZkNy-Dd-GdtvGsh562CzPzJTqPktqCnHU1V0cb1SHrNz3o4lB6CuNJi0rrdMSeKsZTbFnthRsZ7GyJCnfs5z5494ZRXgrwealgcJCg4Qo1PIBJAlSQh4ZQjQNo24Fy93S7nVRhlh7z4lrOSlEey01G6UEn0QfbFzlhUTDWFiXMkV2pwbuvzbDmCzEx8A7lLDUNui9Dsx1uTbxGB8eITCHUE74QUrRjQZRyDYiRK11jCuF1TwAZosYhx4UH4dUYmn7DyykrPfSgzwjt6Mploo6mPdNT1wtIaCFcB7sGBfZvkxzzZ1oGempHsf8jtBHLu1xUj-bGvYA6pDcedq_C_BPMLlHWHXMykv_3tpnOw3GqfFhc-2vx4zqFeqp48wswOi6JxYpASklpYfZgvuTmBBMZB9zvTpwAm0zeGNxpJsFGgRDn12nOtHnsF1wvBO4coOtBgG1gGLuRsnsdtndo03pEP4ldjvuaWgoeknV8L_uvJd4WA3bcyGHqpBXVhAMVXDkSj4CH7z_MSronkvOYU-2x_pJlkVXFJJbPUVtVCbtnqRfJhwwjIEkzzrU4fnRddoYx3mIHncVQmwlDAaurRlC4Oezno3NxnCHJGlwrYZEFCWd4Tzg1vFD1JWxU6_-9CrqcYzQhNAVaz5XKggpEd5uuCCywF54TVbzKjyJ8nRbY5wvBXnxI1xl2-Vob4yDWquCmd0HDCCSR42_Yjr00-aQCim4gUHDLv04-EdbqLUcnuCq8GnwmKysY1yalk7cqJaB-ytobTpfzJSpSGIy6nDnWXaqcuv-TVDUmNCH0RIfyA09nFt3-R8Y52R1X1Y6Q3sDrAd5AkIb-gddo29FsnnwAiHXRajd-_1EyvcV61YIKn_W_bgzba5ifbkD52U9W1ZxNyqg6ckxTHzPMc05UjgVeCR7Svn3xqoH0qh7bM3aLI1gyaep89IghO08HXumtdIz1sPbKSSaRqCVOIN3dmJOXena1UYfCKbi2dTyx7M9wGTYymTeFSpcZhucUc80AQASQAxeebVl9-FQ9e1ydJ_LsGrusswRYvMD1ZtihwdXrDO3fIik5GiPbn8u1qTxp2cu9nyYC2vl8BM0F0gpTKoQHy24YA0Rag-Qs2RVQRPSJAVfFFA591Qj6OLfGZXHKVmkrDY1jRjYVIXeCjj7gzjoFo3FUJGOjL_0NGeJVjyRsdQAReC3mWyqpu66jRpPGGqD0me8brfMXCMI0F7nM1cGN9tLEjUzeQiiajaUJZx2oALqTdP3ExQATD6q7z4VnvkjldZpxbp3f5lQvDKiSvlyc5kg2f7RgVSJw9rrHriB-_1Qx3n1bUAO9IXTr7pDVBd9Jb9w-uNO-vewIn2VmEvtbHcp7N1djYMmQTMVJrMj_PC3RUkMpKQiXLoXzgdlbvctfPtOF4z34pY5rsEQ-k19YdoKBWB74vy9OFOt2PZ-tvFNZ7DKwCB1HzBpX2IPbEs-ZQL4jQez1bYbsRXQH5ZI56Qu7Rzpg07YmlXbUfiF9imOxOnuexHixtIDRWffMA0FUhF657xUxbgoJIskLqS1JcSsuuikRCKNzgoIXsj5ql6j7SbAnbaEJ-TbG92byaF37rtVlc_UYhKKWGeAKOPjToGVx0Fu08nx8MdfK7R0yMMla2yMIm2F47Dpo7eMrqFLkMDjtLFQg9omHLLTCRZvHavvdkTs861A1TPOtM2DP8g4YXZPtmd7R_geICZuIMOSOiYYnvuZZrXDxEGfGicJ66KeAYEoNyNfqP7x3Eewf5aDCwymhQqyRJFmwSIRJNHyf9xVcGDrEPADJQFiUNJbs3tJqtAUM--5iOQByJfQhuCh374XzXGhXmIlwSfW20jKJ0pi6kqPmMR7n1a9KjSN0JfT_VvIi-tIyi8hjY5jWJSxCtl6kY22p1c_Bx1m9YqBl6O3uEYH7UFKlMin9YKcbSFTm7_jlM1voDl_lzxO7Mbn1i7do2jOaHo5iWKGId2rpROGVqov5okT1tksj5cDppLZ3RfpDdtZXN_lkYwWkiKZF2Umb-ODqUFfqZV4KKzwFNjrzO-KcD3IGWpvsV0lZ59PpJurwOQaLUVbLp39gKZVtup5423K1WRosEVXDATrj96xe3i-FvvMisUdAfoqiebF4Z-c2Lr26UOAKJASgW4GoDE1YO-LXwUYSA00fmDQNN2kctbwT96EUbL4KD-k-xjzwPvYf-zyEc3rIaVJOP48rpOrrX--9rV3qSJmRzDikcfXXXigQCt2QdKUUw8UJmHqoM_0eFC-q6zJeR4I_GyRulTtC6QNIh2lHP7i_sjq6_WOQz5PMPMrpUDC8q4HFf99ZYnJ-bW0j3IBDecfmlOJNboOhn_4a8cosxS0rvosMatzaRpJgoyClPo8jHfKnFNIG31b6WpYsmPRQwJT-3-HavhtoUj9C1hAMoSyQijsUsLDkjqeCT3nXSqxsJaIS0zMGpNnVHgMzlkudQYnItNrrZR-wTT-xk4QJemAJgQMYpo1ncfECJbUvbrad37PnMSXaexT4oIyx_EYkZScPEK5uN39krtymHp42UWKh0TEXZ00suY_SW0OTnqMSdEUcnMtSPhaMRVWjjr-NhRgbP-D1gkbmy3_rUJzxTocdrEUc1AXAn1unBqds-Z76Y02Cga_KZu1JJ8MOSBr1xZcmcdgjLg1SJoihA1wvYriILD2sSv7DduQtyP_oByygru6tSa0RTKh1yOGo4a7e9-Kc7Tpl1nCpfWDqMFhGwzbWPeqS2O70cS-jwq02ayrgL9oivatIZZfm9SjLCOmWbjzuM-3ODqwA8N37KDSVKty-iaE1yyEtmd_IMsZQqlFeLGUgULFSLKpPmcj3boFGiMPXn2gAhqXmjkEF2_ZRN_hAeiAxxlfmfJ0L7pzeC-wCZ6MHD3bLYAXF-cyGIiZu53NBd1ek513fhaUBeuR6B9PMCywG6CSSLFDgb3IkPQjiXH64b2HQn_CJA55MVMm2hb9DoaviLtCRvCK21vfpsXvgFmO5EfWc3sknQS0SEWDcAuCFbwKdb7SAEt6p32EXxBFrUA249RtMlMLngdL5dyE72QuCDifr9R2foqv3USnHuc-4zKcR8RKBCRxJBRKwQVz-TBRRgT6FKOmLln8zmsPEp8ezuy3CQIQ2TJu9oF68n7Amnhvl6YNqdxYBXPsMMoXj1iwzn14SmfZzQA8lcPW-XFKm67M5xYW9Z1g4gpSLzuFLJ1MoLzcpl3RZeUpvlAw3w9M2uKAwbRC-rZ7gvrUnawkUH6OcWLbt6iLmyjU1oUyCkjfWsFo8-BU08xZygPC1XluZ_XwmLatRNY41F0wVwLWCj90_b_QZ25o8ZSigu65GYvJvhloayYxgL9uq-U0QoHnAsxR7HQdFG3LX21PehNG7zF2-ufbZD4kH-eGm9_FCYtJhEjhXyaTQvsTnYQZjIMT63guBdIYLJglQEXxi_5UX4WPIRMAxEuxex9Iii_rM7lNNRGhvJ93zO8i4fQxePI7IssbTFPA1xfIfORktbe1xB2C4Q7gdaxWgVZDQOTPMjxC7midM1QoQVCiw4EtsbECPZ4Zl-gsietDUFdz065o_pv96BlakbuECmLZbmIsU_z6rOSGbpMTlNLzG1el-55GIAlt2N5aCjj1o30GY_IIQgrSvk-HoVOpREpf9zumdFQGEOqlctxy0ZWVUkbMRyheKLo-j6GKQ88gIQMTmmnueOHE2ZoWTr0JpHvzvcQNtSf666iHxUq7vXutWznCwkIq73ODhbsdRp1ImPCbmWII3Hrg7y1XuVn50yqYbsa1BE-pru0h0fQAlCKGvwPBUbI4LPp9eVIar6Nc9gLw6yfJl7NpBlwOVzXqGuvFn93vtglz1vJtNAqbjYIZKecN5izmdSLbUinupm8pI_iQg-5CH3kEAeBGemDryRNgvC7ycO7vXhETe5AOSb1l4o_RSWUrjfwVIb2YBNQg4C_TQ65YIxyHRXAbGznsqCZ9Z0o_-Bhb8THriICjyFCUvO9hXwN9VkpYgqd6g3dSegKgvu7h1I-_z_wfLnKg8_YCJplmBogcDln15NffnR9uNpA6N8QfTUyAz_W1LCgzDatiGcZrk7GMKldA1gnORcaU1TVGQmMpD3gS-yovXnvKYkFqjQhuS6AzROm-CVEMVAJC-jsmNYwEeQHBRoFd2EmX2hC11oIMfGGq7bmleafQSskocM_pROcRsxyDO0HZ2Tf38P86bdTJJmwjFGzZ3MUYZwo67keUty3ZgG0Idl-ktP7DDjjAJLYDexpGqwqzFjkfQtHvR0lhVc30OhFmv8OXXEcmBO01Umsfgk9SeaNq8CqUYLz6jPJBldGqPu78NHR_ah331rX666_y2TN3XdKtmBH-swAtZVM4-Rweyu0YTZaaveOvbfDE4l5eVTI94suYiNAin2hDetZCeGJ-KqfhtHFaeF5EZYJnXegTQpye9CqlvCt7Dykc8bS45YMVL3DJgtdWPR9Ghi0Xv40-f2n_cjzcIV-lEAFcuHae82OYBkIfPN6GhpLt5_VOQh7meLB0k_tOpgOEfccjSpFtY6Oaq2-G16klnURpDXoYMXjgEZ52igaNc3jjsTb2wyDMnsGLcCPseoxhXeVlPtR2kk5DpqsSLsDyne_Soea0sIU-zsT8aEaVWz-tQLTpb5huY575FV4-qrcpIh1yS2phWCTJ6u-tgkvZcqBu7gwQGR13CZS97_zJkorzAIKYWtZPdRlmrDgMB4Zd8XKPul-1bOa3s_sCTkXBVNVZX5QMlvY5Smxfa5IewUe9L_oM97MAgWb9huveZDfyH68bmlht6VOOeqvACpc_MRbEGoiezHlssee5-hL4nb6d65obLKZNkl3G2icmChmMIu8_U7TvJ9iiO-ZsoBqcAux9XUL1ebJ27K_lvORks_UtMm6uOfZ0CqDw7KLjAemq2NHIJWlI-nAaKLh1e5iSqlHfyQ8QOnIaTiIoEHC4QIQm6kVtkObxZEn-Llmr62q3t62jJ4InziV7lCcOgLy2uZ6cdT4bz3YxzfjrbfG-lNtuRPhYayWWv2-aJmLh1r2_U_utzIdE8mHjDHQ2RnfpC3j-EryATaSVpPhCiIjRz8DjdR-9nEyuL_VOunvZ9zMvU4aEgzIxIiWqNmsgMmDwlKMdGSe8G8uuoKg8if-R2BEhsEf6NAk_JUk8y8o8XK6a-wgJXoQgQyorD7Svm6epWP4AMJuONbfMxxfbndzf64RMsoZMJUfKhcBsatUstOSdFUtpxUTj16-jsdE3WGNnoJdAJJZJVQ3-1qvj1gNU_BNiLs0Km9hkzMEF9RZUyRnGe2Ysa2kHWLqU20_V3eCKGG9DiYOImAY13BkyfyUO4cjwbXqcQ8U_9gALO2S08Anbg53nXIUM0xJXdWuGwbyS0eU3AK7GtKWHAh45rSsc4t4IBbFruy0LE_AsfjNbWzBEk6EcPnOjm097oKWLtGaAtjUMPbPHjHsB1gN7i6MSwno7d9k0ok9VGQyHbdT17cH5pszCJia3tioJzzUzYx-aVf8tBNdftdbVI0VLVsmZN2QpY5COBoQUg3clMuGvS1H2UsqUKeJLiiYcr8F7CI-BdyK81Ze7xfoAff9Wiz9Hje-CRuPf1hvKrK1GlA5B-FkmyOSSks9NzAn0NkZST-mYgkygaK0NJhK78MeSZ4EW30pv8Di5iUZNX2wAaxLLVWmQZLYd-g5xeqnIU461NKmhQqe56NsLhCA9VqgVrDuAcx514KHyHMesEs7eGDNnzumHg1T7Wcr-3owCnODIu1rNkrG18DCpuTAPtmA7m1jZWMK_cILTYaY42SW6JYiJ2IPFw0ueXoCvTqN3t5wueLx7DcyXxG2tGZj2UL49Sm0_9SUtEHV65ncWxu8_n8dVlsk8nEoQIRzvInW6xYRR46h9UCkvDhEItay7xQHsF3a8HEegPlOtr-pJB33u-1daWbFzO-uPiFob0WZl8LAER8rE4Q41JWaSqksK_vW1throgwKoTJsieG_5AuIqqve-HRG3oZrhACpHA60WRBIKPjV1FD5gi81K6-Kf6lP5sTBqgJv3aTjEKlFagsamlU0JKspZDIqOAeYxMMw55mrB4rLsP4JMyPoArBKXg71cFEnnFMyF3XHkm5mJb-VRtFp0pE3SgxpxrDuf4ZW6IKdHjOAvnaYopU1CuYRMOlyp5vBk8XNF3P4zEK6d6sa_oPiOKb_-RLRVq4mQQYwxwonSUzVwOMrLK4bbjweLuJjM2SYcT0qmBVFfM3qyotNP1vlOUyTt8mmCHwXTgXhKcsDrwWhkgVK6uluJF0l60R16SnFZY9X6poiMY4I3zsjzlTmVNYJka8-iBGc4eHrWKB6Keqhi2qH1ezuTxNkdd5hH8rWKlr9GpmP8CBO_WKJx6s2pG5XW4GlA5T1bWj2Ke5XrUb7HSoziS3pH0-CUmqJuJDrdGQFRFc5iXayI7ChPg48J90AyqYYinhxNChj-UZ1kU-9BU5ODxxXgCwOeLAJqBCT9g8kXl83Fp4Xvae7BG-sa4fDBnsXCO7BzQCKok_9F-Ya-gkaZ-fN_cYEjAWQ5QLsUpVyEyapFHHJIooTv7QamMl5jVpT0UZR18fDSmbLl5HqKGpj3N0dMuLKVoMj2hYpABjJmCeuaIRVPVvxAPwci17dD0Ow9c_TvMvkVz6RxbgIbdKAL7tA-DoK9KSRaSZMC5mSGYo8sA3KcQD0wrcWc3TubpM2kjMClVFTlAHXN-tTV5eKd_wEEZo2-uhZ_mu9N5r2Ce2rIlM7D4gyL4sWLGOnDb230MLpc62KiAwx6vAs_FdcZ-e4SPFRmCNCIq3jdfoi1jYGI_HthaMNq9ME1ChWkBdunLj7y7pgg1rBKGEmLrOjJyUBI6QBu9TxcWL9juxHJOTvOzdFMUZWEPgh6eFdQmokZ7jk_R1_et-ooFEKiwjFwXQWQJ9L-QMS_TyLXdCMy3kHRFq0XItDx4b1-kH-fhhERpPyMqciB3-AqNqVD8eHNj69FmXd10fz8TUtJSvKCYWz_q9Mrybd8BS06VwF9iWc5PAm6PG2cZNiJ_e3Wf8TypiDG2aLsaSNM_B9dWrlVZPUn9HW20GFdv8Apv4esp1D3GVFYiBgW1ENONLpxx6Rxx_cwikf4l0z6lG_bEgCe_6OFnlgn_qRCxppag6zD2C1rC1NRqppz0AD5mLRbwaTISO7GvkQIJTxbl1jn-qxLSNYpyVHf4OzDy_3mDJORxBjJhD_4K2zLxMtPsAxjp9kSYyYP3tE4Nn0IGroI0m602jqLIG6Ur4oubkWGX-ZnCeSd17cNbNSn_9ukjc_4uFOh-oBIIawJ6jqx426n6jwfRrCudxQ_Rjv2UGNJ3LFx60W79JN35z35czDcJVocLffQkihYRhK00-cLr9ZJwsEA76Soi0NASgOJj-60pifqYycI5jnnMGAlACjvcqQShm6FukaI2qNC9KUYUvNuCseaYc56GkIQgQG8fEeG_uvDS8kaxSAbwqjCoQnuELTnwUQoPcwYv40PJPLBnDcwE1aG90jHDhDj1-EXEisFgeOOL5Qod9O6Rqkk2xsp_z9VTHcaQ-jx0SS-DUO51elhNXs2V-d0Ft229pIDYb4yY6w5FbTi7JiZ-lqACfqDSjY7SjH8WiEhfnixMUEV8lR9giXoV3urZeeYQrMYeDviF183vXZ1Hay_EvnZS1GEDtlCHNaX7SLeyC6oLTwzDUhweY9yPFXQtb04bcD7qXQM8OJwAvni-Ou8V25vHm08LdjvinXBiv5uAQ_ir8jCIuyNY2TeluPP58fF6q_RPLRoZ6zQ3op88O17IR1tt40OYplNFX2l3RXtuihowtuz0Pey4zMHrHjDs3sPJExXHssxcw_2T7m157nNwN7d__0tAPG3A31qWf1ACoVdrRk5S4ANW3PlSfjVdalponebkNgTHprs7U3tShAuwq2HS7SNkkANDj9avA0Ud-NnyUpgXKgFDLJQgLKBNoY8wLkhE68jyKEHxBuWp78kFaBvnzQ_9Wn9q15pXV414MVwun8q93TuJnL8zGXIbykWDAud63QfkigPmDnZe69CI-4LrG4y6ksC_THxE94hK8x8lDjhBQHFN5WV5GmAQLS0li1SHUKzPZ6ijC1i7eAwSc9i5lIRnKut-607hq4u57wNE8MOFFvkBBvvLN8VWeZFjT-AhenZnF5awtCiuJBQt8q6RcnUdkmrunbBixqUaITfryz3Z1S5q_3gCvClyf_EMuuoQ_G7QjrBGKPo4LR42KlbhlzR8KkcV1i90H1skFaWThPnQDCVyhIKx2ZWcBgFIN8lR9fgtcKId-sjBVqt_2VuU591_DlhuRWHA_JTZ2iuMfQSREqgX4oFrrOCyLKwj3h-3HZoZcMSbS1FQCAfcFcmcmeaQYIqhNOE1EmzYoG14aufmBTu7VYRjHBPwzjeqMjbfQnTL4kSbDyiQ7xpFB4ck6Yelwk15nu6B1qtjFMYZxunsRnlL57vVL-uP0Fbv-mC1_HbUbxi1WCCXPKfMap-SUJg7ftCwVBvGPIDBuH74fP1ogQdX3mdiyaKfiE00UL3F3PLIlzZVrcI4T61mXqCso5q2xHVql7ShF7NvMlzKIMggg-8d4oRpl11_fbsLGAb3FMSCc2NLo28EqWu8XdGjXFCUPCSw2XK4naKRfVSjf1o8kTXewHpDpcvw1ICflNXM9XMkna-8W1rLXirt4GYIRhigfi0h2grbY0XhFP83FqMxWO4BCqWjRgkmQAouwNKKb1vcMTVsrujepokOZdzJAc4t43yTFAGCx0HP5x7G3g4R0OfbUeWQIMJNssYhS6IexO2ewGjvvdK8hzpuFgdsSHRgU4W0G45wjGTJ44ceIeoE1OTi9MIWoRdoLWau2eZKyZw5dyFjEjEMbL5P0aE048lRtDn7vXHv4ZlDqAeaR1m-gjVLnKn_BjQIph3K5f5SdzJS0YEAAFSFLkdf6sld6KP-uoBuK3Y7TejVVermhiTPLNhTmAJGBZtqTgjnG24xw-PswTGJNLSlgbUW11a9YXKYqGQnfyv9DujLJYrFwd6K8IauUeZzlwDZj_SfXUbZBwiJUzzkN9crgqjMZUeEQRHqAcT3GZQ3kwgrMKOCXlguR8BfeBM5VAJrgJE3Dhj8o4sc_vIogE3w5vpou3ilCQ6TI6UoL3ZicXx7x1Q9rFR5nSld0Vl3YCeF2NyIoU_9qmLJFFiQd3DPTuwtrxRTsbxRxpVp3FwVBMdk-tMnr4tf3-nd024LHmVS_e9oe_OI0cn-JsXGlz0kSqgU9mRj-LWKD3ctULI8de1ZLcMF6BmZqOua4eg-uu_02Sd-KxGzZ5hkEMR4Itc-CfBanZDmku_CZzm0c9CIF9WkuELfFyB_OU960YjWxcBJBEE2SFaeF1VfmpbmaW2bwv3ks7hCC3_J2JIfZYzunELDh-E0aY1s9GG9vzPdO3xHRvyk7dCd8zW5YfwvfbYE1KvnpKZP8RTrHfCLB6mPX6kMvFQ4HKmvq_6wQuQW8--Ax695Uo6xaaCqfDWz2kWWtqJj1RK1_WCdCnX5XSIODUOIUB_VOeGYZPzj0Xjbcc16O4ZF_SdTCs6MU4SabzN6U-Ya-bYiyndX46xbZRXWvcHvBXEyVfA0ow36fjcckS_SEn8fZr3OBK9_Ag-LtXz2pPf7OKP9VfXklYkrsl7YisjR5u-pObm-amTbVZE9yDDkUbzUy7KmDRgXKs5GkeSZUX0pdWcfu9c-J2Q2kjctHsrYmKKAtlEnDAjy9eMonHA4uWpjfyXk9UFSVYmKiyayZetWC5-mBtZAwLQ4Sgtlzb_o41BOWGhZmIa2IUqgotdNeFIqOhxQUvZsbSjWuV_Rif1P6OAYOtJwBjGcOALM60SiSe0UP6VjotRbWgYguCkhMEpWz8F2J5flwrEF_pff_W0YGnbPbIfvuixk7CBAJCgB1mIC5EqAN21AYOhPKE0BZh1m-xsIBJnz8yGJTtWdE-YLqb8OeCVKAnC3KG2J4Yh3UKCFrhHMyhWDf9NVbvnzFLhvonl4rpejcherONLnCcjN-gOPo68m-4o6glRmXwnwVloQBG_12KIaO-XyENI_vr5m21_HETQSmuXcUXbhG0t56iGUJxetyo09pBDptA1y_tfza8y0WyPb2CKRhg5SMkrMe-RuXlgPIC87dch9HjdjAImDUZuZYTNLsjSd9w8S1Hr36Jb5fSkGiuvR8kHjsR2xAHPMkUN3H9shLve2zcyCvX2gah4WAo6bimpWpb2k_MaB1nUxPXf2uBBzGqYWMEsbz5QD9dd_vu5KfKHR2R8o1Bi5s67gsrTK4jPkExCDXnOBDA9AnOsYMihZt3DFo0MV9MjYCHi6rsAMgMssejNi2ROueRtYHTESgEQzwc8tp3AFZBihI9j-7doFsuhynXK-5MXkc2YtIyHY8bX1lV7b1eoZWOmDGBVEO2wnubZix6VM8mfDsX8MYFurWnkxgBY3ZwWiKHp1WC0ViV0p8q5klrgayxq8RVjz2DQqdiWlIFJgaO32RM9FeeM2rZ7EZzZsQaEZzE-UhBHldpeMGOrFeYOHgamsnMEGGhfA-s7Y7jAOJPlI3FQLRh3IdDk6jUHdDPuHjhiEgUUULByehB0bPqyi2oBGkmFeZOleKrlA42Qrba5QIFuq2al0EeWSx_iKs-6fdA9tj_FhtFJx5qLHTOsX6Q_0llr7_BYCFTYpHZRZLBMxbIsR_YyNQQOtVTI_-iVQLu-s0J3n97GFzVMi50dXpbM3wnaRVrJy5aYwzoTMnJEm920i50hfLc913SQKyOqaqwbDjQhoKnLgx5xxlfYNHzD_GPXaU53o_ZhbKWfLlZa5PDhR0S9Rd7Tb7EUTPd16FfR3bd_fMzHeMGLsJLzNDFHysj5IyCYFIuYr6DerXnHzXESk8GDZpdm0U86OwfSXYGDXi47cG8f6AUDUkTJaONvDQy8Xqe6RAarcLFkmIaqESafHFY-3jqEWy1LRrBzR0gJ81vQe26hJrBiaX2s0EN4Sy5lexkIBLsv8Tem7e3jW8LXan_FF9cYloeoxhYE6XweMBzSjKojtc54cX6uIB9Ci_jLruOFRfBgWtQU-RPE-5n1M_NOBMKawcnZdsS9huiPPHxBgusiOTDwNMEoP4GdtzcVRVpvTnD_sBqIvT9dzQy4n43QYliNxUfiBhb3SgET9tkpkculUC9RYj2VpFMTaxf_CrRWBJnu1jUmK5jGhr5P7t8hSMUHBgzZjdvqcoNiHbaFqwtshGXl4LRL1Cvd5gfZW11I2ozexP7i7q5wgX3mUZ0cHtToLkE-0QVz0uN-uCq8_QKhd-iPcH1wfNtfBu9jJ1dnlrvkD2Nob966rJ6GK09LhXJnbRowDoXWYZO7fN3ix_2BIZyUQpxuImDBh0bKJvqRmOs-a2rDI0WzdKpGACZLMoouyKSWV62wdVnLZndhpMnYg1p5LDUmBODACWBblJEAK-sPzK6uJGW4zfwTKFo9Gl2T3ZypiOiWaNDPmecFy_XJSR3-RmS70ccxUHhQJf_8K6RapjZ6qqDCcbAo5U1KgfUtQwoaBLV_AJ3cyWz6RUxoTWYMIdt_RKqhAUJEhQWAuyoTNzt5f7zrpQsGsnc8ZP_tuSbsTRw027UG83EMGEzTuB8zOIEDSf0BXs0ebcr1QxswmpRgvBo9KecK3Vnf67mQfD6H94rqmv8n-_cQQAB7huprgN5U1UlhvFcGNoo0i_uDrCG8_y9QODXmfuIzfl3YcBAsbPQKYqV15bUcvoQCdm3VjfdtsCKndJjDgQchIUeYwtIyLWdnk-pEW_mH36pNR5_tKlwKmOOX6JFHStKiQAYmjpWYsiTuQQJ7ZEl-gJ0vlST42oWFXiUfwsPTZVAc-VIKFMUV1VySHs0xkvToYqpzMLtjsl3kJWWuZPws0WVrPcaFan3QH1Mvx8Fu9KW6bEjE2UUf_sst3_BGuz3OCBpgYfn68v5UZWNElM5D0GPpx-hslcH0eF7yOoj6YtVLsENB7lH5aVkQZgVK1jeWfy2OLEN9EQOW3Xd5hkWUpgpY9IGTtwj4p3G-2uQKcPMRg4DqS0a9GeQSB5JKliBB_DhW8H1Xw1C_LIt1oXurCF1P9dQGLx53WSHklhn1ihh1eWeXDoQ71nk3UP0Oh-ZLnjGmYO7H_b7qvNzayDpx5ihBWbt-Ca2y0dSK34iy6JmZK8agfHlSYxjPysf5Q6ejxKFNfXcolPFUnDkJPKQv0RlJk1FWIrHRjDR3iqPejjd40vr-3gWSo9h4zVKPQKFvEtwm1r1gcu_BrvQlTyxxvmFOel7C-9I8EwpbrATIOvgklM8NXvgfO9llWTkryIxStGjMKNLDFYeCVyMpb52_N8vwueM5dR86jLoDQ8DYLlBhnPDlT_7P15R2ytZuK7mQAMvUruBuaBcG7_Sweyj972U7fJPV6hs8Txzc9vh2cnh5mFtXPRsY9NzaD64UDFKJIVAewQSCJGztsLwtrOsq4oFJ5b5mijhee3t_vTTNTg7M18Ydsb4k2Qon77J3rGI98xi52F4x_sT01-r5X6ll4cWu_hUD6R6NNWloMDRYuRkxdB8G1ES22hl8Fwkm8WgN8KSxumBBPAK7kCXxOmfvfaVuvMwB7Ja-K7JydLiRBFZfp6fR_Pp_leeVuhaXtEgKwiT7Vq94YvCuDcXC-WLfyLBNv5e8VWZYiXJ4s99oLXT0UXc9QIB8HHYhx2zFwnLbNdbqEwEY3RhW5zMCr9ocjepzOKmbq7QUrg82rsUfVYE38xzR3rjB5NxFdbdCKvDMkOfq0JbblDqqSE-0s1fPaNY5H9WfNQHNU_y_6YPpCN1BXkC-VReWJ3Gc46dk67L7m3UtPH4shjdl-EHKKiJIs2K25ApTcI4RuEFnwC0YB7iJMEbhUIzjfKBCp5vOWJASsZI2MrVjVGQl15xG5Wo7oXWFSblsKUxmfGippQmklT-oYGQE7xCVKACEbmZhk12tmSMkoPbevE1qpmu0p0co_VwuE97pEfk68HhuhRD-Kckwp9Xzsc4FjqJMUTJbr2RFgTObdnzAKHFPn-ceAfgOM_Li2kIQEhRdLrzI0S5qnjAGU5htmZuVW8Hy0N8j-eLPjbv6enNtetvilCx-p4TmKwF9dmT6356vrOmvAZzyx_Bc42iI7jeNWfJO63lDiTWdOOqz15vBoTm3ySqJaTf3klJjN-DqZQ2hJknXryy97B9ZQn7xvUh6zhnlZlcm6Umfnge84mGBeKe0BBsE5ab2vvhWPT7gwq33Y2kzWtjOkmSutGkYd92Welxww2iyW8lSv3M-VARwjGbj0aWLDF-aAEmryEJnbS4vqkm3-EXYJcvXy_0kTh7J1C5VsgajL_LoKFhj-wjBP9feQtfVMn-V-KUJ1teeels7zl0_Pns6NUPIWDfq6QQCXqMWfY2OaVyvzc3sfIjjFe6pR-dEMnck1tHSscOHR_LDbLDGpEzYsBIHpUBOPjsdVhu_ge44SDPg5Ow2x87NoBCT6ALxo6X4vXhumwSZDCDCe7_aUdfM6k_B65E2got_ofmQWnBySRIJf0ePADrVjfYvzcghb9NlQgtpVdPwcFLiAGRIGJaE_H0HVzk2xmBkjyhfKXwEDrbvf52PSwEz6fztkezRWsqDCZ0R2DFJ9jZWE7YUQiDfbjG-IcmKnwowGKYr9WZGhkdNy1mie0gnLHyml2nTECgf-Qu1rzzL7LbfBRfArwN9Uxmb8Pzz2NB09YvDmLhWwBM-ry1kkGPtsfU12HDNYHymxaOYQioiT5IguZIwI3mjy-AXTAtPQ2htoJFi34PaKygdv94jSC0guHaf0KBKOiTxjp2RKpGZAXKo2INGKfMcGyF3eiFig3OBYbr87OXqO2S1RL0p6f--irk766r4HvEr3OgMZuzgQhCgN0un5KOxqajHCT2DyIo0lgvCxy4EW9wbBTYqiDqmDM1odwX9BEvZSfcH4_rx6Q5JklLW7k3zWC0bgi0WMc0ZADoKWvQQYp0uLyA5LwI9FfU8Q70Hx7UWhDnwt5YNdvp0olvhhsw0Z9gV2Ll7RbKcmfTYgyWLdyawwsUDijEVt8KgCXHa4yKbps2xuT1Q2UZxaLJIhjjzW3q7Juk_DVflja_HBgyFPo8wOl3I0Mc1cA7S3vYFEFnhQaiJtqYJ0DzLGnSSiQ7jlqa4NvXScvv_5DelEQ36_RIk5OPFtt7fpnb0OojoN9ZwEo42EHvfQmaTQRhNSZKPfCEaH2qAqJWOlYjV0T0Uwmn5B6JIygrudlHVdz8OLGbVVzHYk3qv7p4CuQv9FetEwQZu1hSkRnNVotiWURdWWNozJDCzo9aJ5LL2hza0MUy2aFCuF4-tGOuGmHl1rK165pCWhajQPLBb9WmTMuOc1ZKTglYSm2Xw-4Oil0vjC1f-OnzfKIQINZ-XvHRhW2PRvrz1c3azXB9xnIfqck6M3sGJ6WbOsK_cTpklXtxRr318tZ7ScKlwEEzQvWPfbP7xntew6OiyMZhQLFA96cpwuxSzOvEXjUrAB6N1hJkRzP9UfRf3vuLy0Z2EscGN5x0gDDu5KT9YnRzbfIArqKpgnuXoXGxz9D1JfsUTtBbJrt3H3KMa4uB4Q4bioOUk8KGcZdGelNh1BwOM5ECSQs7p9_0mDc3p4QMHm3WzO6JaQc3zDDx9aWsrhQago5IPNAYxcheBoOZRgQETKzvnQDU2oewVpZCd0ekBkjdQ4zHZyDvVgC3Qx2OfrffD_tVNAkjkAWbuhF_DIFsAP9p3Si5z2euXPg7uWmjniqvmSAgBX4jPjRIWE_4-xjy52LeClnldOSlhd0zWYK7Rerx89bCvWw5RTl5oTegcdd9igbdOs_Oieevm0K2csdfdrP5_DjkQuXDsbUYFaIK-N71iDSbSJJQtPpNlfLUJt28DF5UU4eOoHGWksL7TsaHweu0fzFYir0FBMDIh0gB_LsDGuGatL8uDit8UkbynO6K47nu4o3utbDX_ZvGaXHnU4vqDvUDq0XO9qX0JKyCC8xhB_Kl5m3ANp9yG4nsWVYzru7cae0-PfnyMe5JXCAQoTXfTbESjpQ-d73z7_rrdDi30EG_EkX4_9nNXSNYn7xlQF7e3giTCGBLa3zcwfiJtkQem_9e4SAnxTKR-Z9EQ1ZV4niaRFA-kQMvogMxnvnlNeSKaRWJRCt_VaaVbL-U8pCOotzewP9wiVkeo3LXt2v-4sQFVuE4Lhjc16lyTP7sOWaXpX7NH9o6gFaoVKBj990oGeNGAxF6nRYsT4SgOt0S8x_73yWOGicXDjYiW_2TTVDlN5HbT3_qaB4hfvLIhHhHzXZjr8uivTsEc6JWcQNyMnAL8GQCTzc4C3I8Z2LzmzoCgfMDUlUC6lpJiPJfJO-pEB880GxJmPfCkF2pX-TMF9_CPghdTitzjhEDc6SzagY1o4GtC5vN1-HRvf4UnulpvOZ6HF1AiO79K98YoCKdz5B9DFesCQixfMq7kUA3A1lVNsIS5eKXfbKLoZ55IcspYZFWGjcWE4qBIvF2pipxM2eEl53TqMp34IRDZ00l60SkzZrjoEZ9vz_uEEu0SM7AK_HeZLANwq1z9fM8FO2WRnJnUSPv6gW0vb9eKHdSTfg6wi6zu0tOXccSu-N3huDYdCzSpEt-M5zNnY93Rt0p-S25dMCkATTHkHGlFxGMtDkuc1sMPV_yYfp_TBH1ZQFlLzOgR5DoLfx0jOwZ58h-MOeI2w852PZbal5B4wmGVtgMImvj4UIRAbfVk8p_6lnT5Ngdgj4Qncnl_ymFdcmmtcFa5KOZ3jwu4kfustD3tbI8ZATfQtoLXMaIEjgh6UQegY1XBVml7t_56Kx3H9JrGcdQpsqmtbrDhfkhiuiwmbLBdCpuNV_OpjHJDrdVw7BM7v9A5ycRBB45qDWncrKbmaETxXWbhnxiz87vKLWURn5tQekd8Frsh5M7wKxlUo5SUCBQYs1yWXEkWlrEx567cErNO8v2I3975HwsOfUuh0VGL4rKvOWXKldnXtw5pWrOX7DUX1g9qMiIs94EHL3UW-awUhDypoB0t03K_NkLmOBUoDju8nV5_l20wcPytIRU6kbTr6MBFBTwTnT7ivXSDgB0n3Sz0aspIStvnrjuaxInVcQ-O0qyadsTFUMP0uk5RgLDN7WX-uLfbYMmaXsu1FFcxKtWZlO5QoFK1LhI2OAwFfDKAfCZdKo7-72HUOEi6xwxTLbdnlDlIAn90qRVMf_saU9zEyAZNlk8MXzHIRNyOOUbcE_nF8bg_VTqbCovhKfWl-j-Z5IOsk4w7sGDQxSAIZYB3tjPUHZKSxts-9AgtAaUhOvk_WXOLo_ag56_H3LLbQTYiaZnMp8yQvwdjDbmc8N_yGHHHpjKv0kcavmN0qjYkOiDlk2n5490uawX9Y2U0l656cDrhqPfe1Lor7pW5bRM5o8l1ITLkuRnolBMRfcNXG1mrH6vZyokUPNTh42zdh9gmLeZsCXAlKBlITXyfXsGoD2vJgnu-U5_ca16nqRxOD5ReGhkr3XUlHPOts6dYg7LyRnj2mGGwTMk_xm72dIuk87xgNh-k09kyu84B2usj50ngjCQdaGIoPqJdn0mdJX2dfmweGoSZo4XWUMVk3e1pjDeOTa14UVquwqGB9u45KtC_8rVBT5e4CjJjXxlj2nIQ_xHZPuZS6q2qrcjQ8tHYMs62npcIx9SE3deMunjbzCQQj7Rg3vTDj8ScA33OLDRirHwVELHbCtq6KLC8GAWMXnBIN83h0DCBvFnBL1VE5pLv_1fXn5UPM5xj_bKD8fhzBswePw8Ors1cbdLooDcTFFWfB27ZpVy9vm4B5dFcH35OHS_z3-GBZ4SmAsXLBcU4fOoe4omBasgVZzYnxpt-VtYsrhM5Ld4T3fc_RxAU2Y6EXGuCEKVuwjTJy45WS2g6R7JcmaWwKhCL_wDhx9AngFx75kUXtHYoPuEaP598TY0egaP1tsms-R2IonTJg4Www7xLCD6mNaBw0Ztofr0HgtVFXbiYSOexzXe65Ww5iR7iX8Xyf-PtSmhGBYJGdbfGkNxuV8LB4CTa3fRofiWgcsL5zs5b_ll1hM_MSKyqx1BnfuNu3Ldcz7PRs8ZM6A36ov8mF3gZQgsPV092Bq2QbnjmrFSsYyO5YVXr7O3Fn5uj7PSJhJvZVgnwesGS9QSdYUrX_XKpUU9FIpWwi5r-bJw2KTlC48CV9leZ6VwEGyZkpRndaXfY1rOuiEOOnFPoSpEwvq1V9Lu2vrrzbZOjZnte_suYpmsVtBlwefUhciTZZvVo1FmA6lkBt2iDvYzSnuP-x2mwxXmQHBCs9Dzlupsi9L6lvvyGMZg6swGIY7lvBmLXNEIP3pDevNe4DHbZuFDUtc_QK28WxSD4YAYQCAasg_I5kWdCmpRQ58cviyMYOU-5e_woMO_BdMgN0pHXj-27TpEsMA0u8qQzndqLP-oO3EaQpY9czPr1HbDDO8bBm3xtcHGInOURYNTS_O3VN5OBpzfwzm9O1_YigRu9HLdjooPPmVVD0scIgO3mJXxlKwX5fA1eigijPS7-2Pqzx62J8zUmIc-m5Umq7A3fcMymoaREykel4dAM9BkHoi7hABQxdzAw_7vASaoxubWrYijY0zY7yfD9oJd61VRd2wMwwQW1Rw_jt1pnEMgj1w72DqWX7HQYwknUO9AA_YG6O7U2hLKIdnQ_vNc-r4c3KNF63Z3G_Pb0RNaUkKk30BgUR636nRtLg6NgJ-eq9qcKSQpi8VholBoWNQgxeCrvup3xV48bZjXKOGP86QXwI-_MT93F69KY74OW5rsdjV_3RsvJl01AXNuS_4FBGJZNJG8aRCzXSgO6MmBA0sqpc0EmHN_QQXnkvGeyjOzee5NAJBPHO9iMjuMbm2DW-mDx5X00FxLRrlclNAhHYXsv_6SxDKZEV4v9imOaEbes5sL7ZoHcIlA4m95ypbZiACKXj3w1t2P0iDIrztvop8s33HgQYgA8DcrdRiHjX4r6R_rMRxKWeKDPNMh_AmKJIDaphsYAB_XanzbLdB9WbHRsSBO9M9DniVxqDRop3cwD363DPtYVaXyCRIEF8exI4i45sxAmUKTsew4o3o1h0V6UhAI_Wqc34PNclYEalqgK19b0LxGQBPngkEOc_8pwQ_Ddiw5vFVFMAyZPpGJs29Y9HnxY_o-VigvXZ58_QRT2lePSwEK7H3NA3S3-PsdKzzZG8ocNeCOzgMB4lD4tMjnlMWAzLBuX2vq-7HORSevdkGOl1PVeQKfDDrlqDh9JYC7SPt7fmg9pWYt7i_gJF3ZYRoq5V882rJ_TY4OxJt7tHIjyJo3BsxPwIa7zD7zCV7fZciMSwUQALQgIIVbZn_NI0ssP0F7KetSnHalv-bJfGyrPJg8h1jwI62YA5mYkQdGIh4nIUhR97ZoxEaQUKv3OyIkrrqp3N6Tm0EdqEH5XvEdSTIltLdusDZwo0CpTTHTTyc4EQ0dMzIPWFFAlTRnHfz7XG8kyif5f8JpdWq_-ph1pUWkKIreV20rb8CQfoTPpDJxh-KeMWYICK-clJQbrslKphUh5y9IqpKwyTgxra06QZGgU531N7XyWIoAF2l7spc7ZLmtIONp5lCM4S5aNOSz2ahp1oGWy3HYXMXWh3IgZerHkTGgMDPxS2k9caXFUCCYBPHk85tiZNW29oqfGEoEdX5ir-SxKi42VOkGiUMLyZcMESHwtMAildsZHmPR7aRGJvF0Ru62HQBaujPNTMhg6LTNtn2qZNecdeCryc2H3aB8Mf16GRpFlI95tWaiKKQhRMGWjOCjmatNi4DzAn-E4ZwVkLLQwEbCYDqE65Y4Uii2OtshEcfCQsGoaCGiM3cmS6Jz20hA6q3odAGLVVUDQfWb8sKSaEp3Je8RPTZYYRAL090C59PaT8ZzDyygg5yKVUatcU3ODxLgXV3zreTN5R96UiuqDELAeAFU_iM91j33OyKFGJ8B-a7KsEKX0XKI7yui7NGRulYs2BOjJBEQr00JHPzKaRut-5qWYbsX1MXhfGEVmes7k5lyTKLMMxfC6aqwt6yaqlk6nXIihjeQQ5NWGvtJ83FVnBUibv405mSb0Gy5YwWLiStvZnrhiymWEb-9ySQoIRwauRmIDL_VAUQyU_uLfBN931wK2GDcAHEYZtTVk_h1Zs2pYs4xhHHhAGLNAykQoxUlP2rcRQRl9o0cCPtAUh0y4N9j-7cUkozLhUv-GD93gkZA3SWWCwZw74To6NoC9U3FzIF0oVr0OVOFRaUnbwh2BXZ-DeuI8sEcZhRCOOhs8bXAYNqNvRp9AafjgvfHzKQCB8Ck1B8LgLg7Ypnj4xTqKh7O7Hgt40fc9j4wVIJZoxGU7HBnd0wa-pIYLWmVCeoHCaZ-i9OxtvxAcNX8f-pNwuPoRZrzFFE1V1FaEzmz0VtwQgA85I0_ipS1MqdpFZBI5RLEKcmI9clAIo72goTjkYUcXQBOdJsErIeLSyQkbIWrXo67vMwHnnnbzldQ6d_A1adG8civp9-W7jU225y-rz9c3hDao5_QSvIMClchBVXaFow38u5aGmx2sMF2F4DAv3Arsf0wCcwXu7c20WaNUP5JfKAWGpIqyDgSVTSOFZq0er2ZuUknIgwBTBhanT2nV_WiSXIG37hkEFQ9LyH9olZIAI2Lydg0ykIeyZiBykTn06gz2UlhdXh_T49IRsnXHZLPZj9ptgWaFSKLI03b9VXgv7-sRBzszFVy7A0vVm4f4tcX3Fix_4RXvENHwL6RHG3y-glYnznOhfZ2Kff-EPx5kZciM8zXdN5bQHvQsDp2ES4xMrwK2HhVDBaK0yrqBVHgQDr38m_XYDjRb8JVoemRrGM8Gf_TZ0XtoE-q5u3PomO4OaGE-uw7Pw8YqDm3yBb5I8swQKTtWjw5ZRvPc7cmeqZSbLwxJhiZOd5OWKhCLdkhTDsAF9okelFAdQayq6RMZv8VQLoMAiqB42eHqRTkgVDs9E1g7iCQqENt-CTL99Hz-Gj1iesfduGFoajxYOJAw6sLtWKP77JAo1A8aSWhNRTdT7Wu9mYxrM7_6X1QUm0WTv0EefEM9ZsdKeVRyzFwQWHJbPS3GGYcFEUysIvGmsbaSGWjkAYDSTT_auuZXZV6hilZV3b7lNPIyQeugEWMh8VrRSNjahSqS76DieD4FZHGHlOc6nXuLtE5sFP90ZMIBOAsDgGyjdyjy3k5R2WpawXu_P7cffNApnT8kCaPls8Y6cI4KX8owAEMk2KRv7MQfKheKVMkOLuuLzXcG6FLNCkjWkRBeE_tmh4DtAjejRvbI43hUMS2Gd-Z_ESeOj62ouCqG_JLAun7lowv5vKtuRtYWpzz8XrueknzL3rJtPzGeTiMl2xwHwm4tapzpMYK9I1bvF63iGmHFaUWEMC4LYvXpPR6gteJgMdGkBI7IGAIqWLy5Zakx088nrdjCpMYMGheJZsw0nVBirR-hiyC_2_swM80fCAnb34lkOFiIvyIFneBdUpPXK3LHz2z422rc8-OIxp0JJ7mrEbE2yoYwFBF5BpBruSTA5VbK9NxX6hYbAMz_69v6570ZJAUM5fXBk3OC-sC1xR8C_eBAq_X2zkdiegL9yFxqQ7nEle_MiJYwCuk4YPVUHCxjtNz_9PN6OMkId4iW7OqZC9xwMlMVuLjX6af9R3EQmpQAo8n5uIy-tmeJWVKWTcRGXTBb7RUFsbVDdEDceXXi9twnlkd1HD_t0A7NoXmIgtm2wQ18uMIIxwV1Y3viZfYem_W19Lv2nvM16V5nsqsmlSTbXhQhLY2O8tkZoKvPYkTtKU-Z7vxi4T0d7ryVJr5mrVJNsL2IYeZhOGrhdYK-cIokpBHbMqc36771ZNtGKIe8KZ9wMQoUsoMSzySmOeOsnwoIh6LB9MCgXAU_2IeiXNTvmt3bqjU5DKroQyOr090Sg0yNe30a37KC5KbORTDaVcNEBwxarW5ZrU7hIhbe4H_Cdd3lrULdS8TuW8OU7aV74Gh4HCebdcOGg6n4KekZ3fY934LMPPLz5ZtCNgClXEhaqVdpURUK-q2YfSy7Fb0BjxrfAyFvzlUW2bXwWkAtDcDEpkjs0tueR8hfmvYRm5NPkXVdaxIPVwwFY-e4-f_d9EwnLZNorAspxFdfIUuGa9kIshqeNPG2x3nmjQHx-NeExoXw42h-CGRB5X3C8t8E2QdNgoD7IIOI2vlI_pJN1JD6vrdRsZadHsXN8gm07SbVQRHyvd4_Dwz2KA0_YjyDg5kIINbCyf-a2otTdylSLky6eqPNBJwnVG_SU2Efw6W1mEcAlFJrNvFjUpoZtN-TbK1kRaXU8M77eIrXpS1gt9Sy9FtpRj3ssxPWmyMzm3pGNHdjUtj5cGBGgAmOcVxk2dB58oBJoOahK46SpjlyeojXfxsH9RqVybzMBeHbX5jGBwtuLDPkdig5gYzdCvx-74Y__GR6GAmPgg-1LyVjcMihwA8uMgKNcKEG72XEQp0Dt-Rntiu3VPxp1yAp_2K9N3gSV7lCDc4h8nUdTrNV8t00MuAL1c6WlEYY3ss3xT95PRzqBeEclLlIJpGHewWPGs_YUs3B5D0OMITxKsFD76zG1351YOKMpwximLbyfqOGPsrM420LsMRy097KjKWN9V8fwWh7i3lqrsTkpioVhYEawrf4zrUw3kI5YAb6z7PiLqzs-g88LM4QIJGRWSIui-2SDHShTW56BgEUfDtcbzpqL2GXHAw0rqg01kMQ-nhWFVkWxVlta4ArQQ9DOK6hDNNjknC5RijjrZPvcyPyjry05cwD9noJDsIJaFJraXalfQsz7Ge3UVK04bRoFepjoj19fkkYKJCxcfasvYUQwTnArXWzKVjmHtF4Gfx7Botmr26dLfK5IfW_Se0fKt3vEzEb1PQFKwMIwSZezZPQgC1H3j5TpDp0HZl6BGawauYQIn3dwuQeuFjbk6PPzF_pEKa0iJOkUtgqBD5iRVZS3b68z3eCKMaobjWSOdMj0PwxVvMRvG0FDLJln4MH8U3SGmm7gf6G48G1HVxywNUzJNQRZl_Wgwy5pVo9D0MXZZ2w6HGIxPzIVtPnh6Zo1jRzgFyY7SuIdnXMoI1S05ju_IDs3raBHjPGtBu6jX63wPTQN-lVBpfwBzfqYV_sUa_vMik6FASIVAGAThL5wAj6kxGecDt1wDFESDTuy6mdNq4wOZOqV74ZzVLX_j02ZFW91b9dTk-ECvUG2uOEvLPnxi0hT76yPMTgES9dpQqKcHpob_2ZPp529h0BJ5Lkez1KxzW_I8vcrr6yv22OZqIBrhUxXyXBgX_g85IU_MiYNXOPAeqgzlkShZGjzhuhGNk2sWZdU8B1OPcwAXpu7BunSQ4gQbPZazrO2nrmu0pNATnJ6C_a3R-ccYij_iK5RZpx1bV5xdOtZ1LSUQFr7kofOO72jBM0SUxF04vL4WIOUwzIYKDcFYzPMAlDGre40GbuMdA5kLbtkqRfz87YXDJwmjENOLfPjOR4S0cYOnqlvAk32Qw7x8zw7G2R0F3Qg9SpGmOautXIVDIpnhBui4obwcpyo3xGDyR4J5CS0zRdlyPfcTb9baQIsm00Qolavl8rNHKioYivmZOQP7-yfdZ99DG7dfBvX3jZgZ8MqbW_8Z05L4XY80WKAVQiZI5rTRugqs3OMDmp-EOHVr_42PDLGYNYII10UjyW5HfZW0D9iRjSYru31rXk0m9coVa9qHeWT811lG3sGw5CJIshPvTGfLm0_Jf0Ipk20dUraVv5lP7mZK8uJS_X-CI9YF5zETVSQvhtaNRv7IPk-HhXx-zWM-v269N_CZjpy6QmEVJa1M7oLBeO012ocDULnmKvJKq7VG95osjBmfY0L0DnGPB72X85CFsUgM67TVtXSp-3669pkb6TDQp6VrmfTr_6S9WkrTQarZbD8F0Nbe2PApwkUwe8qXjYVYMQ2aILqrMVmZERkliqzXrFk7uOfGkq9qk5eeSQNvmEBjIxVXdHSfIXj3sF-mOsFSU6F3RrKqGez9KctIdTCzg2Q_RiiyLQylxjWEKeLtLz6Rg31uQPTRvw87UeVNGoY1TQSqri28c36g5d9GdEQ_6vQOq8Gf7Ug8IU-BqxxgH4sLiVO_YrDL4pmlMbeW4cH2YwX7p7Di9OuDhmjBo-A2aahkWKxqFXuJACKtiYr19huv6PVZzaT1ewZ8Fc7RPEmiT5YWgQD8c1nnnGXWD3nDCS-_5RRyCQHT8lC9QSpzRR2WIvmb2h1dJfbAvLuXzxV6BEEDp_73GPxK49Y2BdyrBI7AGJJb8SySV2-EROmy9gF7_-JPkwhCC8b2I_An4BXyj6o2ud-VhPrMLH96z6zybZKFVo3Z5_Nu-u7TKYu1m5WaHZL_CxW8Q-Zdors7Fsg6LzzqFyTGTLKcV8PiWY4uMaDY2fS8hj_PiUhcIirZ3KUvmxfg-aeniyyBd3kf-thlcPgDNmTzkW1tC46WMn97Co3ERgI_SJyE6we_Is1INtYR-Ez9dnqOozfrZHYNDZaTzlD8nrF2G7sbYH2lMCLIGQSoU7nJ3NOL-7lfg3P0WmOYxZBOlXUeyMAkaae1hA59t_iBU9zsgiuORHsqZbZque1spnUbrPgQGZu2i6ZD57bVdRrwqH32hMHBBT7AUXFdD8afmGecXMcXdUhPrYzGWZ8JQXryR9FW3tUak75txj7qniqocHazdSsH3jNy1jOyX7AdHsEIkT0ZrWWkr8IQMnAYBswfhCzoduqxuk6vc1OdZQ_4r9jEppdajhCnwYJrvIwYwDQ2EkoyWH9EmAIZiLqBVJqmfFQmHQZ3X089n4NO-QBnu-RAYVILp6G10zotGvjTWF7JfzatwDM_oulcbV72MxmPpHq-C_7dSLDX33f3LVHhpeMOvJbtpQ5I6CSK2Dn-g-oAI6Pe-96X5BsNog5myYVssgURt7IC2qaLVvMXxHdsAgrAEBoGqHxLLpzFpn7QDl-76kn1amMB1TFag3vHrdPe0Fv4H0mlIguw0ta62ET8kPQtQdzvnXOYtAVgUlSATZLtaFaa-RZmk7S6AlOAGgPmSzeyJlZFYDLLXr9y6CXghRaEHOcEPs4_qdAfuUhWgEEYjge0blbR_6e37slOc7CBclCtiyiIRwwbtmGKC3brOzc-DMGRvbYwrJB31m6MLygd7zDR_nX1e8UgHEgqqoj11sat_pLawOSuXyPBD_zL56P0LFrEHJ2NQ8dgJxP-HBDaymB_JUhTO6-d_wIveP_JK_RZx60WJDQzPQEj--xT8Rj0-phb-dJ8FMTkTDuizkv1-9Y23_lHTdgq9LMB3pbF34tgChLGLTIo0xy_i0aEhAjUWJAvXp1pqjsd708JU--PYM_uAJx0uMGqKKaqavmEjRvji6iieIXzZwfkIceQ3tYmNb2_3dWNLOw4zugqCHt3tFPcwJjseU9iwdgV6IzpK-pI-SD6is-dWL-6Qi898O6tEndqOhHjA7L4GNCNMQeh4CLhKukAI_H1jzoidyBMWwksj8pOlNX97PFL4z53pHL9a6Q0WsV-6oRXZmfwW7uB7gEx2WK6dpOYto-phZ9ca10ZAJlrIR1qkEFEPrb0JQzRuX2uLBGLCqX3e_GIeDwx3WM4RVO7l32O3fb3wxvWHVEpmtqWu4uQT_AIUMyJH3KVhcwPGy48-2TBb_PncoF8mO8I3R4uKlMj4pZ-ujLp9Vb5Amk783TWq6yUEGQEQxT-8cN0yZ6He7icGMilJSYBe1DcVpufwFkgA4jIX9K_K3THMgbFSmt10JN3THCEL1iI0EMVavJ9LQoFg-8g2Kiwno_Ecj48XHPRxMDnjRLiCNGcCnzUWTPcIzhMWJV1HPNqFmfl2fc--Ny9jrwmrMDYXxV5S9KdNeSHCFha3Jjbpw0TwJnhs-6iFK2bdFpKcvGdgOJkdGWhWwj8zju2t1p1MsALS_WZzd6ttJYdk1hhBQEA-ZDbVu6kyqAUwb5KsbTgqZTiAdhVM_HvyqXFOu90OeASeK3gj4-BF4H_x00y_zXUvTy-xJHhkZ2EVJERyhKfqUtj9g9BecK2CPCwL1LKEp0_f40G8I7ZV-POhhiKUHF_zNTN6NxYJUB_Y5ejMFkbcv_Lt8xj177oqw69ubu3_7YsOYEad7rX6l11ty7I5FGrxDfQP2CqaoZo6xS8ZUz8UqfPNjBw2Me5LrIwX2P9t4lh_y9T9Vb16VL7Y1BQuVG51UNsMb7QxUF4ChuSbxTDhTt6wp5Z4EobdfcBundLE9kpOuBDUshFWrZrdQr9qXIzY0XgJLjhAsJ2VGe2kEprd6O3gN_wkmEJvanTjhFuZyjuCp7nIzPGBSALhWEBo1DODgVE5HYs4w5eEj7UerdO4VMOn6rvzjV3y6AfxoijYmnABDV6Yd4hSkbg0shC4EgEjrPnaU0OC9NbOwjTZhAS23sNJwta-9IKBFMw-pFTegDochxyAZRpsT4psS2KwzYIgmbZmIbLR-ew0I561IrEzsHvYTQI_8vlZ55wqtyL51KrDs-v_OSUj_rnKL8pu402hDxFmMa_l25kRQjuJf79TOgOzarw8r8oOQiuL_CqF0i-RGdmioZFl-12wDE1uSMj7UD4FBYkEXt-Rwn_miURgPoURR5IS5RrEuTpunEr07SyGrkH5o8CXdIxmmo3BPOm1mqveiMu2BJQ9M6EWczx4160jZknkXvHzNPGVizclT8suyl7DFrSlfppDGns2m5idFPzey0jnSX-UY8t5bXuzw_fM4irThYm7fCYGtztbniBPWZJENj9RtFo5SftBsoaVB4n9Owtr_UN1KihM_1PRJtlcP2RQVUa_-mIN9mm0BfeUsKaKARJjPflWT3HeMgMuOqP9ziX7qWKAiVr_Oc1Sb86Swkxbqxwd01ODZhanmSENhN8e_1q115MxrfJ3zecdv338iK8Kn4iPJPf59laZSldophZQU62rK_hzBEA9RwP_XWCx2PlBIANf823rPCNbf82q1gc0uxqMKGBvZ2o0pXGmPjnuwiCPJOxE4mESswqJ4a1Z_kfQ2GeB0iGNw1lrCy0US2KFmHhrLhr6exAO4CpHQcscHpnWT2G6zNMrpQjXaFvqXueamWvB_YrfhOr-wkMa3O0XkHvAmm_BNPCfOs689nX5Vy5j3UHvmIPLMbVjj0JGiwKN_ypl0g1bPAlpmsxhhifpjUHEGdD6euSKXz5ShZCPJQC46JUPamohjvsQRMdJ7t2pjQmoPH4aOpS9qt5QGO_DxVXGzIVat7Y9BJmygLTb-WPuzTvIDtpOMpHzTOoPVh-Gup3uuF2HLXr483m0qmfJ6a82WaRz2JLG9JjFCwe3MSIZDTaExqCOtWzZvgPKB-7VHudD2Pk2c53KweG3NCTbIpHtK-bCnafL-wUKG32q4DrX9kbq-wquH_NEwKhe3As3qQpITkqJCZa6yYk2Ehyf-H8RZjiaALssEU2bOejbSiqDPi2Mvr8ZcxWRu3owVV6nOq0MrHHfR_smYhBmM4wDhuUC1qjUMnxEunD8DJrTNVD6vzXslYWaoKIgni4bsVbppYlsgRJzAv7xL38odbMfFk3BHQB248KZd6fLfdGBGh3TvYFfQuu1xEK0cLqJM9Lueyk5UwbfsCovz6JRFF7X7hYMT35Dq7mfslB-tW-gJBOPUJEAh-OXksGTuvlQ3mdN8iIlp4SXagXy5ZBPG43wB0Ek29LwymA0DntNs2qsvSisBjg5Ha3qOvJtuRJdbZjvGa7MjpKlwN3G-hzvhTayewWuL8fhN4mOXlRYAFx9MhkXniPoxAptnLBxQ79miCPHf8c_pIOnWo8bCOu8HGlNfjp0yC9t23TmuptXR6WR-SMffco7-rqCKfFckzM-3a9tgwA6k6O_y-Yvhd5pQQ5dGajrvKpiSockr0fZ5jB8_qBl4WOCN-sSQ8yIpvdHT9TS7RDnHMyYEOq_GKMcdFTvSrRgl55E47HG6EMt-ivpzmwjaYtV0C3XRvmzeDtSoqNXR2izMiryTqDC45VU-4hWKXAndinS805GBObu1dtnHpHTq98NLUa8VCDXu6_noemkNqD1X3LWeHhanXmEYJ09hWCDqqbNFsaVqVUeodnxrj-NyTCUyiEWjLJjD62VNoaObJ9x3WaG-SYGTPyZBNWnKEHUcY5e1C2evy5OYrI7jYUSYFVuGNdK3auM9JVvO_R4xMSg4z62mPBeWKde1bocfdo7Pe4HES3YsaQ5IMKFWDfF15p_ontf2bAo0r-d792bHVHiibrMaSTcwYDSwnrzDU0oGrArwdNd0pV8GV6SQbSTFNTZPeBUufxiLrinTv1xPevwVGVenwVKmpH5Rqjf09T9bKtWPtuci5l40YlJ64ojuxoJLHY5WOOwxIjiEyrVJu60fZYZcfh9muYcYx2-pLlrmwX9Hx-8X6a-IYyLOncyieLyfj95HQbo0o5tlJgsGIMkVkyP5qT6EHcQzfw329YBjJmucz4UgUQ11x1BTt7wSIGfWIDVCMcWGHIj0EBT7GU-RYBViUNsu6i2YsmbGd0N3R2PilyKKXCbj1KRa-_CEDWlZuuslXA0uOkUjG_WMvYuJY7LZV5tQeWheLn8i7Om9AwI04bbiebixasaJBWJ-hg8K0SNjISIQbothOydt-37QVn7y0dY62-vYvWOmAdpZW8EHPDURr8GlXSq7xt9uSdIBnQYT3N3_HFkkUHeWGQ8nTkZg5PAg0sh_rHSepeOwenZPtfEJPGkKK1O5xNpkL738-jccd6IdberKes_hvHNoVCuPpaSTstDWeQociqZVLiyPSpJV7mQS-Yn2ZAfvNtKQ3SysoV83Xmb_gNe3h5RnjVHqhQY-M8yFEwfdMfLYO6mAjGoZDrQZZqcDG8eisvyXPSQOrd4PAn21yXXzBuUNJIERpjlPz7gC8xzUhRwHbZ2vcO7vzrPnHQ1Y-PsA7ZfkfAba6LkRHMpaHSFklO8gCIPteTuOZ-Dv9JHmLtOqYIEsnwCOAH7v6hGGqSFpqLspLLzI-2rMUswZGOzY7nNoTnbsHK0KzoGjERLVgURYF0EnWoacm8JAx9-LRnDczQo-BYYFuk_UcCFowCUjZ8JY65Zh3BM8uag0LciGIqJr9Qyek8IDVJjUHw0zYZi8Dq9dUVam9ZurJ3Y7T0RInDuMxs_czCxuS6yOOm6w-YLjwSKQQzCdasn4CkwibrGXRv1J-prJqq2nuxiUx86WHt5CE6uFI7QdeMxkSn-zYodIsozJGyHYS1mis74RFuwKk8UN_Q_tYZF56Ck5hyV0O13aQgbw1JLW_ZSBC3uVy0sDchoLPmTrZ5iJuF0zZ8WCfATiCE6FPdHjLc_YX87YBodshLOR-AH3a3bhq42HVBDJEPD0r3VAxaI-xS2IuHpB01ra2HY9QMJpwTMd5Z4Ow8eDddj7xh2I5B9DsSMnjmrSjZzUZFfeUoq6pTP6vlMcI4O-Kd3GFIDwTLOOs5LjQDMW9JwjX1NgdhFOUfWRi9tsyACTRp00VwOsGwgH3HkSZ6KSSkgaCXK7MYbgkJOgstxwSpdCoUFtJfEtQm498bJqrZA6bbYzt_4AofrHoCh69Zths2dNjq8iXksZJeEYsmclxzF4TI1nkhhg9fh44iN1l9Emq-eaEBD92opLOEwjP1yRFt7ljrEPOeaT4ACpde1a095ABvIL-P8x09TvhYPtlsMzRDKEAIfTvIl4TAzdkl_ib5F1sYojUISUJGFWj93tb5k7whV3vk8dNoG-QpU_Tnr_R3zl-RZfgYeEIVAdUQGMSvUBKmaw6P5cLalCLcJR6Bq-AgjL_wB3mE8P2idEV4pUFQjufGDdOBG_nIV4U7HdHRBwLqxig3zojkMPxwhMSjObneOcIbWZhb9ypxvZ6TcYDFiFOjVrueIb4qMVWvziM8DWdbANYA27_TopYVM9m-vOhFqxTLeIPw5WLJ2PmQtxEDs-_MX1Zuar5NrJd-Vu1CaJztPb_Br-7QpSjmMNMCjVwu0moYja9vqvqPeRpgZ-ycdp5i8y-Dd2EmcxQ1RRCpE6cpgsW26sbtZOVIF0YG7FIPIoaJoH1CnLGmdv1gL2EmTYmqKfuD6uFKY6yTNEJqm98PlfMDbXdGjLBkvWxWQmE7h929Fdd4a9NpiOCWK97wPEqTEk-DNyuFuaEpoYQFdfpQ_XeivtSESlkzK01PjHMdvPxeK9aRwFrnXtMk0hmecxDM29dgFZpoVHi1eoGW0eoQArB6hu-pCBlvTzcq6AIcmKWQrBMYONh236oaOU5SQ3s5Js7K_ypN7pt8FlNnqv3HuOg2frxwI0ow4RodSnrDFJFVj5spn-bL1co-P2i0Vescvn25YMuqOukuR2u-eBH4sV4HLm6IfAGLZ8SeisVq5cmq57iJd4iVoBb7oeGAdmznP3tjbonKIjwMAEP_jqgTKDB5sN5nyOBKrzrCw982Copy6beB2467E5efF_EQ282NrO9-Xk4dNEmps-hTq-bOiwtQYyJ3-2LtVKMyBsPkSkcabo9mbGVp9BVtSX-c0W9QLiKQsMcsDp2EalFrM_TJzbrLNnvxP_UVEECJVoVrYBtjgYskeLJHWdEda14UVOb7lNEK-40WvK8bvSCnN5s75nWATNsB7oD90KV9gH5Q5R7FfNROeICUb08ueQpNOSNsIaaZ6tLsbgZcogULabPXWa4UGUXIUZBKBE6sN2PIXhgeIkgIRaoCKVNxC3XkJ4Ve-o0Tq4Sh-pnQ0kWbX5ka9UyfJa5G7Wugyl_wkWZnOOCd6RShOMlmvZEQuqfq2V67E7f4I2rHh77oKL2aHHezIqy2GKveJB_wgxyrfvvT_4ZW-IWSaw3H8KTTErFDAdbIsToaM9FfOGsF-FWjagQvkDQbVUh0q0vEDoVDTk4QXwqF44cWRx7inYXyPJ3YWm4Me7De9XPRslgqwVaHXHCluczUk8pKttozN-6nMPga3LqLpCLNiXRohOJDUQrmVquYcg-o_Oxnl0zGEQ_2u4pPIe2Anj0XnPatE1ZF9KbtH8Yfore0CIBUoDcFuyqAv-Q7bkM6q6iwvI1Lu_V-aIH71FpSPGRwVtifxzJSKNgkGw5NLTvpPGxQ3zcZG9cTgOpuSOIsfuTUTpDrKZBWHMkLkL0HoFLvVHtvarR3SU7SDDbcBOiZA2ybXasGUuKnsCAvfWvXAHlomO192VB3NLkGMxJTnvseCUrOMXxVj_bELu6UeN9sb152Mr9jwZHlsvh2cLSLct1XTH2oJntcOFJ-vXsjKkEFHvwhyldw5i-_ZR3vvJt_TJ2wiY0X806mCnLmpMYspX30t4y-MtlYcYZoTQhZWLiN9xIZEXyjNBsApMw2TRrUx8HC3nW5ir8yXx01ps5Dgj8xe1NBV9I_Fh3DsaHSfowfbpMwFYlwCpx46HzTa5TyaZDcdcTKa8aHo8khDhI0ltm5xw0HBHQJEjQJfqnB4XeSachPtwW9gimhKkfxC6ZjaCBwb-1s910e4RG4DlXDEVbMQym9beqFgY44SlPpkWZiCiOVf13ycDYUM";if(!e)return null;if(zt&&zt.sealed===e)return zt;let t=null;try{t=Dr.parse(JSON.parse(vn(e,kp)))}catch{t=null}return zt={sealed:e,bundle:t},zt}function Sn(){let e=oa();if(!e?.bundle)return null;if(e.runtime===void 0){let t=Date.now();try{e.runtime=Mr(e.bundle,{signedAt:t,fetchedAt:t})}catch{e.runtime=null}}return e.runtime}function _p(){let e=oa();return e?.bundle?(e.keys??=new Set(e.bundle.filters.map(t=>re(t.slug))),e.keys):null}function En(e,t=!1){if(t||!e||e.length===0){let n=_p();return n?new Set(n):null}return new Set(e.map(n=>bp.test(n)?n:re(n)))}var ia=null;function Fr(e){ia=e}async function wp(e,t){let n=await Qo();if(n.size>0)return mt(e,n.values(),t,n);let r=Sn();return r?r.selectFor(e,"free",t?[...t]:void 0):null}var xp=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,vp=2048,Sp=8192,Ep=32*1024;function Tp(e,t,n){let r=gn(e,{...t,keep_failures:!0,fold_passing:!1,mask_abs_paths:!1,transform:void 0,truncate_lines_at:void 0,max_lines:void 0,on_empty:void 0},{verbosity:"normal",smartCode:!1});if(r.trim().length===0)return ue(e);if(n!=="compact"&&n!=="minimal")return r;let s=r.endsWith(`
69
+ `;import{existsSync as op,mkdirSync as W_,rmSync as q_,writeFileSync as Y_}from"node:fs";import{join as ip}from"node:path";var ap=new Set(["0","off","false","no"]);var ew=["Tokmizer contacts tokmizer.com to keep its rules up to date and to improve the product. No account or email is needed.","It sends a random install ID, your computer name, OS and CPU model, a hash of your network card address and of your user name, and the plugin version. Command contents and output are never sent.","Usage stats (command names, token counts and install health counts) are sent only while they are on. Check with: tkr telemetry status.","Turn all network access off: tkr network off. Usage stats only: tkr telemetry off."].join(`
70
+ `);function lp(){return ip(x(),"network-off")}function cp(){let e=process.env.TOKMIZER_NETWORK;return e!==void 0&&ap.has(e.trim().toLowerCase())}function Nr(){return cp()?!1:!op(lp())}var iw=300*1e3;function na(){return ta.replace(/\\n/g,`
71
+ `)}import{chmodSync as cw,readFileSync as up,writeFileSync as uw,mkdirSync as fw,renameSync as dw}from"node:fs";import{join as fp}from"node:path";var dp=g.object({payload:g.string().min(1),signature:g.string().min(1),enc:g.literal("v1"),fetchedAt:g.number().int().nonnegative()});function mp(){return fp(x(),"bundle-cache.json")}function ra(){try{let e=up(mp(),"utf8"),t=dp.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}var Dr=g.object({bundleVersion:g.number().int().nonnegative(),signedAt:g.number().int(),filters:g.array(ve)}),Tw=g.object({payload:g.string().min(1),signature:g.string().min(1),enc:g.literal("v1")}),yp=10080*60*1e3;function kp(){let e=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(e)&&e>0?e:yp}function bp(e,t){let n=na();if(!n||!n.includes("BEGIN PUBLIC KEY"))throw new Error("tkr-daemon: no valid signing public key configured (set TOKMIZER_RESP_SIGNING_PUBLIC_KEY_PEM at build time).");let r=hp({key:n,format:"pem"});if(!gp(null,Buffer.from(e.payload,"utf8"),r,Buffer.from(e.signature,"base64url")))throw new Error("tkr-daemon: rules bundle signature invalid");return JSON.parse(vn(e.payload,t))}function _p(e,t){let n=bp(e,t),r=Dr.parse(n);if(Date.now()-r.signedAt>kp())throw new Error("tkr-daemon: rules bundle is stale");return Mr(r,{signedAt:r.signedAt,fetchedAt:Date.now()})}function Mr(e,t){let n=new Map;for(let r of e.filters)n.set(r.slug,{...r,matchRegex:new RegExp(r.match_command)});return{bundleVersion:e.bundleVersion,signedAt:t.signedAt,ruleCount:n.size,startedAt:Date.now(),fetchedAt:t.fetchedAt,selectFor:(r,s,o)=>mt(r,n.values(),o?new Set(o):null,n)}}async function sa(){try{let e=ra();if(!e)return null;let t=await Ht();return t?.signingSecret?_p(e,t.signingSecret):null}catch{return null}}var wp="tokmizer-default-rules-v1",xp=/^[0-9a-f]{16}$/,zt=null;function oa(){let e="J57HvNOlUHIC-D1B2Kl18LJIEi5uyU2rjHDuMAeXEAcOw_Rr6e_tQ5Vtw5B4woiSn_VvxE3ByMoDA5KACZV89Cw97zqb-1p5aam9s_BBrbgszu2k-PIPWk99oZYBjnDJELAv5dbzTWWJkvNHkY6tqZqNoxE5HxUgSHBPWZ5JMuCr0dPYbx6Jy-qdXRLomoDYlzEp9OxKcfH5UT_elGZxjD4T-5SLpi1H41GvljjWqdH192sMz_OSg_vbjzkWVuXcaUkBFmsmzGP5lHvORIJMZYQAbbBWM2hzCJH5QJJPeDEEoUtUA146b0MUUrBU1TiLLMEGAR5lQNH4lUuqMWvjkqxpycuNGF3qe05_8biSszfzypY16sU7o7Xr6zixVFCKfPJmguC2Zbn0T3OFhO6idNbke_w9ABO_FvSo8_gJI-wbAku5uTGnotHphKM5-3_CHhZfX5dcOHUkxPeNOVzGDw56X3uoBHyxoKmmtz_Mih-ew-jrepAEQIBmpNWIF9RLS1NHyAY-yJ3riVG8sDzOAPdqHIYVmgoVqP6r67UmCO3dE1wsWTanysyl4wG7WZNFYDyxWEVgYHsEJhV01r9AhdslPUFOK6Ef6VonJ-7QvMYVVC0Mnc4UM1nYdRaZOV65pH-9lSnItpNVwcYU9z4KY5-UwHTVSqAQXsHjRH0qeeeTSSSVcpfzaIRkJgG9ajCcs0Nd7ghn1vbhbHTrWgBY-amhLa6yonTCB7vYj4A0z8UpT03aAkbnswsFuSDndjBF2LhS30yF_2yqLtCQbdTYH-0-KRRUDMJoik1Y-wqQMdBM7yS8yuq4-f-wsGXRfdS9gu5AQQkH-43XyCFGGvHsvYB87ylxtbkkySVKo60R5nyYNhBF9Y7LS__vGMG3uBKQL1G6VnVlwM8K62EkNYAjndO8sqRNy10CWm3t3MyNx0167vs1GSuoZt6p-ETziYf8xEcKre1uwXqdNj2iQ740XBD-ybWbAnyk5al7VbBXcjeI7Mn7V_aXpinj9LO-UO0Ff__GgpDQJzvPKd5_1_h9VlTijn66lCNfT1lTBCtqkY7mVETSqNYjbonqlX3aHX_ORtvm-FrUayRDw8QFbLmn3gmImXpmPk6ylqoO5DNkd0Kdb07TguujdioAK6HDhakHwd-LL0Rh6LXirpJSyM0Ygy-fl7D-ttzb_Ah4pfMEer-y3sI6jx7cLILCCtWaMA0ybTR1rSKksBZv3Cfv6Ro8syL00x6BJdboq_EPZvw5RxSz8JlX5IE6oOfYDMjd_KshVY5t-zAPaMkCO1IwMT6zhsLaj5_PwwZOGUQtk89TblrNm9hUhweb5_rmp9Sdh7Robs5Nr8fXBx7BhK_5N541r9Hd82SWqtIhW-1baQT9sVI2RrfuflaQw4BKAj05ZTbCZ3pF8v0rEy1QQBy3hTWcCq7EFnszqnVKbrtlk1BITNV4LtLTROpPsQip0T6IZvLW91OgUHYuOZBJ5xaVnj4C_95F-ENljrmeP-XR38joePCIG_jYeKZrADnoVolaLD0ogfV0SPSo2cMqQ1gzQETFwAWH2UMIq6xqUJGepBC4DOcXYMHLgcwocda-xzLNGFxzKgOfnWd9-irFyd8vLXT1zFsAb2rvyF2_9NG_DAsvgyJgXLsFvKBsvMP14g-e65Jr53_sdVErRUFHA_1fgEKS6Hmsxs3P0B8n_7vJi4xF1TNTUG_Df2sWWeXyU6--mya5ATn0qt5BXVvef4Czeg0ECJP-UPiUB49fELdz7wdR9OeUxLLaAVGUPy27O1OT7K2dO7dwwx9G3PlFu-Jjs-iK31beNuLL4HmsDOq0PDvxmjzTdIFRzLSjWSq2eQhIFk5phtbb6wZcBfFLBmTG0HUtzz82g00T5VIeihSxOkzPwTcOr5jO-8DV2m4hs19nDXtNSJTibLfyQzIdDjf1jpglcAYMsku0AS6uzeVXJPE4TgTOjqmH0P7NNeVIibKW05IIMRO2Ce4p5AYfm37a77_HOzDtoUOtccIegigCMfZlpQbHWUX0dfo1GUTuHXO3eXNddbsTpBlYBuLItKuRDfYNEzRc6_CvwATWAKumUiP3ALYBahKj4DWo9tUo8PriGmofXhyDNr0rHjP0eIk74wYF8ShcDshOjbNbwbw9dnVX-TGvwyFaif9jFpQhk5i21Fqdvuchu8rcr4hqUPUXyUG8BTma9AgzLfEZ1d231GLvVS3AP1vko7veymTRPmOwTOFd_9tmjacYQW2_rKnt5nGHjvafL7MsXBvfs-q_zl15onHtxaInuphPod-kRqrtdbMlg7JK-z3i4mpxja6qxuxPDxZ2dEXUaVUPu9PxKaX8jfh7iWuF3q0mBijInnGajbUrB4y5N6X7CEaZIsh8QnmVfSoDACZ2ADinG1LDJGw78bVXI-bIMFi_ms7ioZyU1XDDCAPpgvHXii9ND7DPzUPnT1KH0AFLQGWjkPPNtVGgp54jKyeu-BsTthkBAHcbtqWFkeAeVfB2r8mjiBRO7oWE6HJWspWOchUMvp0kxaobcXaeGvnfKnbD0_jL5MGmxQ1HhzwVowayU2TvJV4OKiZsGveFrdv3mT1x8KMoW_e8na48yWl4fwsZ_TZkAJKt3KJl_TBCNIJ2fd3SIGUdCfIGiVQ96UU42gpIj6P8F3tEljuFv9JjDx-d2su7G3RZ2FBo7E6Jy4rYEicrlPAXfd0cu8SPHq4NgBO2RBlMtEQW5MR6a-P7vXeloNoeuM8GBp9zTe0Dlmp-oI8lFmYnfmr2ALm-K1FhoE3w2c4JI5fzSVOEYkCKGLSdKBmsyc8FPVMPlzp95HZUoLpbk3qSE0ctcp3GeRcYnK1xxcTJRR0YIpg3yyt_FHLxsCjIvtFiYw02cheC92qWmzEmnUWfKY4568G6p_cimqgp-23yPlUy3xYwyS-KBWJpBfXMh-7o-3EbBa3TdDZpeIp6_PZFijpRLXcH9huNdX17YjGpU-K_0BVLgsYMpcmi8EuzFzPLRlZrMfuU-5hWLiLiZ4vYVtDVaAuaFX9zDoXJFiVTTN7jQ11mJCkKpv1qmZQGd96a4sHr4OrcW4Km7EgGH9ZV-6C7PHfLklNmszjr5uIQyE6RLFja2gvKkRieq6hkkrKIhBnYevUsUaHMs5eSRBYM-xm50oeje5a5w9oY_VE_GNY-S6JAp1NTZfha79hS3r5QVwWK9AAdlB2RHxKFMen06-N8bcjXB-Zwy1qx5jdTAJznpYogDKqHFeptQXXEYWyM3n1vhhwzI7hX1iTlB5yKnacvaEEquEtXXzi28qh14MtbMGXa9l5kuRhLIIbGg7E8DTJ6gAXxWKbeDNN4ptaIwIk14eOgX0puzauz0f16S0k9bPtpexpNJpj08HJBq1bniPnRQ_Y09K77OKTJPSO3UidEDYt31l-flsc6QifMO0eW3Y74Cr1CWnCYkAnwW4EawpqiWmvIEUPOLL2lFwaBiNg-2QOkxqRJBLBdBIpm54iAbc2IcRmM7OcMEGIsMAXIgdtzMudLiHQ5juuWTU7KGx6yCLiWcPpmuyiDo5TcnmB_frr4IaXcHFlbuT8moOpSuOCWmUw5gWMViAPqYDl61vLt7_KuZz-PDdQ7SmICdnj6KmG9u2gOrDW0KzDFf661tg3J1posjSp-Zut--lOlMpDWQcO6yIO8V8sTAHyWi4Q_TqF2RIR7hhxvd9JjDlnHxoJmze0u71EtT_1FbHJlmR1oDANJFXEXnDlOhD-BZqNkHwFxLwd8EahsePmnMRYqXvEFXdHnwYk3qUma3US-lpBQpNp8_ZTUzjsHZjYHuaNHXRaNu3niPk10u9zaOgVu_I0En5f4pxTK2yEANfIsXPLyYZx-r9zT9fwDSCyTsO1Y6uUs4cPpJuIXWENX6fysoqrfQK4gW9CUoyKRoGmXieBrnu5vK1BepCItSK5wSkL7hWHrrMXL_NWGlFqIpSJpTKINg6Vw1yV6adUr-hgcy6raX_XWdtjc7utU3SbP9U8NQ9zDNKRsgR9dbuNY93XzOoNbsGBzRPuJ7SQsUul0vWJnZXNUrXdVJzrEbv2MWnaIXmVgtzbdTlpDKV9RYv_Mfub5EYTBo71cpykL9n5rJhbezU8ekIxp4IADSxtgZgnKDc70zYwsA1bi3UBuqV-PIsDCW4Whd_jsmkA24FCi6iu69pRJfNiRnGPQ8iV5klDchPzIbG1gf_Y7xHNYPXh95AfFUwd_QrWNiKsNIp5sL1oKdt20LYxuUe72O0rsSc-CprDZ8-kP-x_cvehyNEu7wuJwlQYOeL4tVcTyoZxm1jEHJ1hva9KanRaXQereA0iIWEFupM6yOVx_o_8njnL9OGuBYavVDp31D_yvdpjpzx0wHZbvyghaSwJ1m4WivrPb9iHmHgFDU954odpfoo9oGXbB_AJSBw5cVwqNb02EWjo0wpxdQs0vNrUx7NmBd3jDY5hobONeM0lnRQ5fcxt5SJyGSTxV5icxjdxLZ16arcQYPmwKgs5sFtlJ_n_eNu2wsskwbUIpqA7_aUBqd5kBkSrMY1eQYvaQHxessvEvwsELCH3lmRvNy0kbtetPtHpkJqi0D0VF7sqvIFd8dHYN77SEquvaitcjZB1Vd1WN-kXabJEqnrdWmWImT1Hoe1j93-3ri6SYCwKkW0XZe0u8Ip3qL3EH72PNbIOBEHNt3dS_arzJaRbaLmWtzO1NHWby8H0qna1D1f0H3Hd-et4J6nVkc1V2f5weUeuHBOOhMKtszu1kNK5cv6V74D5o-IBC1WRxEO4E274oeiBJNwljyNLUp3PPQe1lWjmYVsapXWudPNpOKczRFXNx2LXmebFXkGPAGCRklDt1Uwojk4pH2zoE8rkH5FY0aGfNZTj904XyFtTxWoEcOujpJh-CoEUPuRa6GUpQpjLalQZ38Jx7WCxMxxzhCNeFtQNjYI9Zl8guBpfLvl6zQQUIe6xnZwYxs6RjKbGLNyRRyr9ONmodPwC3i6sSqBYTT77iZjEPK8jrG-5_KY_XyCOgnt39bZhx82ZA6acJYJpj0T3lQLlG2YDaCjYNoqfYOvoC546sitaWBl4PaHsR9Ej2k4kOGCCjUWpwLRy5BYmwlNTKpZ96x_s-h9vZBW5ce0RqMYY7MU4WRUx8XNFWFP3aB4bSjWWjpr5InNpCj7L7UQXhhLngXTkqT-kUU0PCFqM9ol4w5Gp1CZH8HM4XsBjat49Eh1He1UIpUdL5Yi4sDDBZjyH8YAPD2bquWItVDXZaRTxnato-i3T-sYnIah0NOuafArOCGk8GRV8FeI5ODRSC15kHgrpiVW5Xxx_uOt4hCzb7If0OhtE_NZrY-Hz3PeQBqoW_4vyVLdXztvaFJIVnGw1qp3vSncpcd5DtPODzqLqEF3HAgOZAoeQ1ANHaiLUZ2ghy2nE7hzg4DW6S_AyOoSh1QOlhuSU3GGD6pp0RlNrfFRaFkEBsH0rLcKMTmGxBp1tPPRp0Jco9axLqzyEtgaWsRIWyJp92ORQYr9DihJUvHIURvMctEbHB1mZqvh_aMn4Bs694N1lktdPSax6flre08RBO_DWnzCmUWaeDUU1c57xvjp6UjpLUhxtPnLkKCmHjMONo0xYOnk_saixgAm0xEKO415s-WwpwJT--DOrhHApgHhfL1KIgW6UL_yOYaGPg20KVgw51_Kzp1DpzdMP9cGL0KrFlOxmLy3BJuyQwuH4FDA0pGsNA2Sk6IrNR9swGPmdMPL8O1tuq98MlUXBHqn20eujYWXynOywmshPgT6b_PSQ8rkasTC4vOjsND3OFX6sEGEDIYYfrInnAyOuc2zU03vaZ8Jkpgw5GHUvZyZ1hnc8Aicz8aK0XzeMAbml7L_kAH_eAyEsO-I-U-_fnFFzVWwYoSOIwRzv2uCJM0-1AQknQsaoM0MBUI5KowiEdw0OIqlmxFA17C1YAUegngJFzR-epSDdZG6n_occdxzxeFNBscRHkFS7DUkm7tbaQIvjE0uWIVE8CDmBPZou5teBbAF33Uzt9ynipVBzk-3sz3rG1nywO-oqnHn9zvUOyD1-AdOmvcc0n7TAvQ749fz8ytbXeKxlxJSHvoJOWr3k2DOB2_qp-3OZsI7prTWF2lUJWxf_K-n2_rOp_CzubtHXV80-_yXL1UIC6rUYRbSgYF8r0e6sMc9eWarACWmcAJ-j0qMt1mX7KsnihLanOSoNgJIprYUlx6urFGK3UD7nnEbVgDkDUqvSpog_80Yt3id9mpZzHUgKvqCTBcXpPYYadp9aqad4dhvaldRVXqKXZKjhBUl_91xdYAqR4bZrokUtvTmRzPXtpwZU_6s2tSCxmnqOWB1QD--31Amng2qHcmfd9mvjMaMnH-WmAwp5ES9PqhgbV_5L8EwID62jZkRN2CWGzylHwGChJWns_8gV6SeCH9hdY4S_TbckCtQ2O7jxI_Ghhqpj25bAJ2WxYZH8ECAS4X_DfVnOyFVF2DI6F5fEC7E_qU6AES19_fYoM9JMKEvsEkaRsrKVWY0bwZ-ssXnkppc2GYkbfBbYr3PhyECctfz2cTrGCiEsSwUBWT4AVKQEIWvl_JNZ3h82Wn31PYZAQ5zigaGB15J3DYsgDnRXGWvFw4npmNRYzLnAPJrLvbhqsPXX0fwHQFnxa0em-wpYeWgEbpr-5nsrpFFQX5E00TTAoNPG3so1vlCMv4n09b8fbyJI5RTHPXPU1ehpuhA2dSbCmYTZ8TJivLnHvzr1JOKOIazWOHl35NgRsHmSqKcuAXVzeTMLbPAkJ0tjJN62NmuvFTZC9UQTJ1jdkkYkxxW69kN37q_NYKGZnKhzy50Ykk40oWEFpJtb_sEAld7YI3B7nj7Jf-uftJRQWQuY4j5GBUqdQN5EAquIbdXXF3n3fSZsHKYF0_m6_ZIhasLnpbKhhQtqnz5onbW95LOINtRAb7x14zsIkzOQrwC4BBDfxzaYuVrCFqVeRXyMeIevZ6wDC1E4Shf-YB9d71OYtrXPQyb3NIHqN3di61T1nzk1AOuwUNupk8JxMBHRbVWwdRTWNVb-Szc3mc-RAF-CWN4ucJoyef3fgO7R7tBpx18OddiFoK3MgSpvnW-wVSJbhJVJY0L8jY62_DX274FCQTyZFgPsJILjhnoxFeFNkBJM7ouGpUrogAjdBc2wqMGLdY_ElgUqF5eXBIMzWqRSWMFxRbl-5bYQtseRvk-o3-pRomyo76lBISdiNwjY6VlBlyivSsKxPlE8QyMR9M1q3A7g6YaEAnYGOHgg_ONgR_DtUu0jCUjvUYc3PbmVyQu2xmmp7CLQXPTk2_U1MPWQ7rYoLzSvz6MkUWnApKR2hbL9vWBFTFxYhbCxLoWFV6d-KeR0TmTVKaZ33YKBnKtxU-qAKT_6oikmLKsbcoZUutGTgI3mlPuxRCfqi5Je9hy0TRGfBzm6GrLKd5tB4upXBmAuYku_Nuf9K5sy6kwuCY0D9fduJ-6AlE-9jZmJwjY66R4bcpg6sdKXpAFc1d-EQKGdoICltfIVjZYeTM_6_tSYSNJGJlgrN8ALjQpQaUJS4P2xPTRBwfO5W5wA7NiG0netUEB3g_9p7r0R4YtYjGWkGmCMWL6JOX731HBKjye9wfLuu9ccmMmDx252R4U8rmFS3vvcwTofuAzIjHPvLjCN0BBDNz4-ltPsItE5e9iay5eGfiXvgP4sQUJz6nF4TE5xg-MWJWAcVkoE7G2x1bcAPgl0cLR-uIeDCElosavu56Aet9eoPEL1E8XYEKi6Fhwv6auwEf_UTNTgs9E-thwQz-wCoQJD7TSjlAJI_bDj8TzQ_w0uF5L9PjEAR-MBFESq3g2XKXZV4FMDAmgPsm0bRGoJQp3nRdtOHsMdy--TWzkqw0Y7iOfN2ygJtT_8mWFeUPOANEGXiWCxrNI9lpeW7pqhKG1qL6_7W7ef1MvSqLF6r_s022whO4yVz_m1oBcI6IvCjlswRVG8BEMKxq19JvQWzpO1js0QLhimJpsWIrLV-DhgIkkbNl7bGYx1nWcRoHnd30QsSSi6X68YC0mjYm9UCjTFQ85x449WGtNSPBa1_Ht-hCXmZHTUm_By42btf5701zlIjeCaXgMp9Jt58t1HrD0jZShqHcUGJJaY_zeH1qj3kt4e6sx7T6gez8AMUZstykLKLmrlG4OMNOme5L-wvu08Y6bC8t_53Oi1GNSRmP9-1Vt-fy_sLAVntNmevGW1LS2MlaYvAGhpHz1qN385B2fF-4xMwQesNgtxGsBHIzO7BMKFv1rtqPHv7oLe_s-g3QmZSqDFokEqrtE1it6bEkKuP7OhdGTnjNEvbcWXjPLM_6Ibp7SgXUO80HQTY3yYt3C_MjvDdzAsMZMBfqMRFEkoEi7ysbzQSls--qUZo5YOkm0mmBW1gcuA2tbmag8aMVMnamUAw86UmMdkmjoyFlYy2dH0I8Gjvsfalk5qWOeVUv8TL7hQ43S0epkoYJmfdq2huJMdF_Ek_BZ2KuiR3k5C9UtWvBbd2qNM6i8oaw9o0sE2mqef37OR7usBsbTpVvOZ2XsHzyd4s4BP7VrJvLFCEc_igoRYKMcXjoPhwOGpNf3gDHoSFTHsnl3YQ4jaIFZIJ1bplBDOxUl1wumpgi12g-HcWGLaIoOlLntg9HSSt84KYQxNG7ua7QsnP8lSb3kTl9REiXhHCDqfTljgbQtqfJR6hrO2VzUok5Qn6pUJpk22FZTUgI3W6QOYdCmU4XEfSMmqecMW8T088UcCbYW1oq9ORktjAXOMbcCeSXftqY2Wpdx0rWuNY7b01OTx3IL1DLHFKG7NoicyBsC9tGYHFfDeoGndpfJVR3U_qEF6Sh3wqvTO39y9gXwFbFOETM9Yot5m5Gg6O8oiAvUpZrXRNK1OfOWeirnO7E1eVBWGtCFoQ6msN4HRMDMu1Rj7NKPQwrw2mxLySipG4s6MMeLBe24FHjXegErOmamXqdlR5ce4CxdGhSVuOcz_lnCiSxmO5gk6vWpMzOq0E8PHF5ixAuQjAA3DSCDjaJTvnQlnq81gA6Felb5rQ4PJAr3CrL4YPR7k8WwFjlqKg5uT2RjZ_b5hziP-T4V3GK7jaebQfnovdTObezs7j478ZkMyALcg-FMVJ4qBHVLm3IYwY7E24HqXv5WTIdDyoEetuTKvRG0ZCz9P7ltE_hnc-q8JXHIHXlieC51xek1ck0pjVUzU0iwXmAg9TynmKZA3JOLmEa51E2szbOOx0Gqt9b4tAUiBHihhC6Lx_IgLlLDnxM_gHH1hvPX-umEegMXuSmwHB4QF8fzpNFl4-9RwuvoRr-dPucDttFPp8XtIKNWPtLD8-1TJXVLIVol7th26GiOuxvV6anQnBvNy0S9U38W114VyL7ixzgTznegUtP-_7IySqvlbXlsXr6sl-Z0h_eFqci42x0yR0-DZh9Wr135wWdPRxHa1xT34NtRGYYrHLqcMz5Lo42VVzNLQYTX62_yx9n2gaFgdIRCv-IAwf2b2HQw55oTnSXioWpI2Z2WCqyLwYksghEtGYZrzBVf_Y0Jz7alOWJBnTAtGIzyyFBxduvzcjcrHgGhkEKLWK_QLthOStJNYN88PGFibY3zsu5yXb6eTPMl-JAaBTDSndMPNmw5S2w_ykVi1kNTKUUOSpi6esRqeUQ9sNAdxgVCFrV732cXpApLXZ2FocvK53dR0sRWlMnSz4ELPmC81AOBF9gstPFcJfnS5P69ENZy-K6VjSyg_f-vE_9ZDxZpDHISxk3GM4BXciudZXDOJNohKy5UjjZQQFke9ExZ3_6EWFHSNCd1nvfvH-0A4XCADBQb7aMYRJ0cM04TW0mzxNyfPxJf19Z9T8UVJltfUaLhZN8BGCKqKWA1M3nXl8_lqRuh_PRtvEWSUJdlHjyA-6qY41M3otlf-mf3HGdlycm7PuQ6tEuOVTuK-T5yzrU939RzKFXqZCydrhUoljJ9lGf1MtYa-WZMCHfefuIEe-U16x8zqphVUXGkstC_Go1OiRaiXKxfmML5pY41_czBDKIbNnnT5execxuZxisXqCKlQQPKaccvRnWvwRbTrukHBUbshfzTHgjwALfghXc7VhlYfMD223L8oe30dXU5Nfrh3dY-F3EA0jdj6pHJZwhWh9tdcHf4BLtCsb3bJPf9mMQOetT03Lo5e8z814l2TFSH36mTsNUiGuOk-LXfQxVjhjaKizB4v_HhRGMGXzDIKoW7ZI1xvbi-wa6qQwAIEAtMQsuWlH-92JiAYc2QF5GcX-59nWZDh8FM99H1ndAB5DnPeOHgSCLYZxW8_34rQjaLZv5YWosP3cWY2G-9EUYNMYRV9cPu1D3GGo0yYoOkbsRKiPt6VN52R33SMjEqWnao6YVB3jYIf8fSY2yVXmrXSO7Nakwqc3m09fNCSG6PryOauvl33dTd-IdBTePUN1s6XGihr1Gsc_6z9AnQ2YqsL-PN6nnxF-dc_uiUzXVKpOaLKhUh_HM5_JgfE5LUyhJJ1ScSBFi6ndTXfdAv-skH3kFesd0UvIN2CbNlSUhGfAAkIxB7TIhAxQg5EaCGa56ruqpSmyK7MF5IP4dAJdG67P-QUPXb0fkWPC1c_78i5gbIS8isXc0WqRLddKBPQUL-iaupNAwIoSisQPPW25bbzjrTYHGWoTwM4rkOO5lzv3gUKe9XrqmT_AxJ3_0StFcZZuM5hH4iUpevs23AGCn90fTXo5g5cacYxU_cZtWi9NFsQJk-tMPsT6S2XOLG7Dl8OlIucILOls0D1xMm8zPOaMoUa_WSWxaUFoDm9kEEg_Mmps53mnETdJB3ldzoXMDOV9Ao0d5OouCXZOqG9ESuqWtmuaXrwOu7kOoKalqXW7Qjp9HPGdsch79Yg-4XsfrRdgNiVPVlnEfvoLKgyq4Mv7fOTgwLsPChrxHhMK17WI18S4FZTYWUBzkQt30UN0qpiUexelOw_koRt8uNxf3Mkp6I3gV5gc06o2eYZ3z2dKGVvHpJDce-DBRaAoduVQLIUp2ypysjPHnps_-OIKr1OkYjjvz_G39pD1AiaDhMoziHE8u-mMuKL3m4MYPbX_C4oRLoZD5nzsf7pJjD7dOvT2UX95O5xNn_4xr-_8Kh7Hz8aQZVciTxvkf4GxFW6f9SYppemcWqGNke4InnV1GXinmQOaXh0pTMZ3fgCVbgNROVqqf2yxeWVcQfAM73e32mraeuv7S1EGMw1QQnYbSTvBa8RQipc_ex5H7j7QOB003KTTrCQ67yFQ4_GHW5uOpndcC1lqUGOMroEMFLCNPWkqXcIhV8MazKsjZP9jtOTwUJEeX5o3ILU_IAJW8mLpskFzyajQkr7KswlS9pz0321rjcdBAEeh1vxe6MjsBodwAdcbGPWZX2-8UBILp_AOf53VNBVpg2ttbwXWWa6LABDec8p63rb79XWZBC94FR3BGXm9GIysLMPlWbPv7kdVU6Nbi3fC4CC4I7NCox6odBnE6RAbskz-GC3mRZqBwShKJad-bvUGWTemHnVUNiEIVlJsmYAJJ_xUOJIU4EPzwy4-OLVPv2nbEK9Q9Ws-vxSzIgXBkDYnfj9-X3sPBgnr1GHJ35f7zrCCfRz61aTjDe6RcszyQL5af_-r2PKzaHDV6zyeX75pSS2WwsbEuuDtomyiOQT2EfAxkIv1thRBXORXdkEt3909EPAaBm49nsCwnQDG9of2LiQoulqGIOlEzjrsDQiFU4RecqF1JUuIC6DKLwPRWcfdSJQqHlO0H63aQ9gboE0VNj7T85a5aqYL2qIb_VVKsue0j-kN7AHvXkTU2sQaL351T8nHiRkCNz_KXXGOH13-KeG6f0pqRc2d05Op6gJEsnJt1hIaXWWOFrHBZQ9VqxbiwhDqAuvK1PwOlm6X42jaimZWJhcGLXMJSO_zBjha9DFRaO079tWM-uLMt6sWina-iKrkxVeyjAYcqbI3XKVdfm_HcarBRZh2Yu0uoXY9usi0GZyFKW5y6Jm_E6efKgTMcZfMKLxrcLoAEuTuC_2XyLAHFrzjkSxxwfKV-HASnpE6whbgFV9dKTtNP2uF9pGdK-0qPGNrZPlVQhk9zZ-AwFN_iZnSeyLsVsaqpE-RpCFKWryknvYcGh7Wb316JiTXf3sUFOAvuaJikeY6U9rnG4fRUS98rfW-9N--YNPPHhUvdpkJk11LmIdVDTExagBfDLzdNfjEHk0MqdF5dq8Sy2msHqfXvZmqEutWA15L0WKJkULYB9oPjlv5SMO58mNq6iE3KmNdMn0i1XKOwdaXaSalDc0pqQ54754h3_Zzox6PCq2H_IXCKHOjjVpqbKiw3XLpU0iaGgA88tpJf_7Vn1AnA2H0jQM4bzYdJGWd3uPfcSewweckD6_VWVBZr5D0XYFdrSEVCg5JeeNesZtQipa9jXlFYi9A3kSXdsPy2F-_v1nGXVu9jG6ux8viOQFkbEf5o03GEGijuBQ_dX664I_GA8FKBjucvd3O85agfmUdZs1WInpTOLFWRHfdwBYG8wploOsbfYojw870_FmfdTEY5NI2Zy3azhbS3tmixS-ENGwwuPpCTTbGE3CYlIXSvEyoStJlFG7oTLAq2rqIjtJ-5e1WjzkKiMyaHuJJP6uSwzNeYv8EQ_m05B7fO1YqmCgxakpKd3Fm9LyaCj4WKXQsPRvjM87k7Lu9gOG5af6zEMWLTlyVq_xiWSvx-OTpzjlTYi2fQtEDDgZTvWglsdLfmLT3cQy6_t7g_FylmOd8obrpeCZnzd_i6y4FewFqPXCGElnl69OF2WWMkeTzSU92UBuXLKfxYw238ddWyKeaxxA5Oe2u5H6aM95lIomvhGfuTD12jzY1lYAu3Cd_ronU1XNgngiloDeAW-AkGD5D0vPEESb6VgS82NUoFUeDx1QPx9Swwm9z5wNIRc76C6SvBqSo4rc6TU9tDH4llpze6MoB4y0Kj8kiU3gvyiyxVkviK8idaRSHsI96wZ-gZp5cw3drJTd2ZypTff4lTaotzSQ7wgDBKZG5UTz7N5TF4yBO25m8Jkx8PP2XKyXjdbPTIZZj7d-hPI0D6kHJhUyDJMyRiP4bHsdGugxc_mpkasfxOWPg-N8pLQ-P-WEfEy4UcDnbo5WZNDSdbrzrb4edZm7irrkUAI9S6zRxeOkfSbDkGpJMRmko-aPkIK4UbdhLP8a8wDmWuahehQaWVhrmv6INmFEAPn9AGWats7EL8a7e0agbwN2qXPzt5QVD5zwwQ4Oho6BA9l0IkgwV0UdWAHV6Z3kBUgNkkaGYqAOvGOiwdkfeZT8_zIYbR_lB38xyhwA2OvTFtAtHTDPAsoDJ9QabD6TZzmGjBdzFDgjLmis-SRMoBE_rGXKwRkujWkm9aJIUfHf81t_YlwseIvvGUcCB6_18qwkmCgh2D6N5azAjsIvUL-ZowNAZcR1dcgcIrbWZnRlaQ4hNBJ40uDx539LDXXe-sZtnFDzdIU5sjv0Fb7qNMWCZsvoG0V6j5rD3IDPCPwq4FbtGLyGZVY49U2bHoUAMZpLICwdpEx7m27kZn2mvcNplsx4j-KRjVxcPBCNPxv9wa9XD1i7szFxvQuyMwD0gyRMLE5vBUzA9XU-Ebgab6HSZWQ-BFTT9Q_xYC_xSSgoQQB2XMjE0nrFL7zf5f-5MMv3sxKpRze0ttWegvr-sJpW8c4WhBQg7WqNhEALBclsUXOlufdMOjesHKVstlQNaWnyk1o54Oc5cQfWjGSyugPXwRAkeiygJngx_0XGwIvinARslJ1-f_zhwsla1pbmqBf0lyV4H9hmHtzPzPbiPvMR-xBS1U9n67xH2Puc9irai9ktWRc986NCDqStdbTpJqZ_KNwqv0nchbnQyHpAK7N8uBc9jUUsWbv9Y2QosRoG5jMC0YyUVCpY5S32mPSEO_IggeIUFaHLcPbGCUUOKuVuSpIz6pbrhCMVEx04myuRji3iXVVsJY4ThHetOFNPpnCQt9fIceq0Hjb5njxee7pFPf1065nRD8dKvc27sFwRdRPzc19Ao1S1VnHng9qHSv3siLB5oHauHP7LnJDxa1E64h9nl_fkdtmuimhjuXObt4SED-u2K2q1S15G_TScDWAh_Ab6LKT2lcEpHcT0Z0t8UioniffeWamQ3nODcnm5LfwbP2dISwKfCKlpVEQPM5XEfWYv9nhG5mdoiI6jNYAtwSu-VMK6rCOLvE8Ww25HP01SiT5lNVkvHobkpbu43UdA5T0gyCmVL051JuJ_WZKt1Ueh_BviRuOaWIOwKk4C_3HqGPsqK7O_yy8lHmK3NfHZFtXYZTnj1Xb43BwKYkKTIamdLiUU-iF3eyjhy7yI0y1X9O0vTh9sH4u13kU_DwBGo7AY2kYJmnrgBXGiLTTzgq2MbUE-mDq2IWvKCmvc0gVtcGXpCgKchKh9oJDoQdf0uWBDiJ7S4er-kiZVrGbeFEHzRnZ15rCiBrChBLywstiOy2uVXqToqOlWulxJe4e_xuS61SIfCphUNEucX7JbzOmk7LJPDv8RMRblD1pWGDFNbOTaSih4p_DuG1_YRSmJrk4TuHKU6eXtyvd1Op6B848aEOG76_GY7mBe-eRGqhnZMzQOd83YhiFAmlFoICeHt1hvzanOxXXTuKCOctxGcFulKkkjW1R-XRSS_6gRk7h3I4l4C94vTkJ74lczy6K2gS--FPkPAOqendp3hd8DibmY1K7EZ2nWOV7SwkXIq2Ex7WmPSTWXJljECw4YMUHeBRXIJ2jJaRdKU2yc0UWYwKGJO6lVuEIQra6QMe0EaXb6V3VXC_cHB0sZVFWRGfhdkRJR8R6q9m7QPHhnnymkd7dBSw4mTio0lMCCsCUfoW4EP7kJEvHR3UUXnHDZfiO-_sWJQs_BIEgA9LAL2rdUr4w4eCgRUgJ_fTD5LBXSTggNXBKxe0dANDUOf1T8OKr2POYi7LtiMqsJJ4iCVpZH8pQg9z5BTNbxfbfT_6UTyjgezIlL_yP7VlELM8SavYa8T5NIqsBML8SmdzrastWGpqvN7YGNl7S5GVqdMqr9F8Skb4I5IWUbarO0dWRTmAC4VTW1CDsd8D5c__6eL4KKDhJjjDIvRHgRqfvYXnm_69sudg-IB-1gN1vP8Pl68YCDkm17q8eCoHgKYN2WjUS5BYvhWkGepXG_oa0RH4wKoVpoAgwWXOqLfw7OHFv49U7ocBzM2mjv-CZYDhjSZgWpKhixNnnU5Ei_L28HgPxnjsaBjahzjeo03WKp_hwBS9o-JYo-lc5iCu1Qv7Ob2Fqlx52xuWg2FEa36HXGYKhG3ekt1DJIRm17iGwYsVQjsqy7ZGQxQHJ9oLuK6rd1WyWF-iF2C6fMqqBTWTVmqQ6xDhBeRLvVXJ7oKvNcUqOss6D32LM4NdnFMS8C0O3FrFA5cRvzM7O_Iw0FkHnxazcpcXx7uYWaKpVX7vAz-6lPQFnU4twSlMruzrB-kkQSd7UFwPrYeUT_jeJjqvFk3Fb3S67EwNViIFH-zD4iIz2yVYIV6AFIkYeKgS29aI5obxpTPHkfutDdO-SSHvQXyawslrGpSvW3_omlzx8kMYuH0mJW7QgwXD8-bFZpug-FDeV-ol6MdJvk5ToC9OwXSj-WXitc02JdXNh5pJNwR4l_IM2cXNmHC05ZVPN8IKPqyyOrtPakup4mgWOCLUh7dHKchB-HUtlHIGZrPI15yNlTIi0IugolQsItw_0DtcCEZZlP2J7H5HU9cj_XdIEsSz4DH9eCgJrvwbRt4F-Qx6dDXuQK7-kbV7mmsWtUmZ97Zb4nWUzNqpTL6RtyXwWbFY4ccz2rV-QpzCAR4aNYBfad-TcTgHApWnZN_4JeWBppMe_eFmQO24vTIEGjNa24H1N9XV8Tx7dZko86_-leXg_rlSR7jTsWLkLeB8XMpGDamkKPAwN8wHegwlmBElzkOfxmjTMPtA2kpQJKE_xWKZJNBltuW3GiRr0-ByLEQFK1VsDRb-JY-EcuKJorAWI8YSQGH6pZHpilf353AV544DZnndH0OavVe9GqB_Pt1HdSRhbTO3PGSehXXLlIAMvVWqyC6Q-XPKnj5k9kZ9XJlO-4ag5sq_HOkN2abnrTMe-yP0jP9zhc6n4AMl8tYuoSjwbg6SAWxA0K-_bWqiMSxbkrH-DfMoQrtQefBZAZswBRB0doPEEJmCo8hfQGEM5SzKPbal22g7n6qRryVIUqGXPNB-Mj9MtYf9ajcuC73igH1Q3IW4L4GfpH1C0XPo6Kavo7vr8AFpdbQSSC7dzUQmEppM6t8rxIlUTTEZf5_FKTGe-iRo4avDZNY8GIB73mDU5BBhzswN_C0_giUd6hdZRAaLJ7F-AUVlCOBik_mHeblG6Sl-AEWe9RlnYWflmnzLedtVP00Qs5qLIwp9h6LSjhY66Hn-gdUMLc0SMrLOqqBv_Ki98saarx9rX4ZVkvoggDZCaT_UO7_c_ATQ_EK-134S_BkC2OObg_AKpvebTWUEwYexeN5d_U-sX5uMVVVcSC6VCR0iuZ7VHCsM5gXdFAcI6rOf3i0fmo0IHZhEMfEHTndP6lQlFsDiP4chXW2qtRIhfDSim4-tvsdDp-g8vicuR8wq8tPvQw6DnWkta-AkbnxhKFsAdbLmDVqCcRrjM82A06twJHjWS8QeG75sqRCz0AjJRk85DtLYC1Bh0Q3zXRjthk7tvhtBKV201ZKRrvr0hJD4UPhiy6Ve8jHaNPAQyxBkgfmFl4ifLOXfHqWNIrUytoSVxDpdDcbMIf4Wk3PuDA7KY2HY_i9ee0RqZ4DT5IHnG6yunTs9rfNn-4l1TvDOp0UgHP4uhJ9yg24A3kgw_Frnyj9GGz0uOoAkJKQY5UbWd8mg6LGqL9B21-QligMANXNb6oOHd6S81_WovH9QKhO8IngWczn0l8gIRalxtDZwCtLdQM1vImEmBxVA_bfg4spRYQjG4I3r3-DwuAeyeXItW8Crwmx0VVCqduKaG455pHjUAe8s8BZ_znIXdxFtnkgD7-DBOnWKXvOwwYTJh1PxkJRQwg6WVBKwsDucbBctPAj2grXEEyaFU8x0Aswi5Le9jKo82Jqf83OJlVASk-_uOAIk0_fGijD5v2O8CjMeQ_upw-9cOht9MAGKZ3lmugbFdux4SB7DRcIE49937MMSk9NZbAB_VtzA6RR8QEw7_7eYyE1r7ymXvFh62Ipjw0yuYywmm4egz51A8rzDDrLSyGjodC0lDQA_ZpYYS8Mf5vUQdwlurGyMO_xXkm8Jw3iIm7Gi_X4o38rIh0pcMG3Krt2Fcym1itOmy7XaDLb4hZOuOiFu89e0EUUj9ZpxojKe--CcbsGOK3lMAYSjh0krS7OSunjnHCrh0eR6iKffkIrHHJRMHbu6WbQZOagwf7nbs8p-18PcSfen11ksUYdZMxVq9Sakv3QxC_dSTLDhwokdaL3XoHuOMMLGKcSaMZMY2trv1fdhQD355ou40XayffyfWowm4s1zzxTJbTesnFmwPqBAmK_uPwad5FdFtUQfLuacgeaAJvWCZZgf-yOOZuOpZlm7XmxH7UdT0Jbx254rWyoLFlRuUiHJFV3zJHQyzb3A7ISeD2-0hL_UWWM2WMv-xG1k-znSALbYKX2Z9kmxmI2CrCsf8H8LWALh56MpH9kv-WeEfqmFfHRa-2XgPWW4N-EoKUUokMR0gXTKYPVWfSxUwKlQnt7LErs3yZe95NAypdO5mdqgOsMyki1smXXHjKp_HOkovI9M6XThp-A3nINzmo12_RcdaZ5OmkgEOkf1iR7Zer3QW_4gYHQsII0949QGMWBv7VjxrQHnxYnwI82azcbJ5Phmz6sxNsL10vOKVTE760l91bKB3NexLqxUVc4Kp15QLKAZEsqm7AnIlt25iYX-Yj_qnPwOyuDlHcdbRl9Pi029yy-lRnzoyQBWQ8JjQ5uT6IZacNez9gWF4HDV4_WnDzNH41HgekjALHwKwnWOoWToaWvGABGVY58CxwSwnWogbEoM0DYmydEOHPc_EvnIsl7i32gqgbSedwYrAwFYAlrZs0QCQEouYgVMn8WFUXNxifICs9Sfj1yahVOflOQYK-s5iJP27YEqlWLP5m1QIx6i0VlyFB_4odxppsIVO9Rj0cPnVuCS4TCgSoSScTOeY_t6zF3sT_rlEk1pnmzt_FybQcPdx20-xT1ew54Y_hubIQIkHtmxkBXuyuG-vL1l7O-FI06rbdGAyP4rs-SqsEds-db3Ti8znSibuCXVsSXgmbaHm6U9_FhHca9sisgrY8JU73JczINKZsxt7EJjyB0D2ouKmGroJDqNba7LGePfb16wfujZp_W41FNLkgeV4rvTJiKLu5iQ1W7_XZifd_dS1MkjsXla_werzXCS4tYDHFhia4rYEXWlxhs4EqbMxUWXU6mPPauTRXziEqCeuHfpZlree4Uy1nmw0wV-OGGIO0A6wUUYNIsRjcrgzQpjd6XABptJxlT06t8hjEYkeNtTFsc5104_1VTYLjpcE6GaRaad8TRQBLOxEKvSl_IjmABuqIC2mgSyG18Lrl0C2LmCJOksAq8fq60xhnKJkhSmuqeTB3fLYrmDTq7TCDKS-PJUI5qsGHIokUIpIUL7Bhgylhp0ySRfP-pk_3UhUYfyiii8i4Yl7Xi9OL4wveQqkH4uQgzpZOGztgWoeHvTVyAZvT5ROzGxr1jTYUfylXyU5FDU-7kb00XBrAGj5TbPEe__0rPthHzfyAJkxQYSbhb3-RpKVMNipV7fkD2b3tHoaQVcEs7lq-9ZcL7Hg69jJtCN-2BnXekCPMAesokEkRNpBc3AU7SB26Pqxaw35bzNEyJpEjvS5VbUeLCviqjMuolZwrip9Ld999yOe9RnJ_oslhcR-Fcqx8VeClFnOR1qtZFz8askKfTjbh5DpzGY3SvUq3Sac77KH3lFhBkQ-_Q_ahoB5lUn5qOx7GzkjsBRIwy0l-CwciP3xrQ2U2NtxvTuXkuoCL9kWatvcrA5XE_yK4iQ78xIvVdY-9DpDqVUbxswUodH6fLnIvekSH7dpJwFsbCL3nF2wRmxW887Q8fI0Om8cF5knNwkvdYWpJiiE043q6QCqbv0YMBh34GQEEEJhakDFuFeeYDROV2y4CJQA_rPsfM-UCeMumkuyCQlau8DrXYal1mhje9IgKNchqBg-0wIkgD_Rd-mFHL2d6YBfMFZ1uCYBoOAY_QEGm5V1ywrDtLSaDIWoCMISNNle3gVrjAl4b96feUJYNYPd-o6IEEupFKhRiiM0Je08WRJknr9j_ml_WHQF-fuQwhPz-ygb6diJYaT-4gd-3ekXKIJCkR3jN_3MXypiT4bZ355TfdDZXijudwMI7HGmOPnA2DqLF5dpwn2L_z4C3jbBlHNJLGKsBPBgvjDnRoqKti6T0RzFQbA0CnUd87XGHNevn5JmM5qcOiZSDSn1E5GVFzTcaQdJvHCQaiHSATdbbHe7W4zXyykv8wMrXY_cbwS6melx0tw5XJlbydw_6a6UwSXS2gNMjA4Sa6A-yYn9LLP8Fe8vN6_vLMkDuhQCu6-BNPsDV2n3wieNKoCgP-cGVMA0cMS3ruEaV1O9vosSYfQ65lUv0dVqsaufU9ygkzpuDAWYzhCtC9w6At8l4dOcwMWcAWPvrfFwHSZ5XPI2dSfmB6L_m2PeyI6MrSWwXzZetOTy7yxuhlkNRt13bDAgSiVbrc18KjKhB6WBvnhXoWLrnc8fwo5YsBVwapLZwEU_tkAoBCCT6H0LSmn_9CSFA65Ubht7pMFkHHgwt4ySLrs9YJ6LtPG8D_pWzdH6Jh2qx5dIs6ib7jPv2DV9s23yaXGY_Zi2TjlGDipfMTgJxOCG0DCN_KODEv2XNZUvG1InULEmUIcXUvfYdRFYLqANPyI5VEqWX0TXY_XE3JCqafTTfvYonIgWupdv2wGT_-0WrfocrM7PRHVHFpnW3SOLrSSO4qMZLsC21H50P3B-uzg9HQVTjTN317chEfNbzoDEiG0rI3hKVh3gTn6SpahUSRWJ0xzOA5oIWFtHCVmEyx8lD-9xOj9zARx8B-fbs1sYIfQdByRDsqz6swql68h4BGz3kWdrqnwbQ4wvIbYc3rwS4hhq4egYh49958dj1MbQIEP_uf2eryX9yc3Gdz2yUGm-T16bGimDU3RLrwddtavMUGzjXHYBP3_cnG3xlI7jjpMeZBhVV2Aa4CiR_qCEM9Xzz6L9KYvbwmTImAD_NE-5FSDXvXzsjuVnaP965NmCu3fTQsUkjahLXDttulFJZfk_T25Hz-s1cwUmBTCPmTLoUnnckiBFwVSzjIedZgxKIXZaxVtkXPBmG1_rQGS5Tqm0d8UaeyFyDdzxd4JsUky5sSKvgfEU0EUB266bIi_nvoCrZwC8h-8hn5MUlTu5u1vpJwDkhc1-WnXavMWga6lXBmJv5a7GUevIv4RfwS-vI79cooJtfjxhNryseZbLzwfkUhbn_pZDtrTHSPmGpoG82ccO_muo4US61ejSXPv3UfDS0MpPMmO98b4mEG3DpW_44pD_GdjLj7xkBbFXYl2KCDF8gCC7pPEW_NDw1CWf_Trs0Qahoe8FXnc-AC9-ZszzAa6GtSc91tj-EoNGgXQBnttu1k1t3VYv_co8wLDY8M9EjowDoWdjPlyrLYHL8hLTV4ptnQAKD_iH-08J-jJdoa7gPx2uNUZANZ7CcsgX1ZDbP6zqT6CxBiM7VH_oteZJvgaUIy6sw3bayXJIdWM7H8NjqHFXgFsX0R7IvXsDKDtVGmKD4l8UnVfSGJPWx96s9kOPnxk7wHvMc2je64inxKbJCXYzYGDA1L_Tjsf3juB5DosPKxe3W4lzUyr3y43_LuTVv-K9hpyAq_X09T_82JbQbpjVqAX5TB6HGLXBHRomkjSw13gPtPyV9b9zPSVsOBctz6qnrl3aZxU_VGDBfFtrcI8x0QCB-r4ZUhSt-R1dfj4yuJG7K6ADgMX9MQlveEtCjILr1hZAl01nFpgpIjvqC3NlmR3pfX7IL0fLDgEOstHgeZ2pcgDU_-I2O6GtRKCmj6X85NMjB0EWb5xKcCG0fgx-IwgoJlVAWMpwE39-uVf95QL4iQANJ3bXqF0aA78h5by6s15UWq2Ycrx1n_wNB6Dtkj-DOVCPHPW_QUbT9IUgqkCnl-MfBMvzbC_Zw9aipw7fbdTpqNYwHaG8yJx8WqwS4R3GtMT7eCXVBmcbeHuZc-iLLPLqiGVXdSNGWtBIGyKxUV5mH0529LAq3l22bQo6577PfXQdWTtABHHdnllT3QR4nR9cDmJoxSM1bPN0bZTCF6I608-J-dnus2JlQ-DQIPBPLVtKItmB_Dmu2mfCIgrcYYBv3T_N0CiOIgby4n5PTSa-OPw2kP_xReZokrUPnItGJH7QQ9DMhE_mhUsf90S6T8Wuze0Sk2u4ckZ9YgRxARiFXcHF7gmS01J9zKvJnxHtOxIWTCquPgauNXEaFWYHjIiPBDkl7fXhGAZORfD1Em0CxvAcOz7ZmVJgEzkA2C960vMN4e52HwyXKApm8dIOwFWpZ-ogB8bkaI8FBLk-CUFiqMYYNmgRQfZ7C5mDlA8bWaxxSWF5XEqzgNQw-MVypcqGIybANdcftSTpRUhOiwuD8GzV1tG9YGs9NKYZMj3wHRPlBdyF08B9O5jwZpjATkVk9l3L21FUvA40sv0wQCwSC9jA9oVw3MiYpD_TtpB_9dKtXScczhuOHWpaFVTZ4E9DJCFS4kfzzqMFiyhAvZKvWcF-qKhi_FcOnsHrMlIdjq96RzgGbGQyzzeJrUmSbLezObzph08rEMN47twxgA2O2l7jPez6ZyYxapBJdLOmUdaydFtTafuuir0XdgSR6T_AqCSp7q0UVtRmc88Tn5FF27yQAZ2d94jd1uzmO4UW1D2vw3vsLBlcmwx4SLHcq9W8UXpG92eDgx3sZjnFrgjOY_2SFSActTIJ7qJrizTxSYz0Mp5Z5OIVDP9l6OQmDJcHFxlS85cuPI3h3DYS2gvT4eBmL3APvOVsm9XAJoVRSOg0KjolE21WY8sOynqGMA8MygvcFJmoPdv4B06RH9_nEQ8pDthEUGpsv_wVNyGsl24d4yfC5y74w-j6hXkycEHDsEdxhqN0pT1e120qNxQidl9S49N6i5b1oMywPWVkndl6IAt2UZt3cXPJXFOQ-9REVcpxmwlOYRsclXA4iep4jGHRABRkD-bih838DtyzfxlXfGJpG0KMZIE9HFQe8P9EpM3kMFmeBcPuKKpdXpNdxVP6Ril2dXIfC4YnpEJaT5C-gv22Thz3vN2fK3mPz1x_9bzTiJMlcrLclRMl7NY-LSpOmFIBeOMcLge9rZ6VlY5ZzLvkAyFuI-hv-KDbWVBbq3NMZbg5Pjtg4gzCNK0YCGIJEj8z0MlyTp6S32jgXad_W0fVyjhtCN3CYFUu1KoTSMDQ995nhkyJk4HX9uFdyB8NZyNn8m8eo-TE8SMMzWmes5twsCSTWNTsQwLsdgQxIDRvOux7FiiTKRcrd8t5f6C2EJnAd9VffCtMe2FDcjZ18an_M44BRAWqaIuiNicC3rw_l1oLfxAQGtoHAOphMUFpPBUiFmWViOkwNov9jD3s9fzZO39JMTqkTKvrxGr_eyE2Gi_Jo_Mga3ouofqu6q9xlvWgGMAf9nO0hXzRdC3_Yhm6jj1Ny4ypsHNJwIRr2zZOfnKGLQGxixO4oGx98ummvJp9ptSLudakjh8vo8lqDXRIGGmbw_iDi-4v_5Vgv_YdzRLzSMA1Xwobzs1K7xW5okLdKh1TwsiFhDI9Zjn1XTu-gfkcWHO03UYBAltnUkUhfxsWjVHjbBNHOj-7UGix6Oa8i7gFCRyK1Ye22l4A3Vl0VB9W0sxV7CbrfIyMizNUMoPPT7Ff0pRzduH8AVvYo4-fYtc4ngkC4hPuP7SNPhPDrt20y1fMgtOurXWUja-kI1NsJQhbHjcbBoeDDsIpLaJ9iyMqm2DskaI8q7DrYaZUNlWokBahq_svyx9oMpCn-DctnKrkJKrOm4AHXvW-IPX8xGEUZ-1GZsKrZuyte0D2MwrX31nMsxiYwSSS_eKjGhxvpN3xl7TAaYPsKAdA66fkCLmbuBIiulS0Qxu0Gt7qzQ05iNTW1xqrLpiBMA_yUmM81pcnjdC-ngGkQmys_xZVZQzFeDb-EWbmeKof2QhS11n3QB1Swt11WUT0eO2qgK0UiO2p0CbCjonx_rQ8aYluBBw0d99YGOqc0EEWtKlXqZ2fVVAMamxqmvWkfxlGmABPm_miJOopPVClC4LyJuJJSEa2fRecTNwcBzyZgbCFwuxkJ8iB05t4XeuGZKkWZZA17R29_hZFcd9rg9lDgEDBhMUDxZ-qkDdbLSrd41ZivWDwJZgxvxpxInOSjBSg1Pr3gPXBx0C_ApXkesK9McZfKV-ySiNx9PtrQ_Wzy-qcSfEb421mRTpDLY8ATppYJ0D2F79mWwtqEW7-DBLogeAEaNBlpZFUNd-zPBqPZifkvJFtExE_DM2XqwKZETV6T0GhHDUs1kEdlSRSXZqfR5m0nUtrcr9WspTr67c-gSco2Hz_2-8osJXZyJe9U2XSllxELFe6LBl7lijoPyx9row0dXaWPDYtsf4O1g3DvPrVCcrkcdHI9jdmDEyduTOIh1JqNtUZyXmgfY5fkU7ROiVhMueKdZqY7sFuJJfHrsE6oqsFmad473r0yMTOn4Bxp-OyMuQ0Ei8dD449Ax4j4t1WbhVJd5Pazw2qZio8C_C5qRYeSNtDrEVwHtf2xbgZT0ENi5LE4aqRKuMXI0ayWx-mEbGADAESzp7sP7q0KvGoiTLj14-wGeCjie0Sg6oEecBhcvLbQ-8uElejRIuyuh97jOWZFCq4VcMqg7CeJveWtmx3AFt-iWdDfa7YYcLJ6Vs6ksu1NuYQowwZY9WKNVPIRzpcMgzBi-oELLfMKG5WRVemLj5kfmzgY_JqPv3XQhIJ33Wyhir1Y8gD83OwgbIMjZvF4gsS5TvLR4b7CMKoRjOj8ZYJyprLen6iqILysa_nBQXQMUmSZOuGOhk6Nt1dUhsaWNAI9eA05r1vZWB7FzebuqakoqGD5635DdUCSocqyhhNPMWEGQIHJgxSyM5NQzbKxejNH7paTxyWVvsKXzXNEliNq9r4kfmB5EnOHzMtu43luJKO9AsXyrKQBbzVbehP5rZ1N0TIFrnNNoBM2KNsCdCgND9g90uz66KI_12Z2EfZk8SPN7mdjxndF0U7HiXYfPnY5H-OuANKfWd_r3xcsd52O43pAVgwt42U2qwsotwzcxuEiD5bgdWMw3tvYNMCww0bcQs_CnvseuocYrad45vENDniC93syyiwlVP5LyCs7-EkEYizA9kLCrn-_eFepqjJuMLUIC3mvIZ-lgrLfAlX92mZkoE3SXKNnEzvuZCpe_27tL46SPIOsJEI_c_RfLvc1LueKn1LbV5VOXROEneU2I2TFNsU1tSF8hGA1xvnmZp0_Xqi7FGxk10fhqe360Jb8HoJExcOmJO0RI2EjzVwww-mPBwNaaIC7ekNwh_WDUp2F_Tom_W3x00z88m1fB6x9gTdVZZOBp-QySxUWhg0WlWAryv7WXxlGsFkr8MrSN9-wz9L_kIJ7mZq2IYklipjbzKVsdOa2bSbFF0voY7WIKMngL8_LMibJ2UPsh3pwVzhY1VUq9v4pHxbPK9UUYH-TPGqVgosbZrj0Nu2dNp1vyxLc3Voj0aoEvASIxUKvWHD_teZjHn6cSIvjyieB_Hk-yv2fQvicRkv4HaMcm3lW_P_5VUQoM-RaVUwuDk8varkpj_mqPovtD17isU2KpnObANg50VXKs7QxmfaYJvi98kjTBT6rTxAYY3X2wYQ7q8A22gaxpiNHeWB4R71jwhGkjZg4_a6mqk4y7zBqjIujfSMCwvNqwSt2zNWtscS1L1hRoz2QEcAUxiZDWlV9TACQ1FWEXhSFvCYJGrhHlmHE-xtX3EK58xEPEfT6rCCCAPu01Yp8jEFveiflijZnGxpYf7Jz-gctR_LsMWgsa6mhc4PDgUbZWIv7p7iNEKL11VpiPpCDo8-teiKzmewXvXqUyuswBVIQN1GwQAU0lMiyaTMPQRnUDj0ZegwfYc42x8uE52fNRYDis0QsuRKsW8mTuV2mEdsx4onkcgTbDTx8eWYJvepZdvLNgSqEBqg6lG4x8kloluFiKBEYl9Zx6_kL3vnu6B3Hs-X6bRySPwbijy8YUSI0U6JL0WXIcC7xGsdbbl1gTgyoDAyxxnYORFe9ht9Oyv76MsV0fw5_FmYGiNy5-dtlV7IQnv5pGFZvPjBGpBJ_K6P40e45OUM2kqSWtsRdrj0nYXzTnTb-8CxRvhz3wXU7xfmo4InvoWf0fb1yLyvuplIIRBsuHZ95UwTv8eAPxA3tPcTV33V7kuwWxY6K99vfyDyqwI9SvXPa5TNlEZWKAZ23vrcpY3ks4n_rO6hFntyja9k2e2CDDGQSCEZoKC6nKfcc9GKel56VrT1LoEZow2YmZN1goNDCRVW-Xq82WcwQi-AdzzeP_KnEY8bEdtO6yBMmz06O7jGQt7emcGaYbpsoqhlflFkfbBeNoB0PXqZiPLH662b9WWSKrGVqb7J2Df553FLyz1rF0V1WbqlCU7d-wBDZpR4z4iO4nPhcGDK2DfnRpaiTwy4eCd8JMplht_5ep_soOrFUsxWXcMh3B0BEo_iUh_u4v8X-XPKVIfxHcouuPh5teNJXrsbpwRB-9y7IP8BeVCL6EmSLD0zDvjf0YYXIU7O-0DoNPb_eaLmT7WyPOLS-7LPRvFMmeOfPp6dJfHU02lmLVipbJ-M0GfOxX7vymoRTvyEiOH6RkgyQnnpNakZaPO7Ls2cU6VYV3A0bO78u4xN4e8527_LsbKhRBzOfDuBBXxdoHl1QhMinIVzXzsQ5MtNw3jsdHSO6S3CQzHMfEuHsQdT3SpFCD5Wz2TCw6A2QQiDATrX0CgSOhEYp5QGptXLGHPEoNB0vpatkQ7szsmMleqQi7FydeqjATltMTwThep5moygTKNbm5LKQvGYQtz9iE9lP7hn4Q2lil9gJwfKg6_-_fJZcg1uxQevTErIbtsUi79kI9jc7ZTJdwTtzoI3LTdh3KDj-IgeDqAy4-mo_jbL6BZq_RFOvv5-AiV_8dDCX861Mpbj1X7GUORT8M5yYGbWVMOwz4XQZkW-CAqjhRPunHGokW2kTW7-PP1NtZYbhLX01iHTRXqghF8gjOXR8iHK2QncKQB0dHFbABG2YD8kq9AYTSYEjnWw4hEY-tldDioA7xUQ9ghpZLM57DKF0CDyng5wKBLGKlGMfZ_hivL3bfLtMLs20bd0-MFLLs95xkn23OqWEfVd-8_tWPpSn45S4auShLlkZLZ_bpZDgnraiQyzvRA8Y2ohmxkbW1pH4jpA7B-O7vhEssRq5nJ1eGxU-fm2erZaviPN3CwoDc4H_SS-V9l32z4d-0k0BTfEcDzrKBWEaCrwqYhigXXGRhYlp3ELKruP-b1_N-XO1LR-1f5EgiPBHqdLw8nKyZGbhg1M9crFkcN8owbYZDu9UVxpgDSnBmamQur3t0deMk7CDi4PK75Bd7iU0aKx0P8OTv5v2kv9YoXy8gXkEESNwvpr5ILiptb29gcqJQ229pTeJrSNNwq_l2-ydssh9kpVP4wPaJ1ygUskYbPhBFNnm4IJUEwabFVbU1kGm6AipLvU_jFeTGn0Afg0fGJQaF2rhNFxqxxP-q0XnjK348VlkEskhxzrMoBeZ21C0x5OXTRHBxfahZvoOVamoMkKAS-u8Yz4q0iwzb1-D4f03LwBISs9WbMGQez5ls5IHqZaRo07xFeIFHZcfTIazSYF_B0LKqIC46vMrtnvfV4ZM19tZC63_3ALU3ZKjIx2r9atsg7VTm8RE1LNIPmIQJOJo1FiN-ktS-oQzcimIsvDO7cpl1oZvDQTuQkXtiKvm0C6QrCyPl0nYkAwGTrOjQLq83IK731K4wtIPZdluUyBRJY2FPv6mMNzcPBNQkMRznLxFOOME0BG0hGrKm6uTZPQw5arsFq_Fe5NTTbHg7v6MAFwSRn0cKfZAi8rVCECT-Ml0R0qCprYzRQ0k2Tbh49RwlhfWNcSOFIMRv3TphIpwBnTYzfjKeNiztnwCW3k2zpWV-sQVXazHKkqMEnqAhpsCesldR91MhzgeTlzCgAZVkRvhi1rljVGY_Ftc4ISkO_nCVWZK8ubIBb7tum6yPNGxOuZdf2wZ-RvB8XK1M_oKrevCbcAg-5lvP7MZWvp4ZGeN7wvG-x25tESr-Z4w570mF4wodtUl2gYiHTSb2Gl-WAPPl016OsCveDvpdRkBoPFEO_5lC446piGl5xAqCi0JpG4oH9AV3GMwd3FoQm0avvkUVsLPfpScJL5I-W9fUHonDlr3XyydWnUzyjs1sbERubpWeHC6RsnD2r0PmSIqFME0Qmby3zIJZ1zDnTwJ37s2amY6yUpmi82WLH2GrBlzMc6zhi4ycit_s9Z_JaYbfvf4DzokegekQELQIP6qamucBxQJM4A5snl4Ob9dDOyWN9OlK_CaCozg92x5r9WyNLpxFN1VT4TH7bhFzdxspwsAV93vIXauuO9DOeNJY1zio_r9Gw_UeKDFKxEswGzCfkCUJN009CH8XaJsAFLqeLEml9OeUGkTXaiqAZZ17fAoTb__YMOqazim0sq-fg2Shev7GMqE37_j_T_KqttW77Wirrwcaz_axhk_RIkigBqfmzg-TBrjh05G3BgcEBNAq6Ls7CpiXXU-xsYCuojEQymnaOu9kbDUnFQ0nIdO5852b_KN4HXjX-S_iipXXP77peGlgnPFAtH_2Q7s38tiw2I6Gv9J9P9RaqdnHWJBNkB1cP6rJovuZasZNAHj7nUSGXxSQoizbE9AIlwMpViQ5dchNoQ6dSRAXltwOcjEfcEcEucZso7adH5EpCcLXH94zsrNewUt1bBV4T4LaheSlJaPhKhlKdO3uO1CsdJJ_kph7gP-PERXEvHL9a8dYGHNvodP3aOzlgSiX0QHeCZ3j2pGCEIEL5N2KSyj7NvkrUgKNemnBJz9lCGwPGwDRkvFm--c6070b3ZlTP9aWmGCH4Uz2OlHlQIhA3X64lKCmdYv_VLk6w6clu9C5dOsDPFnLKIzXCXcqqeoL4BhLuARYnYR3iC92nv_QRW4B_YA_KnBQ8BoAZvke5k0MB9fCTDVXP3gfuKAPfIKj5Rxvfr9jv7iToR_jAj10umfgqz8BPdavKl2138Bvf31iuubzhlInMy7paHZMsorX5IuIhzJ-e4xP9fUJf23WWOEWDj3hMmnbM84rhZO4eh--9yzyIkOtvQyx_WZo5ZzByWo615tXBeofaqlfSX5SSG1OMCFry5RATsDCjmUHm80WXnrJ89LlHZSUezasMBdXlsIN8IUsvY4TV0WmwSmruaz2yj6JMxwitWFQ0uzErT-sXxcQqrvIYW4FBX8alvu9HvNMjk3YqkzTl48OHJg4c5EOj-l9E4TZ6tTDUK6OTFMrsHn1rUpFkORDkdaT_OPHyK0H6oJeaEFdsm1Kf4qJOHYJuy1jypP1849HParzz0D20fjipG9rcrRKNMZ1mYBVG2y2tdavdRb-mIk1JXXOPOuYuA9OotajDBgn5_38TrlizqngIOJfQQQOWchyXciC8a952obrXLR_MIIi1iFwhiOyXLtdtJs0dg0w12hd262rV6z3CvnWhy97F_gMS2iLUPCx58oTozv4yNuqnIPr9kh2GlE6YxNzU7rIQlWExggd2q3UFY_mtK5P-lUdh7MLrpMY3ZJdMcnk-Q5z-ZREwrWXrw5-Cla84Jt1l-JAi3JVDh9bry9n9-_j5G6wJLjKFrgBGaUQ9x6j1no0bD0FkJlCpX7s5Z2cgWXsWpm1qf4sX-gR9wojVS7kzjSm8PmQ2MKv1rZ5rzh3SCn73NM7I7JmL1WxD4UhTsFzf9UG-Xto2Vq7mZrMNBxlLqKlNFn4XkVT8IGOWN3tqmxNzwlyjYFkhwGd5tzAYtnMOWtU_jFCRPBOksNU_D9-LoNg2uVoSR_fxTUjCtEoCVDy7kerjipfH4WrQBPIYUzzbZRkcutJZkgbCWxmk2as2djl1-2xHMDnUNpPGhhpRZjSb2VKdiiBd7LFFw9ZkrT78zqZrcmJ-XW2oD_QPd2-kiJG_-kcg0f2lz5Fv-B_P9B6zD9LgQHJkJ1RH42-_TVwuWyzIaSatWv1RYbT0OjrdfhIZzEXSDKBbDNTcJ52nmWw1QBGfDla2k8JE2ksPGwotMueo5NP8TUcKEfR5RcDxc8sWfNlIWxERA_JI6BDSFFZiPd7zkEHcf39QP_2pz1uUjNRDFQxHFXW_CSkxPrUudddCTQyxSpSgo2jgrzYUbU2RcdhrFkNrhuJ68NNFSjD-499lXqqNR8-dZEZVy1P1aBNNYja5Av35erGc6ghWSTiFuXhgoWnV6cBnRP6MgVFmB_Xc6aG58BriYxU7fZyPoFkBaaurw_DB7WF22420hgi03PRb0TAJyTRj4bkdmmrmMkig3xTpqZZE5eFlYxYI_ZMXl4ci2FhcOquVck2JddI0e5EcYKIb55becde17HyrUjCtrI0EIim_1-e0VFl3tqA75F2MCrsR_r60uQX_1ojXwrDIEFWbelPQnAGMMFTZCwXhE5i4PAsCHY_0OguIdReHup6KYgZvb4a59LvNBJpihYIVdqVuREiIwalWFJGvzYnd0Fmbk-rg9HVPQcb4BUNS0XeuGD3xBwKvl0fM9tHpeRUzd4li6nOvhkRMFaKgg1wROWKlBM78U5jd86xNZKJIstgDyNaBn5vujLZwPgaucw8qKU-y4YNwh_WHrU1hz8QW3F4eaB98OQh5tSiU-JT8y3lgkYNSLIv9mstP30KbMrbUjWyJCS-zXtH7QOXbWmjS-edzwYPfFfONan5T2uFJ2LKig6Mblxw-txZbtYSVLdNU_NJQLDkxPRHWryVrH6IROBJT6krYg-zi7Oo3kHzbP2AYOwuAqdesc5sMNPj_1J2uNf0OqiTM8rYoDLhUDqDUGIWv2h590Qa8UgB7-LVRTaop0503mkHlIbbu_itsL7-xJ6YvzHX2WMMK7fG_YUkrZnU6E5PcZaxC8EO5tSguehzUM1pGPThzSbDrn-_rTb1uc6hzhvTxGnhNOKPX_4tek4WZiPMlMWinNebjRf-uZusMM5DPca2j3gA_fXZQ6GlSYRqcGgKPB-W3KlMq9UgGC9z-8nSayladkCpMpca0DMlPodNE3-2KqpK0qO_vGnT51KGqV7uVNWRPDsPeK65lLMfxICzwMk3Owy7iV-XDEtvBVBdfJWa9RQz7RWvRvaBOQ27u9d7L-aDViUKPpFaULfc1uVGcdE_MZVkZFxb0Gpr6RzxhAKzRyRdrfOwZRsL1YDIrmjzM2cQlzb8Gop4GaYrH5xsAfjPXKi4DmPxET2BMZ5ztjG2XOXyHkSr-poxnm9UtgOCLAyXpdVa_Q5UQPdLOU9no-XUP3--ynYyzC_KLZuisvjJrXrkmWq92RDLwmtPzUXVHr9IKyv4S8AljLLCh_S1iDs8u4L0NUPb5SzT01hWDEvI8l9YsqL_xVnFygugXJB8HifZzoGJEVvVJS0pOTGLKmMHz4f_qmLXrW_HYvx2WyHxn2oiRt3D85x-AZ_OOZn0cSlGPZcIzN_xyH66a6nR0-HU_Qt6Mzn1LDXX2nSbduc4jmZ_40BliNQSoDER4WcL5Cn5Fre3MRzgqBLRM70HPwR56w7i3Pqmt1kWVFxBPcTkS-loViTYgucYx9IhjKjvJdgEo0BWKnjm42QIe1zJ_Y1n7Z-uBg5nKRWU2XdcCfS9kTf_S9v45CXUVkllNDx8fr_VlzAeiBfXqwLpeGqVbLhClfsXrTGHUQMquk1HfsvfTWKTlhWvdw8oJe1j_cnh1-krRW-8LQsfejTSxV-yEgGqeQWw8aRcPcuFFJgzHPzX9wYmkipp5QVlMcW_KJfnfYBn1qm7kbuVyOjwGrHbdwvh-S4CH8SiKAj_d7LzjRCyEYdrLTVg1lvTEXRbfYFd7LCI3R48Y-qb9pQRr5iUXBnNSDMPtOFW6YA9d43CwuAFZxeJ2KVoOIEqG0u_Vbiy-ayoZKpebtSwNZJws2I_tsFYGxMYBit-X51hQlTEfN5_FSn7XpIvYOLPHiD7JNcPZ3S6eb6o4w7buhRNdjHXp6a6hjYQTiW_6Yp5tgJo-0GXc0cVN0OlOe8e6eFzIzBMo_ZutoHb9mo6vN7herc8NmUfBQn5msuqUZBXEYQJpf9f5xzewyX0wZ1cUZeYrFHYQSfeoeOtqlRTuRWdzsQZEf3NmKmDrdo18__qiZxvfu0fSdQJF7UKTmqLlC-0GTWyD_zVLOrxIpZ1LwbtV9481qcAbswocVi0rh5rX4DytoSiCU57U0XgsApuzWPocOTkHX0ie0lrxdMTCn8A0CNaswrVhglygF4MKCLAZr7-zDdNel-AfQh_0yDiy5MKl8KJE-6jerlc1RmL1d-cn9tj9-X0i5tkdlRpvgg2mjNuXjKMFHMFarh9jR6P0x-wtWXR7vwhOPSFLYE0N0pF7L6fdfMkGhK12kYHhD7os6dLgZeuWSMXiB2CfYvTJuw_Jhw4qLdlpp7Vrr2uASNGrAoD9jrlbQG-hOBgnv2lFxLv6clZTY0ycndkqrN20tW-Ka78fv2ebi7x7T8lzsfIquN4uFvJw-TdQm2SdvnpjqEQeCorkgs-NY6QRs_iS2LA_4bP63FnE4biNvASc76pk1RuYvMJUv4atJHMU8da72_ePSV7tMfk9DmuvYs7AWjArRQVwt0wxA7aOwTGlkbHIpY1ZfGjMFnXXFxIHGq8zBs0HtIcMJuTWIglDSzz4dQSICLkskYIx1nWU-vZJtLqrwnD1x6Kvs_6o74jcAE1fFWd37YntX90YEp_IfzJBvEaEkCBQTFRhFh8w0xcaI4yBFZd9FpwEhgd4nATwvASFcCq491-BKlrJYKH6phguMUwzMiQd8eJBDaqWpYFiSovZQBZw37U929UMTSzPgOMBY2kSxqG9U3AhNpklMpQMOqnS-oJWM80UuHQP4uTn0bjdYe0aif1yVuRUhCRo895LBroYIYogZFaBfNPVSGC5cAAYOoibFcIw5VezuJj8Hbqf2eQGmGlO9RdlYqA8qnIUEbaVQUQ3TVo4pq8gBKQSdQMvczUS_G6JYQJgNUhqGZrtRHXG6UqJDsPsk0I6pB-v3Rj0VYfCtNsoBrb50PRI3V7CrWJYGyZ2w3FR1EImMz9w2GNWp_q7uHarCYap4E544zUQw8McRyXvkufLSAGXI6F4ZPhd9K-ysaDYVZGiNFuCTEdu1nrXoo5QJxMVMP1GZF_L9NKzWmq3OTbku1FNult9Oer4FhgE73gP2NbN8kO0QErlJygbQxn7wtq6M-BUv2x72I2d6Ptn_QCht6PovaPg3_mcJLtQ02pDBkiGhHB2Ym9JtdxYH2fGP0grFyFbvnWCXYRPZty9qY3jQlhgk3N0FTYGMKzzDjBeZQ-7gSnQtKnjzMY_u2-k7m2t350MSMKSJfsjH08jwnG0vYOth4x1eIHen5vS5gTbQGzjTZoGSg7iOp9UG5AZIAy5cuS66z5sweLnortULd7zTyA3xte5z3LUDI_HSia2sXnr9YQGF8qH3fEZtfFtSkz_hj92hLdwhTbeZRxwlGAnkIzLb103L91_2Zy7Ropfl1-_-6mHtZI9DWkxsGiyfWjdwPlMhHH8DA9dLMlNK7qXk6xVZ2I5EhULMEXQV29XLYj5W3MI_bXrwyfoCDjlKybMBMSbqlFDYdQROkCxvRzf6x-Dqk1WJez8N10jtBemuechloNgDJc-lhPaIq1_y6pOzDXG9jdZgvqmfzrTlVIP0dthZeV9YXK-T_lN_CJZcA5EylD-S9MOFQpHQ_SXYy90rnlH6tbKHZqKQf2h8KF-7myBQJQ9bZGIKHfQPiaVvPA8eLB-xT4Sx9OLZYtIrybShtneous3NiEz7jl5Nq6n1NtxfucX7F-Li46kld1abgk35pHSOmctLER5vo-N2q8a3clayhY2tj1gY36ojKdGYyV6gaoXLyDvUkoLfGSSCszs3Y0zW6AMF291FPcIhINFwTeyR2OMD9Qa_QncX9kTyvfTsZ0xu2Yv0qsepFCqn0O1FA1jiI9GkrzKI9G4o84KNKG__ECt8pP0xKTXd0UXAjmf5djqGFVy0Ppad9OY8SIXxbDK29mWWoNa62d4q6YvPeV3xdRfLPqJHsiQFJ4NVu_5_7mRud-hdO7tsQIpENAVU9YBGF7yxFW0NejargHhdrrcl0GuQSKu2Yx4WCkS1I-kHUCd3E0080mrBIY3IHuGEKoHZwNRQN0Ltz37mpkYrZJoYH9LJYNsXQBnTI_NpZ-XsT3D6jHQJgvqbquDFXmJEYPZjncGrLT5Vu70XV7trtJZiWjy7UlDzVgl0d3HmvQY02-f2wCzSbjYIklj25SWl4sCzN9gHXuO5slHHu97F-asztYbHYW3bpkampoc2fp9jaDnHfpCZzhA7vUAqCeoV73BXy9tEBLiGQrD1MXcqOWnMFd6tVvY6Y27ll73q4uyT_qEyGGcXb6THxnNLsfVzOUXnuX3uYFaco1eAl9L1WD4CvdKSxVv7XK-qbPHV_PPAA6Cq2zVS0By_tVXIywrlyWSEK5-GJTkIHZjDAXfrE6JaFT_VLwaS1x9_tAxlrcKywtHFrBrYVghtm9H0AYwehgxGzxg1yWpPM0FS9BqTLgorqgRtVxvpsy5ZLMZiLGUQYGrD4RksgrUyMvMB6GwIh5wNshmvAk73qs4ZX7HyhP9Y622f3ruKgOjGErV6_ldn3ailK1LGWV-oOBb6isQdN650AAZJICEjQtLu_UYEAkacxYyZEG6Zxzh9TLpnwjpYj02ygtEzktm-3icy7y5vmQE-zbCBB5e1oIsGkC8UPokgHHVltDZ38VEpGFEXEohpjUdf2ww-kiaxQEsMzkdzp0Uv3sOhogzyJL-qzAEKwT2qBirjMQsb5IDjTCGDCywotcO3hff6g6fe31vd0JE0qimpQsLL1daeMIflfOds7ud-eYID25X3nhZ2B41sfdunPn1KPh1BbSVY3WNY7XoGvIwRYV1ARTP7V1pXM6b21aLDnJibpvYHt_bZ0YlMhx4TYmAY6rtAKvc-HbhU_7o-mnkfyemu3yxITbjJFN7aL_JP55eG-gWRwkw-b2dHOIXacCenifQwk7o3yvqUaOrIBPPpAj20Bt22-0Dtkwvpoxr6i2Kh-8xV8QJtcCz-QDvci7VvCbhfpMiA0S6n7O2CkrE82h5jcnKJk4eDDEf17uN1vj0CIvO8OpsZ11VE8g5uhtnrGHTZ5HeQzvfDEudvkMK-7QguZG_JVvSG5fDUp9VkV0LUFylxIecxXvKwHwlqPK8RW6IFmJPs5_wmMY40pTXZMwi0jSNe0lJS_cPr4xDG6CyeiCSeYAvdJT5qYwo97twAF2OzwWYsnJLYA2Fp8QH-QXFKzcvW_X3s-hjK78jrsTppXekBY8yettXnrngGhTKORsElhBXT_73wzz9-QSpUFmQ-yghEoJjwU2cUFzXQCayUNupebZ2Ses0aGO_kSQ3IEnD6Qd3gjcgqn-fE6Kl1ITpGPGP_6spS0OXBQdIH3zVtSCmHWWJ38KNKM_0cbK6r_oMkn8wCuxpoFYR_rEtVSUWRDLTZb_nlFcSPvZcL0lkRWcX1UoveiFOMJEXTWNzdC1GSFoDBpAvjk3epA_aW3JZg37JCoT6s8cmslwbXl1V1cHm2XzNOVB0d5AVX66jRekUOs1RcAMroq52loqsbZSYpOi-M-NevxFpNOMUQu4VruDbssux7gxDkD4J9GjnQc0yq_DOt_vZB3E2ua9i0iWyzTO1EBsX5Vl6FDpJov1vQcz8ZbWPAICDz-ZWpc8jGf0XbSn-lHQYGim2bRVBqRO3_ZRIX4-JnW7O_InAODKUMKTYuIqUr5rxSGI5WiBJh2mfl9aFNmZ8P34yCJEWUJlf-2V28NUrpPxC1iLkVm4ORQZdbmERXlDQmv5a13KFCvUwqvlDUbfxMb37e4B1BXi58_bZFGlPsU3tEW4cElbY05Gdz5v50-GkabKpS8hwVRkZuW7fxcSWWHU6ACCw6CmDzbku8sYsmKp8It-16b8q8QAEJoeMo2IVuJa77Sf59kFxdcRUK-Io0UoW_5KnP0nOB6sjQS8m14yJIG-oF7u8kxB1vh3t-Dp86p0zpg8MTB6zF_4qSRkEG1NqdP865FNyK_IJFrCq7lwnLxeNKA7vLUGfsNYKGSFWmaXV2fYW-XZH6RcQfzPbPsIW1n4Rq_dytIbtmrePqaCD5-FKUJVVrM8FwnAve3qBLMJqkDBRGMJ0TzT2rg5wfBVS6L4Ld8JZlb085UpYIiggWy6MdrTC6lDld3URcvC_jR-xmNuaIzb492yv7_mH8_gBi7ZWIUQ6_2Q9lMUY5l-yV20JXEhDtY9iwzwEMxF0P26DOScUJfop10LjvpoDf4iXaRx7H6Eh597dfews7mx1GUSpmc6o4cGsk2_RFLapcPLbkd3Aokw-Hh1ag6ISod4eltOnzIBc7LN0Z7xCxMA__fXV7yif4mCkBzM8UXeZ7TR5_sX8WDfCdYjx0gf6XRm1s8ys0At2o3xpG_q-9dySHgz0pH1mJ9uSaMgHP2MVJw3Ue8EX-sS60DrUo48MipAraura2zmbeRwfUO5PiiNa1BFTRL7gO8A1xbnOmdP5R1613InX1KLxwvTeiPFtI2Uc0gvDCVy0xqiMNKlGn7Z21ozztkDA9KABjbS9Xfe0us4mv6PVxNAoCHHsqmjddiI6lgZ-MUXcWGpxabsabChG49Q2tD37Y-SZ8TH8tcFPSo6AQw0tK5ezzSabheN_2oGsO9Q0e_Lo3nbyY3S0xSq_-QRw-z6DSYNipOLS6-_ujgLrOD8urm33NDXZVXyAPvBCSoVB7YB_wjGdT_n6uumafHzdq3464cRApHjJZdFwPHvddSDJUNkqYI_wDAOOhL2Q2l8SNw9LgmsrKgf8tJ9hblsoT1wDg54LMVaFN-JqivVEBxDkehjPs0MrePw7BcVjzNvWqjVEX2IM-epLxlnrYEr2hwjzu3hZozyHETAYl_hK8TRfCO35byRvOOq4Y6nDZVoyMRk1wQMkcfcGhH9_UdbQSAVqTI0cjacdmtmIBt9Y5mwCDNvVfeJa5ikLYCVHUaK_-Bu0YlG6j3ZDsRKkXQGCyMqVOzUBPciaOkdM6UodRV0o5u-AxLyUwfvyYrZxCddeTl5fvPk9wqmxIEmSV0JgaDTeLQsxcmk8hLyEjjV90DWTgsoVAiyfT6rS8xAdi7oZg-NCbJUVrCVWYeWxiFM1a5ol3u7OMSnxYK34a08aM60DbiTalNDk8NE3y5cIOh16mZyeD0bkQ456vGIjCJpdnWxHcvMtFS5P8h4u9bGYVY1WmNCew2t7fFIFqPlCG9MbFmmIIvVWjN5uxMQzbRmkG90Bc50ReX40Im8WL930_rxKKUFojZ85saPmqBfb0KxbyfqpsgMQY4_ZLGRPls4c_dBYLbkB4yxew86V-BzJFS9DY9vr1CM2HlzPI84BF02-qs-cJUv9p_tjG6QiXrLn7f5EqB6_nIdXC7e_IR8wwpvks_I-6sjzyC9HzctRYauY98TKgd3QLfuddeay3tCBUIk2BrJJIkj4IJPxEavHBcHsqHuhLqiOSgoGzsBZG6NEyyl_tIqKVdnqcqABFIElloesd5pukcF66UC3O9kqbJ0Sp3PiyOuUVVX58iVWXk3VdaRhlgrHu0hlifzvA9SnkWpHcEiaWGAVu40HB3zeGwfELsBa7N1M_wEgM3rfxzYQZywY5m-kriMI3aChm8HN0ZiPmQLYWf8orraG4XdhXC2EDFAO7yqqcR3VfjrDEZJx-xoUa0f0Wwr45vxhIhAQpsWQHuCkqd982INQQDRPCUOy7izjZ0mCiD9dTZW5votJoTex5NlWA-JHbExR7drfplNfYdGc_TIVdebEAXSuUWfzkeSJAh_OQlxky-QdQB4bPcdDJTb0tJIOCloiSxAhDkW9oWRAUMBJhJG3Mp7duTaIfXFHW1kRzk23terpX_gPhgaYVdyDCzVOR-FhR1GacpEQvonR7KPYxNU8PWog7VgWnC01n2qgXRq55C7LSmi_KaThZern6TSq1S-9mnYutsorMsHW6YkvkatvoQwCUPQohSyTZI1UQ4NQypbuM5IVofZQVqZmahSN5TRkEpziJPDOeCbb9lXirLsfajPaNpbA1ILrhGOrsznJFuIO9ng7_kUDcB--MSlzLSP-rWrBY0asCl7HInHpcf2Om_W2UywNW0pZe9lU9IQ7WhoT2I2pfONgQzr1UWwhFVX0cRBHIg8nkGT7ytrPlaImD_oEEiHjozsFQznKc7wa3v_uJIYBbZNUOJU22A1VMdy9NsvqzBa_Zt57sw2jvcIQv9ejWO_jWWXKKIAlGdCqAOaPFEERaluvvLJdsXFskKkBqL2tZa0J0sxZcivIUOqKlsbToJUfND5sfs606IRt8-XNfAGEGxYCfUXd0ESWQHY51t3dFavlcdUWi8N94E8wgpvWjhQtCsdJEBf_aWKgRXZilO-P2sQ7PK3dXgvx80DKeSY1AKksty3aHkr6gcq_ec2OAzad6XRZ89k8kVgu3F4gd5XJvHCRqtYIX31wrPr3_LoqY4IqlykXn9UzzT-Y17NZh2oJbC9LwUO3blR8Om28YwqCbrZz_qz422_yaVDraeMqCGmb6Zy1WExjvOp088Q6T9ZxkxXqhiXFrVPYYsZXIeQaRDJ815vglRAuSKepLzmHsAywCEKJtKWWHwduDNUehzs3UMpgb9ohDhZpveI2CPDFUpuhb8kAqXxkTIGdOMVm8PLFZmihVVK_zT-OGr9fXVG0LFyCl6mpKWQKjZNFUmrJQVtcyeYVqnOHzLg8N8_LSzZTIcdw8j2O1JtP7rwOg04D6dQPY-ROGXh9ffNbmNYoB5qlrk8wpOq-9h_0qlOBCCdZiArfAx9sDY9uYNzjG2cFF6F9EsE3etO0qHTeqIZlvoEgw1xEuKbIOvxB1nDDIGeovtK4XnSibfUTAT8ObzsJ8xLgQqGHrjObvO41sFXmVJelsIRGcKeriQZgsgf9A6yucXf5AUc8b4jLhf6u0hh2PXRQSTN7AMP_L-7mThHoz7Q3vHdmnTFvrDdRP2iS3Bbn1HtCEtthIVlgYcxEDrwjRM_HmRjpViQlBdma0T4qD1PhMasEqOnprTlMIJkQ_RFMwM4VjvVzAWnkZ-8ysl9K8UZT69fs03T9VrierNgruWJjY9TwIdOCZA0hyfw8zlitz4SRQLlYRpTpKnADmf1aSzFsHss-bdssj9Vy1LpzkMJWbw2OvcrzIGqwTidoT72xQdPn4ASl78V-RmW_cYUPm92WwGmIYmpT-wxfJfqGS6GIyGlSUiukk5Zqb1zz9dg6JRNGoYMQfxjUz5EY3HEbx8B-aumEyv9IGQG8MrdCQexq8VuQxd83lFrqIpc7LEfmjxQlxxpAy5KzH35Tt4hk2ZgGoAoXXZDuOzQg6rCXohF6NqsKuopnONzbNgWwDwpgi92fMU0use5vqY1e78PM9WNpVWNtFTUObY5T5bXkq569N6n20yPLBWoZTVZ6V11yk_cuhJHjuHxSNjVecWPmEyjJRWX_VffHdmrAUCBy8UuJvszwatmIdR6J4wNHZg7-0y40ceBCBuYXPGb2PtbIocNYgiGzpXq7Q-WRYhrjRd3UFzRVf-RazU0pHpmJoZ4HFofLMXFx5iBRhJmba38SPr9G-uZq6Uq69XgWB5fU814zkqlS6z_KdqC05PaZyam3X1OpzHKLKk8xrsaQtlCIFg9-ug-trtXC-uVN863YcsHUqji0OHsYoRpJx0nL8WKAQ0dNYz2bfZdZtctLAaJfwGfkAPZomxQoHHDh5R4HsI5cX0KeKc4vHTksro7Qwgy92Om9bQ9ObwpcV4KCCdyO9j5yAHAF-7RQil52YnDWTIvE2kv946j3LdTcHOOeeqKm-aulAXajftrAUTqBCyt50EkOY4sl2guOM-wRKJ0BwC4n_1fAczhiWFMj7i3AQ52gW081WpO56e8gn_eQfQNP55V-N7-bNWaa21KeD0ZveCYn8quS_hmdorKJY9b0Epk1pZGZI01kYSgqa-pX-12hL77_Wgi2alzlIdmN58y33BMtRnzzBvcwR2aVTjve8843hFB8K_OrZ6S3947A2vJcnfT7gCk_2lXLWqsig-BmpxEBpKY1gSTj5ZmMio7FBGGfRnMGypIeXihKi-1h2SZbGxtsG0M1NRgla3lPCxWkhtvalNGpp-1g8xPkWaYz9pgfHDFDL10fYNgdvtlm4rn3vPMv9GH9AcRbVEsnL_MGueOL2a6VPLaEzqADeFwmL27B47J9SaPTSjOEQ0qZS_yW6qGmeXIEVgSKkDCdYk23SpICuiNvDACxzYXztIf3Ym5tKV_nRlc8sMoVCI_mQBTbEzwZqiB7foxD4XRx8wJjhjfqIp_ryQXC3GBPjNf1IGLaCDYEc0N5Wa8tc2ql9RDuuzuScZXZoDgYRCO9Nw03qoe9lXfHWT8DmP7mi7XHSQtW_Qqll6aD-CBffhzJhXKlLipE4SfzRv7Hg8VHwE9UyrJKbnEBBDxAAhbCsIO_1W_5fzl8MV1iR42hsb_Fr3RDs_kluxt5LbkHuyJUg-04VE1cpIvnp9tqZ1oLdqCin6avgKnsJIicZBnocypG_SiJHCbFCSgYwAIf4AlJnF3NgADVSiFbgH4nDHvpBri1YgVVdqgW7BDpGDZ46hCOwkEGA6f6PrDMkZqYhUaevfyDxdtaJgSpe6kHDd22emtkOXQ9IhTQ0zbqwg_UDl1QdaePl2u7d-YW8WVfmuUJ3J42kOtxD2wguGv7YAi22OiCNIAb3RG8XJxZEyl3oHA5aczuQDUNhLRdAZe7XOtRN2jbeUY6OoZQV7LuOYeX-v6hpM6l8v6p8u0pactKAwzIT__ZZmdsVf9N1cbE-zfoxRutFJhhslLT9a5Izb8j4E2_An451wwRS2IPYt6u3W4CWxMFeX5Rnf0E9ERtpPfqKs8hyJfURmQ0Muk5lxrXqCf08b3fsGoFxUZgtlFedMtYz4sdCG9qh__oH4iRep-Pf7TmUWKC_rUQGieh7d85WQM7tDItJUUhOKV0FnoiIg911u54gUTFiE-yko_Ij7Vf2XfgMc-DcOi0x0bN0JCvS-3QmukdSjJTfSr3YYwBPKL36WcC7jI6DozlhCbi-bUaXyVlXHioe4zSt8mRxEt080TEMzmQ9Q1WPJ1FpM4v_rjO7iJl2OesaLlWG2ddSy6hqcWbNpdVysv2egVHYTALfHZdoTdYO-zd7yZyGiTaQXBZBtdXgJrcE7mJFOYStky368Hq42bcm1ZlxE9UNnFfgvJj42Ax3Vab2ULj6i9ITt7AuqeTKUtme3b3d8IZlKrDSMKx1PcwT7qIscLBJno-x2c7V4x8uaYsGJGq37V4qzuB5NKIR97b1_4wi0ng2ZvlLVGRoxvnfVJe3wd3vaP-vEE-YcgT_OHeWwM6PmBw5yJ-uWzCM-mlNOTbewf7OfPwdB5-_Gzf7pejJbTGr7ju-KzzTfqdDoVx6NV0fM1ENVq0VfetBG2Jm9NdFqNc14mlfSURcOLE_6MeZ-jMdzJC17mHQCAl9KvHONlytbf1dPV-LJE5C857wzNAthCNWlLxOO214PtJ_N4f2byFTNadZ77kZ4nhnTXFPXpV1fhAtf_kniIg1EHlvu31qZIZrxeAvdVDWhshBFkEkNN_axfr5tn7ktBiOrbiHUNzOwbjiBo-rqV9EYzudHSvZcJuCMNpqjPVgRgBAlh6aMwyyGTQoVyK4DxgbeVg6dmEgrcHy1GIwooqlSA1k8VTGb628dXi0L5TvGCggSWgQuPkCIlspGzfc_U7Uk0z6OK37XCtb-iQIZhHmNXMH5p-c6MsSSDa5puhAC16hb8o2AX0RIp1SsmRNvkXHyAAz8KWfzEPlIRLXRW2gv1A8mm_6mfgVOmMmYzd5Wa7hUbrc7zd0qiFzXfI1zw1YoO0SgZPC5jRiLuaCEGDGF0uEZQlf9O7q2loa1WaEI6va6MgkWT-M-aFWDInFCvKEF1VEDROCTl1h9vblfeYeT762X7LohgN7qeqDE6Dkg0w6-ppJUcUZCVyta5TwJ7snwqIFAqqptaTFeqS_Q6iR7ecMtVGJaDMJ22XBlNcJeCuSAX4VLpBJDMM7VbCKRLMVX4xh0SgYqZcfolohyI1KA1R3GDjYLuaLfgX_ysNBlZHzuTRhqYfkwsAejjj41GoaMkeDGGKyr4uqOzgwiGRSpWSScYvOL2crR_AHciFofuSk5uS18EDo0cVX8jt6iRxHQG826j0zdbnePEyGUrnCU74l37314HNgNpruIahMqmSZvXzD0K9kvqiaVW7k2dx5OvGeYl0lgxv1PzCWYXoGildjz0ew-o-X2qtvcHRVM5lKGyS4bF6QtZtRCT0kvZBCP4CnsYhiZCux1PscpeUlf2X1guL1mHGARXuE0Dz8aBoK-t8neHnnhFZ80CNu-0s6M3YEcDIOERjG8hn9GzofGrJiKJsTUQXHHVxuuZkD812CVcFcX-BFoYb8fZa3tk9wLNGL7J7fSfVQPdQFmGy3BMQWu0txQ84J98BAlguxRV89v1RgLobHQU6qcnB2EVX0AZ3Ez7HEWHzBM3TYJxhV8W_DiPxd-KvEXvGVKLkQEJmpSv6c-CBZz2I8uoXcC9wrtb-sdbBU7G_LWKv2GbwI4tKX-5Zm0sX9dL-oZJQpZ_GVClgiZzzwSSMW0Qvb9HMVIbJjpowGrtYQxzcKNJ4OF2c-BJhpNHUd0ipa0l-DtXZXnf5yvLsDQ5MqNWnsvzLa4RJFwgIRnrOt6mLslKsiafknNi4WDb5m_tc6SRxrpmGsc8shnM8eocteNlZP8QtLKj5RrIiZsMSMvSGhf7gi9nlmKZ8lA9ntsGfiXmQAI_nrpDdVV6zGlA7Xa0-TdCGh_rRIt15t2Ikez5mErw-Am7tBPgN_FOXih9bNJvHHGq_vcB6AQi3uINi95cXflZIuZcWVnNIf9rNixnk0pQZTN-ZDzy0ZEYojPSb6iw27THkQFAKuAw0hmv-Vm4cZMIULzy97d6TN9pDqjKrwVLKCpBkV1oyYBSt7Dd7y7YIBaVAXx_R1DNErYV2QLWMU8npJTC3ia0DZ-ADp-V0DWSmR3brxxdAoHCT48cy98r72YYJgJsqKkcgM98lQ0MnFL9qld0fWPJvr2nHbRm9SrXc_PAJCxB0M-DQHe9nq2lsiN8Poz-Y02R3f7E0u878kmF4FgvyZn-q-sWYm1RMeRfXgdWjxqziLnyDyhia3FLWWAE1-L-UboOOCQ8mOoKX1eUMa9c3eFfiTaypTYZUfdpVSx1rW9X1d_m6guIRTNaqhWSdHeq19j5VkDNzpN-F5Yw_yh9M0Kj6FMnEEOoM08W2rWDVghq9xbmMjicKwacIYtnlB9rhY_mJKCoEyoENqDTp13fHo8K_bH6awMm3E3oP6QPJwqgYZutzsJgArPqRU2HP5eFysMw_85MjqzZpPwPFN_23kn2ych7bUUqRJPuZloPsB-p8fot79aeVLru_9GetOEJcGhRP11yczHLCrAcgze2kBxkBZIetL5poUMaxoeEruRG7aPgdMkeFs7KEBs7_8t6oWY05bUH05TYp4fAW7ZI6LhwjUfGy0p5C_UmrT4a9p5wyK8PVlGcz4VNKRMTUo1as8Pyhc4xc8SqPIBqp9anWk4sF3L7fzdy10TAg3LxdRqxRJ_4usIfqWB5eZbD0SXgV7PWM7cMxBbynQ4QkE7bbC90EPe0QwAKkGdyicqVNJDQCbxdT_h71j0__dg5XF9a_u1X4O6R03lrKe6fuB4QUHsYwOMR4FIaSgcX1Ae3_zb5HyM1m_gTqRN_BbBAlgMhYF3wT9GyGm8bdq7R4PrlOFZBWhi2fTUzXWB0-vUnMAaqhOABZH1tiuV1UvOJ6-kZlBjeUnsJua0CesTz36pnyQ6EXKKh0-btTAiCFBcFUXbQ5aPgwjA8ao3_XV5I7KsWSnlZk8seqGRNUtZOh5plSgaj_hJMRuD9FnMfpUbciPmEux5TUVZJxoZSUcKnJMd1fJWHMnvvC6EJEjjn-2Rs5hT5z1Gp1MgkH3eelntpF0vy3XndShWK583Y0FSE-XsBysEEJpJuTgPfLeEH7Ois5kWz0A8mKHzx1GxlpXq3gjTHl_lnJwSlF0VzSIAruUxTduzVNUxnpYhjaCY9L8Lh-7U9gHV1C7TuNkogXTpfizH6sQ3n7XBKD5Bummu1OAiLKEpIoa_OWEAyAJ3gITrFyv6x1nE7wYEoe9zk8Uf8kSxdzbg8afDTZOFyDEC4ANXMZtUNf9rDsk76Fr3SiUQ1URz-HxlaW_TQc6ETwexAUItp7RhWK_22C6cASCketQ7uTg26gYDhviYUS4ym9CY4g31vb5kBNtTk22eQdDzZLPkh3bDv_67XVVFobu2cTmQiUPBUrlROWyP0aUjdfUs3wS96mqHi-xdso3WTgNb6EL2_CV-reHiNqY1WOmxTRyEtMDLvS6UOvxOyKDx8Povho5jH-kI8k-xUmPeHlhll557zlD-CedjjUHRFGGSiXKobvw_FjpmD9XqYaPYzF5sqwL_XXv5GdXtE9wsnT_fNZcw9nWVf6wsvDBWfgaq_M27kvm4T1IhKNkELUf-JG1seUML9KnP7oxnFBZX0r8cOlXRK4gqq24YigEg-3lblPv6twQtBL8Jv3QnciYyAHshHt-AmbJpNk3WfTPAFoTF-mtNjd4o0E___oOK-7xv7r3cI81xODJuB_5XUBQmjLUi-0p-UVXR0iQyBYipWF3QUOklKsna0q4qDzpIWQBq_Jf0frxdcLRng3AuyI46qPLJ_UEAywYjxHCdjLnW_VKLCSyF-DZcWEitLBbnTl96oC-ZdOxz7tZg_ZPCVh6SAALkot-XWd67QcAlzuxHxrtST5S1gVmNOuJgHq_0s6BobpYZNgbZOnCtgnEIuZHXU6JkzAzZJw6lQEFqxoxlVVxjMZ-EGF7hlOhuD68nq-D5jLU6rpK0YwfRfnJfzhxFLZM-gAbaFoUyheb5ymVgmXRp6vzOcYPfVCVtH0kgqhOrkPyURD1kynQ2DJW7GV5BeNqf4fE2_KVOjl1EcT_FrziJYRu-UFog0DdPDlXjGxz8_FQHLFcBbftsRYU5l91486LXmd7b2VHl3DGR6J1N_m3G-mBaJVoPTzroBbTGgzh3MHtEXtYYhkEY51Ar2RDXp-knFtc8E9EriDelxnBycz-FngnIY3sWheMUfX6i6ufC58u2yo_h2pruM4gTq7b3of2gN6_aAXv6Zwu_qud8uU2BNLkJ58wXwuCl6jctqSHtwt45pAOaBgpKVwZU0nIgm3wH3oruksziRAQx4oot1QFSEf9SsJrP48RYKWapeUj6iZa8d5FpvwtITehXQBia7D4BP4k3ZIojZXud4cTZYvQnlnvkZk6zvaG991WKOqXD-MBWD3ZDiWN8wlcTZjETrbicsUlZompFy-236-2Inv9PRxRTUDTXG1wvf7J30bCj66Ue2cVfizHcE40g8MCn9_xW1D7LSm7nxY9JaXyG42zypKgkj9JZSZTAtsfiPYMN2ylTun-RurDloPfn5vFCmt1xf9Za113CCFX6SjLZzW2azPC6VTJId9IiijDIvJF2DA0RlXJUYd-9jdPVTRbkwb-nzt80YFa_E57XCqB63w7HW93kJI0DmpMzoCTwdJADRxHYGz7tNCYvK4EX_3w96lOqW1CzP4NlT7jYKU6DNU_kahltv-7nWkY13EQwGtgeB7YBN3yqvFmjuOt7lHLgfihpf50nq6hKLbV0v9VfNXaPGRojhMD0f06maYGtccyP4bDrW2_FoFm99yAuYQyoD87lzk-eI85Ky-fF2krs4EXYXiRmbfYSCaqCD6vPK4Tmx-nNF3Fit-tUgZWdVG8kWneev2QZBuovm5JCNDNhkWAVUgtGwrr8ZYIpsxvokD3C5yZ_0eRopXYnXNW5PseKduDO81RTuErhOT0U_Bh4rauJPQq513rMINmkxF-8Idh_UvLFnCAtT6NPZpYbM9IbaKtz7VPV-AHGRkc06r8gjyIhOS4BWMGL5N_939-nay4byceOtRuZxNut9_9igsDATUO_euImfb2L0apuVjYc7BzrxqyKabwXw6UhneI03c8PpvR46ZG4w84HzzncvPRlT3XtYh_5sAtuNvt-D46rd6BVxe0I4w6bBIlf0ONdL1C8-FGTWNo8epSqKe1K22OO79O29nKxrNGgF3qKVAE0ynSO3CL8YJLKlBfFLL4TJkRsOMz9qc5VlLiPLng4woXv9N7aBjnzMdrKLY-8y_tumxB18ELidvuF40JzWWjRF8XvMdSieTgbiytv8OtUhUThWdyWIhIUkogM5o683A8_UKxIFkk7pkRnp3pc8-TlDToXoQ6x_RXbHtUSBzSESv3eoFFaH2hlZl8mVDuc-EGXNRopsuYxsPOjAQT75lP3n35I3jzvBmXrTm4LtevjRhPb9ScVbzq3KxAsoGNM45pgnXBsVECDdK9_q0VhV1QLLsme3ZcMIyBSUb8b_O7C4Iykcuv7JqwYxP5a47CgYKEXHUtFxZCgS3ugQ92WGtw4SAdQO_LFG5BBmD8hUog9VJRpyFYBlQWKE8zFkWYQPhHNQsNYuWLl_YzyWql7ZdL2hfQhGagp3yrzESCsY76GJ86QJ-rWMeH8S_k0kSJMLfg6HpPNrhAN5TPRWsIUY9209oP5FZuuIy_77ieuAdVHqaQrhCILuPTat13ZnKlUAWZ6LWFWt4m2v55VZn6-eJqEzZufzzgjqyy-BwW2SE67UOCwDJm95-MTcr9jhUFBUZU9LRcz8D_TYLiK5siB7pcUCDqD2D0XouoHgB6aruBjYzc8opG3S4awSZdmBnAU0FedmQFpK62PRhCct0bZAIswKfvpXwOxSqxIoyYLM2ZBSzfqZFD9gAyhD6hqKvbytyuB8lmJZraEkhD0lpfhJ1OajtdPXOoF9epuIblCEHSqcSs2i7I5cVJDjrjNqOROOrInHrqrDvrFFIO9L6jhU00OSMB1HgH6H5ICHwxx0huctPMaAsOiE4civOPDaKfGND2M9EEEn2vuUxGVtWJPMNt9WtHaAsLl6aVigfDe9OcbE0lliwsbxI_wG5HMnjD-Ii7kPnEFXXuQpKMAjiGiiw79h3fkGN2x8BogdkZIDR4_Gr3Wh71Nu1DyVBwzfPKzCSkvM7IAj9djNINN1Pt_d5-qCeFtjvCwHYJsowGp4ZGjLh5vtyDFKQkQbSMbbDlp0_IdULHohMYzulWY8JBKSjHk5eq9qG0jfOEXJKeRNiPNRT28ohmVR49tjpfQgemJA-3aYLX8CVE51jtCGrLmFnDMt1_HxI7rMCX5aHfzju3kTc8EGJLjMXAuSTyiGVx6e3lqwyMoKVY0bqNPlrxvrnIaRUWsI7gDUf4k_aSeR5tjkXI3gJrTOW9BxUDkDiDzTEfm080yIbMoYnYEMztrcdbEoWxTi0ZskzqRe52eUyIrtoJL78dgcdrRu-Z5NN1IEesvietBWZy4fd9i4s0B8l1C6yl3cuz8Xia0jtbYW1u9-woe23Ye3CN_6Aj_O_ZmSC5lnNttnydoGZHJ8Os1NjSlimdHWQ5ntWbdwYmZYqRMhMkiEem30F5LQokzrK93TUU6lifzpSt3I-d6_f3nFSXg6Z8_dyFZ4gtqvMsC0qUku65-2BZc52bCFslWGomivEh5BzmbotKSsv-Xp2IJZx4QnS6-DcFFWCtItOSmqSADg4yOiJHTAcg43hp0FDMQm3_Ygyv9DrK7fHmBee2YQZ2jsf0pN3H93UB2OSu8ijQ8p3IlgpCZQr0EhnL3JzufpXcABZcYZz9TpjQ_BeJ3lLvLIYkpd-VBVsiBWoEakxLBMU7MjISJoPT2yA4yuev9uFi7Whs9C9G9OQxXRjJ0bnST6RXhCmDeh1oGSKo4ZfGduWRSiey6rYeehFlxMqJh-DFCLqyT3NV77IDa0cq2oXlT0Ac1wkbd--NiZ5aW4OItnujKQYO6Ab536ms1b4WbeRaAnpmxtnAgEE-XsbccxyofGUhfRIaZU47ft0lGwhU_4miH-BnmVGjZgDDrLl1MHH3BsI1ZMgy96DrbQ0AX9VwoACqJQpfoVSQwBNM3HV8j3XkQnnHP62jOv09uh4qdWyksxYgIKalC9Al1H0d1Qs9hCs6mIsC1HIpt4YLR9MbCl1qzjDT22Zy0pfDJzG_21e_ts4sOk6i7Xzc6QUX2wqccXiHp7oHC2OvP3iFxRjd4WyPY1kXG6N1_y1q1nl7KfYpU8KU0U7uJy7egVdryQdJZ_UJSzQjIon_v404ZApjgFU52U5-HAqzbm-B5z9oNVizahbOHZq8-HMxWOcOSBouo-jyqPtJeDTLoAURlusTkBMC0YqUmEg-pfQdmHsCOWvlh4o7aVnS0ohOMoNf46G1kPGl89CYaej3Uz6PbVcjBVAVVnFIjk35-kslyFCfrews2TvBTL_CI5dSEbU1b-yfLiL1Xbr0qXdQNFxggfNFpJoqmDc1RdTMXGokBRdLW6pu_v0r8LeBjZ0iJb0yo8nMgV6CXC8j_JISqLDr8E4MfTfiLtl7fzWmGQxMNS2Ugc2eFNdqbcgqcqCDuD4iCQ1b2b6uxXdHdN0nFe_OgAIw29GOV8Hn5XXyTHVQxHsmvE-pMCKZiETa-6UVO5pAwG9JHj55X6Z8VWdwoptcNFN8pdnXMvgpPYlex640Lln8mqxelZUZVFBp0DjG-O0HhQofnA3dFMz7JNt2nZVtFuP3GTWZqNbeo0xa_HpIGOPP5cpiVA7w7IRjXcyAGqSdzXZwX5T4dSHgd4IcFNuPzZ1Ns9rPksbenLJWTrqd-79WCY-lIPZ-2yHoSxFFSw4Wc4vLrMFuXl_eE1ws8gD_6MfHwtKAddCCI2oAaPYSj6ANuXg_Y6xdY3IGRfLgkDHq8_E8QmewCvNkgqBFbnDfdznkhWH7NDmkVulzeSeH-1Oe-vEikEtNg7z3LmlrBRv-AV02TzDbW_VGGOtIHLKiEgtCTr4sfK0yyyrmdSZoa6D-qbCbg4BeOUprjRGpgkIYLa0orKyONLRi471eVj04NqhfaFCdjYMKXtL4x5LHcIp__y-y-5h_w8PNAbtPUHrnRFyiVm8rZhVq0UyE957cLYLYWS0ZNFBXDqJtNpNFoj6jWBZM5tb2KO1iyaGQEl0YOfUjyxqHNyE3BePWXmQhuEsYnidiL4RMb2fyexttCbHMdX0_tI_ep6XOSazGOrZDUMuo0Z0sYdbXgy2Cm03LF1RlFnhigHOTWIhw8OCmxFhv2DeqFjWDdR8v2UZiQ3I13TSVA3gyj-pSgqSBMvSqtgQkgRluPqx37Lt94pmWRa0SrTuPfu-Gek1lFz3UyNWUMLNmqPpP7BTn4HgXPnejl_VsvdCLg66RADFNd-ib63HL2QGbmvq9rcSIsQ2-CZAbDlzBzKT-dajhgkjL_PvpKs8bGUUstIzimHE7HBuGZXbW1cPTXfpR-OvPjHCJWX3xYdrV0vbDket3YzGtHFcR1R6IkyF-GZT3NVphfmzC8LMTsDoB6yzPhwjUklxxhWzAYXmcFtI4zX8Ard0FenuijowTC_UnnXGSPilchyn2gbsEJSJa5BmxaMBNnvIzECiJq6mr6jfPB6AoDuaHOmblT_z7PAnjEZpVd0B2BbESJVNKbjZ3dHqcL0yZ4547kPgz6wesngkzjj3ALifarXvjA0vtJh1WIxNMOHSWKQ606EsQPAOwLNGMK3V7Cybuxj4SDWbk2YSPEDSi3E76wcP8dJC7hcKN2pPOVa2hR1LumowlVF9vgBLCkWSoonY4bOhPWDGS752SUDD8J3ftLAl4qxnsQcjWoHfNzkYJsXtuguReXzec0tHvTolEy0858wiYMlEcb3rCqcWi7UrGn7U8Awq9NYP_99w0ihonQex2BGicjk0c9dTwUuE7yugg4iL5q64pQY_IJtgXOO58Y46BpefgLG_FKPe5YzCjcea-IDZO7Qf0HZc2bNXmdvBeqp-wYyh3s2UpZcWF9JJd43_D0_loqCNiDHrLFR5600ZoyCxG6Co1Qnvo91Qco3_c-1mHX0SN2HMzICuS8Msoyxe49Mm4mVv7iRxYDR4T0bEC_BZdnWHHEKwcd4MtwoDqR4kN3Mq7lo9VJ-w6zeW0tlKLx0v6aro5GLqk9S577XNwUBvHjjKjOlxiD5EZ6VXEQJ9WKjKpT-skKlI2oylF8OFGT_fiN9zJt8ko5AYcosX8neTJ5syiPRdUDg3XSsXykYrtA64IFOxcwUtwVWZ308rJ3KpgJtv5U65exjiAMGHJt-eEfzN7YVY021fIrCzwTXiyY8rNkZTUzpXzR16Y-DoouGIp-DajG0papApjimcW3ywugDyQdPJXQlh_MokOqv0Na-kGpI4pgEaQt7a1U97XvC_MqHc7gMnO6EjvyftN-3sEJ-YP4tEJz7lkZIp_71_fVOLlOmV4VHVJDDEtTE0G_0CafVSPfzZVGB-9NR0VBj3g82gs67FekE0xiOXH-NcdM51Z10xxEZldlP3YmeMuRGJoaivlbd3cDspSGcxzHpfDDq-jkbPz026NhI02m7SspDmHyPl2UyO6e9FW1PJCuPPMo_ER0L6HgTjds3LXTS439ftoZpSiy4jfBbhKx8wUByKYsFqKQILS-rufnWEVcwnjHqpPERnHpXHYAFkhhdf7yUiXkQWhIqeqiueaYp3OnMI5DlyS-QX-v1QVo_UpcXQ5CS9EYqdPXR_lKVBz7XhCzZSSiIfmKF7q4cXjFu2-TTtFcI8gsJzNeluqywvu3F2GEZaXbVWaDjYAlDp4PYjBYQa2oANw0LaLSBIO1R6rA-NupcByYP9EaFWoHJ1JJQPmAcjI22W_4vErcsHqyqXXZxmZG0I-V2S02ov6oBHrbB0ryeC7W8et5HnX_dnJK6oQ0Eg7aicRnxvzG-pq2Te7_ghrLNgYq-bAQXa6_tJhsP85EViAObmmBhyGlZz9FsyajjupZ03ZTle3YTEquZv1r-wdJ0zgCCFDd6ovltMW1xDm1lQq2aszxGpj2EBU3mLiryyRNazlAXMY9Z5OuwxjYObWPJq9M0wtTKIl28abs1tJPGq62EUi6d3hiEXZEa07wp6atSssmW8DcZwmVVUOjUdSqgWwW8SvggN32CEUktpDtmxBkrfDATwzvunaz7rQFLYVNvx8hUF76SwHaIiwKka49N1q4wWmCTelrTnbac0no0isctZEXbX5mx72QW1r9frmN9WdqRZnJLd9Z2wKSVa0l4pH4rYrCrQa6A8utLdP3MM-EbDq-MahzZOBJ71mdl4mcJcJOmjjcukGGu_-tZV3QmsfKBOfsAdFbRmugUlZzufGNBGIN8pq0NvGb2KCK50-WOdFPLbJcYh9eBN6lrCxc9cd3WKRKfMb1N_71XJkW7jvh5yzwK4aPI2PxK9j6SnlPzSDVQRJ2ac5RE8om9z32MzobiUpDbmoz58_wju5y6n5xLJIWN5kqfktDNLL-rK8fYLc265JSDl5hINAQdEaTtPGcaO873e44-VCcK9uFgPUEH91luVoeI3aTvdhEMAl_sqyzGbXDEwU5pK52o2ntL1Ww6MfzCYzBcNe9ryt1EziZfHq4eGtbfnQpXqMzVq7jA28pHECWW2eTc1oTmmK7ZwnkjftXc-PjqbGTImAH47xY6B6qvfYdTvH-JcENNul87_p-NKxDQ1la20ZitscRGm1pjvaqB-fNbF_bBHqeZuVHZETf8rt0GUxYVFc0ouPYCOot6ctIoMAwobLLW7lFlF1UMKPhL-7XHORthdSfbDL3AVlyBBAPMXUfXRJnmTwTp1Vq5QcCEI8LeiU85AK1dURZkK5z1cI4ley46luhEfvIgDSQf5Eoesfarlf_OtygrbmfOddr-2z9LvAziTfr3ntnmi-RPOf6U8If2B0N4X-BSd55Nn0WyngInZxb0M8zRh4a2iD4gy3ET2jv6ZyoogolXx_pB2yIrydcK_CTqSBW5zVaD_qTJpmL2QVXJqKdvf34audPTCq3Pgp2W5WTe4t3CYXQ_OwUxafyM7I-1PzZ591IpmhQPEeI1Fa1IRflUnIgrr8HWdZbBsOk0YxnNCB8nIy-ji0zEgOHXDya--IrxXzAS2aheiUiQJXTMpjDGhrPlWkXLpIhp6Bc9gHa818MaNI3pvLlz7eZo78zQZKL98it5_7hd6KwVP5wvLrNvD3YNHTIkl0rq5weZjkmDEXf9f-wbgaQjt8q8WG-yVinSbyc0B8AGteud_Cz6bnK9pItMIInzN_P0eTMjB_LVjIXB5adFyDkl_m9xUEAGfTpaLCiTLP9B0LgahW4ErMrKZc1RWljXfBZiw5QTQ5nOYEerTdk3X7lg-kpdTj7iyyMHqCENe6D5TEyWS9OLC6eiZgtdqpqWiZvo6jV9faVsQQyi3XKvpVHU2_PpCwLoWD8DbL_ucMzLDBlty8jQxFCT9H-c9tWow6Tw-AOthksJFV90eQJpmzA_ja8vh5uFgtjLOs3MoDfB-hbJKE2pCMmx-XiYr9cF31VfrF92wWqQwijERAPJ2bUh6h6dqQPHWiXwZ-L6dspkwWECyFYe9_R6FI9yF5VpUvfkO4PcXpGXxHKwuR6C4AOEQmdepXFm3FwBNMxQeAOsQliZ_bf_2IfGHHpwYQCE0kDumC9nE3tPODb3hDT0L5ZMQGQ-IJTE_GNIW6-1uPHS5WsT47mOvfxEtn-g_4SS8oq544dnIt33azAz53Ia64b904SDHuHnohC_pU16GNyCEztyP7d0kLclWUsoBZga4sFO_NOFoKMbeyin2Rvht5U4d1YADcTzN_MEu9QhIfV5WS2kI54qW75L3fn30dM-WuFMzJKJduW82VV-azgGSbSuHI6WLrtu174FtvqesOv79zsz6IBiID6nDtqtmnVNnmgNF9NIwWMiVLtdXOEvKgSkO1k5w5P54NP7F_FxoE7tr8MtpgcJ6pRdsGZCCTMHCjjQTkINdfXQ5Wk_D82_8583eQFIowFlhlJ3cuilGhJKCwZgI7ZLXUNmTOx4JJeFo8wSl8Br4o5bvpPNaZ7w1OZNbPKXI4UynS5VblMZk5wkpMnA4TwsYP1MOTtTeVOU5fuHON6shNBhU9YBocz-KinIP8l5SeK3RCQlo9rqtpqZ4y_iVKR7kO_qHGddylmG2sZJv5EJbs2m5YSvEz1qqvsTjlPRR00L1aeBLiJ0jHf9wunc0Y-W66-0EpTQXX5Hgod9U6XR6jNkLX7cbu9QgOCBaaujDZ2nTyApMB8ZKD8m78EnklQHsRFKiQQz-9NrsElF4BJXHHi40nPRMokdqffUriW0ZDoIjsHzBsXiI5zPDzx3_x3aEWMSDVRfPkQ5uldzYEQlMrvQZ4frxYb8q8cAtY-Wq_ALom1yKUBoMr3kKbBGKIbDyEoTEQ1dQUHDr8Lux8QoiV6F2egJJPz7paQ2Lj9vZlbr3oWqR1rGrBba4E_Bglv00SwQHzJFKXCvbz3PvwWSwnEqQEm2yK8iHCtA9RmS8AvJVJD-6z8m9bI9RXdW5cxj31B_8boq7-fmI_kmCVzbTi6c6iRYMTjMg8nDRyXGRb9cT_qR_8oO7zUwmR-JNaArSSeDbDw79pl6RE37k660TGyAVIgr_xrOo4E8iQMPCh_tW_wm_V8Cb_YrqIYrSp8rW8w1QknrmgdiX5CIbo2IFgEA1IWwEzWYrZuDXDxcV926HEW5Y891RmK_bla-EqQl8LJQBEzoY0-MgZ8r_PuNvn-C8vhKSLfarK39JTjYl0y9k-IDc9a7Nwxy3ENHMsTSBVt_bvT-M7WQQhzUbGq73k0UmAfjM9GL8FZq-xt9kD7HTXgm-_vFe_MoM5T2SFwEHvRqNBUDYFsZF2fRGA8aRNVgivtgeY2ZKU7ocGcv4x6xBDcMUuhgewiobK-0hUbShYb34wMqq4vD31eKfqbH3mhEql6SlFgdMCoANQLlQRVG7zM4wXZ188LY5zkza9XKfa-JOJszXIjM6_WBevNnM-tqEOl-_25y2TvK_9xJ0kr0V7GDLV3ek5eoM5TWexh_r0kJyksspwZPGJxSBd6z7M9T5-z5Vhg_jaR-0BbeRjL60JXUuvIrB1terv-Yu6cKd2n8yQK9OMk2znvpZRI43V7VjBZjG1zpJVXBEKXmOz8R_KOFKxrUL_Q3KWcS9HFDYkQhnUNOMWgE_aj3iZh8mq1jI5BQCPZvkZI5_nKk5Un3pVnkGoWmVozB2FIl_fKtDkNFHfsPSlVvWy0Zzj4LkhGSiW_L4GOXp5UwL7fSi3o4O_GSBMcAVLxeK2172UH2245DO1ZvELcJamZIN4FrOcrgBMm-OnG7NMpzEW26VIhxbRinRJf2I4ux0TpjRtWO6UiObD4-7NI9e_y26p-DieWtHhLubXWRHGR4J2d0Gr4htnXQ8hFceMiLmioCP3k19bZaxSb0IlAssLxiUHhCTtI3W_hMrtycJQLaW7G-NF67mu_strXGl_OQDm27NRbUTfmW9EZ6KUnfpdyfHcu78-6EuLUsGjdRP4VPdGFqXkbgwME5-oBeiv_iMJTrGYcQIBlAO_EWfzlTNSQaaLhcgPo1Nw8fApCtMuh3PwqyhLy8X3kB3n6SQNX9pqu69hn5jgDHjvzYKV-vNzaRMpozWA4S5h3tQ2Um5p23f_dC4Movpn_A72QhRFlaXsf6BHUZoIaeCaZYPAzpFG6c9AQnctfd2FuPujVz5zwqpDj7LWpRPv8YP1VURgvlbbAf9Ex3ZIwWkvCZWDLsHkTYlqpQIUfn6u5R9WF7mn6ma00cMnWpG_OQtoPwx1YvH4xXRPmVRCZUDQ_mCMO5ySzRle1Tyst2285e2edA28LJw8-N3ULz4osb91vq4p7UVTKQwpTwhoIDDCEk0knGvh-dbdMZXlh00AQSmNCEcLz028q6x9E0BNoQOLsB6r7Pm2pzH4O3BCYnhgGaPkExBcNfI0oz-QeE4dldiJxMo8EP99uKzep80LzIvN15amSWGCGEx_H1vQ2925uOj0W2JYxKAVK64Hapr16TXbkUVrFwC-c40UtMmSa4HPfSJuHnAhU3XqaFJScefDi53L-E0gQqEWszOWPIpTXmYu13yCb9rQD3ygMPhCaU_bU7sdMqHoRZEXiR5CYBu5ZcPSlDfq-n4EzCkwsp3vl1_oB2qAz5-IcDulMUq7auyu6Nu-pdlqS1ht28MS5NpOAxSuVxxxJXlybYGIpw6IJ_zMSTF_2DdXch7PPAI3zKGzgILO2Pkkp8V9mgzpjowh_-nPVzXM8YFjE9ixDjHatC7RQRfmXEtDYW4JxZtktDN-goQo1fLH3c7La5pmFqzS1Fb4D9U0nxge9QdXvPVubaz9tcb346WQNAwec9KENylHXpilT4VP6PxcpmHAF0roOQEZSYQlk_jmVdu9ZUOrjbgVKfMp6QQ597i5b9mZAJFtzcDjGoBdYR387QU1RQWa0RyzPEhzhKSEVt8dd78emctQnab_Kkz71oIhGrbojvgkWT65Gp_tV2CcPWXQ09eirvXKP2sKwNG5HiIuv23UUnLN6sQnV5PC8h88mferXM8mV83DsSSmP1WkenGXWUv2YCS2pOuzlfTR29q9hLlySiMONhiSXsCUZZLUBADDRI9yQIIGP2C0jAGDs3kcci8bzUp6fkPybnDxxAKrYlBXjIyzP_75g14sLAllJNPkEmxS73FUVAemtjwC5XezlhMDdeP0H0hLtDTrFaE1d0haWJfqNvL6H5qKhg3lom7HT8SBNDXJQmvdu2D8hnJvxosnVHJIp7Kv0NcX0LlUO-ZPLtCO2tBg51NdJttgKA3bhttu2k1CgmdbOEsKAfID6Z43VcbV00f6Y8VuWzX1IakX6pGPWCP3NWBbMadKZdg7xay0TLbB0cWtv78gZZ3TcGMN2RaPx0Hh-ke0D9CkRfmILBPIvrP2ttrgvav_0TPR-sCLlYMMapuYAMh9pLitXF4z6C7f3Usx-VE8vWWdthDg-DYgwGawEM2dCwIlj7YKaUwe3pxJ1C83FypJlRhiAVeK4P_2HNNKWjY0kQyiNODvotY88KrbIA45uPkXmrAZE7VocDcTiIsTZGj5rLdPqIuqmvofO3KLFigH9mVcuCiXAK2ruHRDizOUgUd3IfHOilOQ2zb7OALXyuGhkeDFvZd_9ISoLtVBMnQxPMJc6a8ad1dbhpGyTI76_EkkE61uZThhKuVy4ssglHlgWzfAVbUVV_BLm1_wXaLHMA8SbNxinzrYj8CzBhk-eiIUhuKqzm3QoJALX7uruQOXH7ou4Ts5Q68syVsW0ZI_XKqz63CbWXf9uJl6I3yVEfzrSbSI0Gw4DaNjfJdPFv8Mb4ly0jIJzusf2XKggHYouosGxXuXiqlUsuZ4JPi6uAZMnq9WLeEKsMgZsr8o7aHwhV2d7d_eaphWk2R43vXz7vdUpfJfK018-oE6NjZkf5MpATpMMade0kUCIVn283bQ8g7QeFZKbL7kRam6c-b2VRVun3N6NoI0MMP2eRv7Yh8fNCj2YzEj8ek-9aSiLAKdA91aSYTexu6Fj4dllrsF6ctiWyt24eF-ozM77UhTNNsi2OELu_b77kuDWiXmbsVRUIqguvcHa0KXi6VwvCC0iRX9fEE0YEYTBFrPnv-60QCjQ4bNfP1gb9LjPjJ1zSzgNZLNmBkHkFObZ36F-q1mgfLJKaLwUOdLWX0py1wbN9tMC8Tv5tnyCZ67pFXxA4tOcXTkLMCcifPRH3fUC6J9aanZCvJXnvtxExRdXcMOUX7qSbhUQ_JQQBGEFUZLmanUYAujkzal5U8w1eU96JwuWOSjgS0UuZWT4dgYLknTK9lks8PgDqrvghy0066xHg5GvBSausyK4t7uuoNXz3VQb2i3zMGf9XXYvRScjTD6DN4EwH2CfbmPnTN_ZlDpEkUOJSlSqR56-2za_c0_kQ0d2i7cUpWeEE4x3315RI8q6tmpKIgfO3Cu4nhw4dsVtCxlGbIV1sAg0Xk6WVmvOt-_AS1UqjuY-IWEg9OAj7dwtmTvt2GihWO4kghRrmQCY7wTsd0-BaySDX4ZiSHkktwAvQeusqeMqhJ89wKzRjo7801BdvdJRSWpo7K6B5DsLAHkuhzHzS07sFRjFRr8C7wOU91CFdoXz4DdcksmrQgK9SCXpjaYBKf3w7w63qiRJol5htZYzhrrWydrkLSq8EXFG9XH60TUTUkm8AfcX3O3lwigHp9Rq2cFfVWIF_NmLKDXSEPIbT0d9-K9n5CKT4XrVNKO3OsSnBSrCgTrb-6q_t6NSY9brUFt3dg-x76evuzzdN4N_-rOJfwQvHtXk_-KgjyoDHeunsnLGUbCPjH6nEjgQEvKOCQmNNBp8hU3Y8Fdxh6fHS2jfPz4F00LGmABt2WSOEWiR4Urb_YtWUnheDKGbhdv9WFWSpPXwUyO8U7EMHSrRI32pmJuwU28pzzbpnL_E8QP6koFkmVor0IEmwMg8ZKAq7Ph9OoIXZv7yISL4eGbVno8Pu66KbZdoUx2Yb7rQFiaRjq57RWYdBfuCxEzhc3eRvumDrhRvz-qjk2WbtP3zOxVDhcHLGNokwmPLCjUsjrRNZWKrzfOOyiHOC0ibKwHtp3C7wi5da1vdgNIHbUx8e77dlLkHjPkLNvdpk5nWRiHyUkyWVujcMg1tOP8cPhejLUyi54ZQCnLBnHY3f03dKLZPmwTieyrHnCjty2yZOG4d-WI7ID2_mqxkiW5BArg3_xtMLREtxnnEkXSs7te7qNgHqqU482C2aVM0M5SsODhYzhdL6dj8uWI_Sdy_Q4ztZs0ML89Mc3ElzGcype3fHa8cQx99x7Yl4FKq7a-ExH6kgImjDlBqQ4MqhY1tbrlj_CFpfQVT0MvUGjtNxRgdUvONMY5RjME8MLDOX2wIIU7TJlNDzICKMw3_eQX3mWsu-YSspK8SI4DOn7SbAHDAIHifImniPJiTJ-a4UAt-Tz4szhuLFkb5O3H1IDeb73wJrbst_wxX8YPcnmY-qsbPVqbdcnxo9I5Xx2H89EKe8JZBBPxXCfeqafClpJUaG_zSmF1JzZ8eVGNsIRxRXK2jaiKhPSmXGm46WWVPv6mhTTQjO5QI_jMNQJkxiW3rm6Tuo3IWBF-ufj4w72UiFrdmBWuFYW3x2PKMy1eVpV9K5T5J-qKe0DTsWbSd3ic4PTZv0ldV18gIrpdEhRSq3G5vtnC-OuR_KIdH1QJKYV7-kmGCxnNzoxoTpP5l3ZTEcnc8JahtDaE1lUh9-xgcNsklIy-ovSzMtPhxmSToHze-C-1TgVFay8RfD9oceWS6JyAlLwfKKDtOooFl6cSshEE6BtOmrNadk7zWC_SmH8jYkIe29rdqrQ7NvHkHSE7gVWSP9jgNKTqEHeAgz9gn-Tcj2tF2NHWNi8j5w4HUsJAgyhj1YoRU0zxAiSGJYZf5VCJCc6ZfnQFbQDw_uCSfTjBXATK2xEsmux7AqGwvkOrQejVGCzbdlS9dTUt8gdbKgJNFb-DZdNUgzlE_o2V1xRwSS4DHuMFcdBnBhVICEbSbbubu8p-U43fV7sEjasWZyUrGQqbamCNq-n6Ytnb8UM-uOmfrBMZxk-ZyLcNA0AXrwBbBqvhESCUDYKNQoNSb3_zvwISv2BFK5dUotMJOMyVsxZBR0kmfbHqqGpL-d0uNKFWdYGTLEaRmlqOJs8x4Udqtb6OkRUReuV-uMi7nDz8FhT1C4KDypeHwCAg1JaeR7odJpRnrU6zmhR1cbApatC5h2To388d8oS6-5OzSiJDeOM2PyyPOPAYhVXCNQD25u7CBsD16jxncazaOApqEIjIji6YPHd83ouJeMhmKc6zofgMzwwgEA8JE2jjzm1PTAl9C4D4_3g7kNVCnvMiZNL4WJMu92Hq9m09Ow-5a_3frT1yxwjFwb-8mbU_XHGPEVgxBnBsJBMKcnjBrmcO4pgn-nnruGsxqUw7rhNzBvcqwDuB55lyRUVE5kK4TMYgpUCJxe7_1rQi5iKRVjXykTcFDW_OZ_hRYrcCHCNaxJzEDCXGmdoOKSzx7ikg6YWcvz1V_Vj9rE3UjMujPAzqhGgQgM_KzKdjKWA03q0iaYfcO-3q8-dEUTxABdtEewihezX-pCOWkOP1t65NJB_6RNvaci0MeewN_PSW2feIRTWWZVb4ZcHhyB4tG7w-eXwU1Hu30gWw9f9UoH2Vu4LWMec3NQHkji-AHTDpZFilTM5nx0mWz4adpJ7xWbsKUSybAFCKhYH0A04ZctSFUONgf3OkqYa8Yha3vX50TvgjBuF9dgSkxkP56l9pDx0AiNFzIyr66TLKLLggbS4CuxZMA2GgKgJfwZpXMp8hsaJUpvbRxbxt-yOOws7FzNbnua8iiRQ2CN3qaWJoC7iKwuenRhTC4vpL9x_8FKMuwtR2b_y8qp2PZqFOWDzQTAnBjLk0EUIGB71LcGZsJ_qyL06Td8rBjFYorWG_a0VZuRNt54TQYtWEpcviZ9sKwuBH2nto-sG6FfF-QelEq5e_tbcmKiEyLYuyWwlgFIb6nGMDlOpkD_I2Ve4ctAU6dsoM5bvsqXYOXy2kFLAgK_Zh0Y-sf61gYpTcpdS8djC2nHejSC-ak6y_dKpJJh4t23D5e4s2E1hiI3bReYj-MX05WUGlwvxVW1ZRxUHaLOSmPE3Wkuf0NKn4kvddaab6oattxCP0oMpJab-_OfqjmZ_EoXRUS0AArZuPNzYohoyOhtXxzA6PmtRGjBAgVD7WgjJNVvgwcVazjghqZ1ZMg3nfXJBbIkylHmor1uEF_7T2u98awMrg2lGFLu9qu4uhlbcyuKXyWdu9L2bG9Uz6jB3eixGIQCGA-ttbiCffgSITdNstllmby5jIFm688UVY4DlfvOrphrJR8tD0utWRxP1-hyU9EMsquvceSzi6vgYTym-wHelmi1KMTqVp0G3gLdu6VqVq6upY4wINKBCQ2ITcoH_SS_mIPn7FJEqAzWzmXhQslF38pp6q95pWwbHY4Js1FC8nE81cfH-IqxGSI22i87X7WGgnG12U6D2jZ0B8yurUDV3subFCpePmYhlh2XjQhq5lLoTfVZ8KQ7YGOrc6ShMYUeEz2t1sDs1wtvG-RHYPwJBDs7qJjn44Rw4hhyrmNDo2-VzbzaWDp-wf0UyD82t8EQFpbEF5E1qzMhiM7CFs5LXZeHQyS0nAmNORdL6nzfcbE7OOh4Brq8keol6G9HTTJIpr-Ly-YAsGPyjJcL6Ms0l8emR6eEbF8ZpoK4uoyIpQEkE9oggkpt1wz0ge-Qk0XslSYEuV0SOLpJhX1gMHnXkhi3KY-XqIt_rUBQ8aGndHgbrETBQeMZXg_tXgvSA_gkXzKFSVdliVVs-dRK619R008a_JXCOqIBx0kc_5PIPNLO2UoLo3azX67m7lArHxyn9tss7wWldtsiJ_U5XApXYDgnsgzPwBGV5sqAjckEI-vHRgJwvZfiPLYpFl9Vdg6sgb1HGx-b2F1bxqCc_eLAWSuT3QTFCkFmjUimn0XVaZM2NxJn5iaNLSRJLstGDAWOY3Er6PaqN4AM_S1pi8FZvnW2Ji0qZ1QYqE4T1fH8WlLbqcNBgWn2Ys9pFRZcT5dVQovO8gBcvjWUbOvJ9uXGF4aj1OBU0JOziQHcurm5RXJuSsRGHdIQKMIzQDZnyfEs0fmKIRbyHjUPKPwJKGE0zeIVFMKAzMYe5k1OIMnZZEXYIWTOk4WJac1Hmgaha9DWrY6hlMKggi-LZ7phhuTUYh9SGFIi0slmhMIxiEMr71geEOfc9f7OXoUdWSvYl0VkZcDAPnhkrCS6Vm3afIp1wwRXnBJshDCs-5wYLKAH6Tk7kYN5UXwa_Y6iH4L5YOgZofyIPCk5d1frfwzoap7lwDDOvOfEY0tovh3oe72kgG-RoxHY2WLM_lNRL9caZlQLbc1UJxFf_aZgjvlz_TR6WRnpLswhFLvd2GP-MwuLOj9Q7bqy_fL2fa61mU0ig1adPZCaPr0N_6DgtKyBdHjhBzhZL74Z7ls2ukYmkN272Ixp6ENJIr5DAGn5nY_GnIDU3KqBmSx-O4YxP5z4FN9cE5moI-PCWd6Yl2xNyRV6p0QKcuuZuY6WBN8_xTrj03f-_LYBS6aT8P7W4cQ4gRuSypcovNqswAUwcSpov8AvJODEcQrzLG9ywZPDGUbX6cCUfD51sU1AOZotkUq4jdI2GNnmvA30Io-_FV1tXBJhoSVy_OpCRDuBzUwdsq5EtQZqGNP2_iXs2Ks0ofT7lix3rVdxjrIsaVzIavgpQIua8r1e_fxDVO_lBmzeAHIH_UnJm4DedHp_cuKOhkCX5ZNfsAKnsowFYgVbp0gptEQ9NIteDi2ZyH7BPSYfz1UzgFzg_dqfEhWMmfQ5wfwQVg8_wfEAS8c-saBy1M2r1ii2al6SLR0yUuAUVpu2nZ44o9tcfmgeYN4T0YIHcsdLpxPaV1tOHZp-l2W8MH3i1kVJ0_A5x8a91_PtIQtXsU9JRx_2sS4Ckiu5431TsAoyEGnYNvgXP0yud2Ej5jYFtlAg2MU55ibLYjGx7IJ6kYuES1KzTdr1YigrZACou6Frp7Ziw8bWDR728JVtnoAacAhY9LwzhmeZb-0bATG2wx4XJKBP0yn7naPMaKWAq26kDHI_0p3vVu010-yE0Ouh_Hx-TOY2Tzu2mwFc7HnjlMps9ycdtjRI2kAwzTdt17eZQFvOdn-3nyhins_oeQWyFJGJbEv0nfnSHuA44haR97kSK7-UA1oDDft4O6BwDsF9XerEBKjBNmVZ4Y-BjHPJF4nDkg1dx273xvcRHMz4ke6U7CFyftUXsKcE_10DdVemfTcVyux9ksq3CYiFMn39v7_ZW-QP35IpNmn6YpfJhv8ZXBAlidC3PV81Ewa8VIKCf7joQzRAbZLTSUpiP0l_KongfDMRV7po4YfMSPbQDF9mMzX90Wp7kafYOjSDvvr63WXSYEk47b_XPPQb87Y4dhG-3sfPYzNYyMarGA--2rxnoS7UUbHHNuAUQMdzN0rgF4ZUGPlILQYZM0yGMAjnatoqCcizpqFSZCpnHuJKQKJMzzlloXgxr5v6BVO8fbjmIfupgmsYbTx4bhVZPDjSHm0OHr4fu8eRrGjMrvEXIeinPnQ0_ZtQKuWfWoOJxqaQPnjsdqa1gghQROjDJNS9hezU3oY0EvpSsnHzlifPA1-3fTKUdiMXu7Q0g1jgebQ5-OUx0Rd8Ent7r7DfDXVis2BzGIPH9R-vW-Aq8_xx9vvr2_hXeTctCFnh5KYcbgcrJqZZfZIEjw0Mj-c6aiAebCcaN_f7YHyBF2ftEntFEfO8Ns2i7IQdIpGxrgIvMG0tmetZybdiJxnn_UeY7CQ8kq74u5iHXcSjrHt2BltOvKFbNkBrkKoF1KbbycsCPZEYCT-8r-3mkvkr89KVDN60ItcvahUW0loQx-JICq8MdYQeVbk5SM-FDJa5DPOY07G_XAWQ_tIghZK8lI5G1Cq1Efraw6Sf7DIzzKku2-znrlZ2aCgJ3UmnpMp2i4MWHKkpE3KUn40ONOzHE_MJQh_rrFWz9lN1l6ZasxR0C3mPzGUZJ0-K_yR1LE_mJDmCPkmZbGoTKZ6TJ0zEA9kkyCh3qRvZCfygAJZtY-FDhgywJwIakyDCm7fCxedXON_xYAov6No1Ygu5-t3mtH1PIXwu8a_r857dSxQDJUGRf8semXlmnCor3SlVgzGVzqAkhkJeZ4uXSjyq17iOETYQdS4x-czAUmCQl7z-gKfEY1VXpoW74ZGk6ITjxkY2yaTRJqQbC6xgP84iuLkCcoRsJQCvaf_8ZzA7Z-ms7-861AcLUaQvLv7ZuzXL3xt9ZNMRkAXKWm9-H3sNAO86cpt9LDWhEmBLn1UBPpK_U1SWSuL2iIxftKdY-Xt6ELaondoeujgQTZMRse2jFVggeYrcre1rA7YT6yBk0FzSKe4iMzksrRCbyahx6cahRgVZYlzKgTEeI8Lr6irSeWkhE0Q5GsEhraiHPHpQgKEIX3qs-zp2jasbUn3YDV41a13QxRGKxMn1z8IesZ4pWjBIUWTTXqZBlR8u8mPkqYyV7LRanUU8sF0JUSoW2By3ugnWqZTrbrwurb3P9dzXVa9spZdjB0mrQF9bAfKq2Xoh00oruSYVMdvJ0NTXQfcQTBalqJOI46CIlJCn_ADdjsvnbggGnxje-5C0gnPEKWz0nOgywWt9HUq7naEY4lj0bci9whlF3nwyVSnka_X4bQ_2Zfp16vXZeBe_5zGhLyJnc4YymC7aBFtnr4Cexv5qaLcY77qTSUSZgdmsP6WlT-tTLRJRCOmZV9hjUnH6XZ5a9BgWKPkuCBu_KnkqirJV0E-cqSBwApkrn4CW4sA1N00sDbCeNU2g3S3pcramTIR6S-vQBTf_CO9VUxu-v-UM6jVjT5OehgXQitIPruJxH2pljnVhhPRyDLYJqUp68iVlMIVKqgI8LhYYUjexyJ2WZd6bjtV9_Juzf_QNMUh30R5w4VgJgv5ixoGW4FDuML4kNJZz0c1Jie6SfS0yRPsqSRoRz-tpGWlXsrwLM-lWVvM98ZpI8GoIwQt0uFYwE4yAsv1G5PvgvNMjr2VoSIl4XuWwQnYWWnC8tyb0epUqO8PcCxvMjZN6DGD3ITk1gPXNwCOiCe4uN_2isiG8dS0wZFuIVbAMJbwZlZgKaGo5TlhQkerBRgF6lwREK0dgVWu6Xiqq73PY3RKRET9in3UUkN_l1RNpv7X5hhYxr-LsfpjYZRHXqU1NSeQ60QhxVb0Y0Wf46jCdj-RtADg1a7amcF2N47KPBzJDR4wwQtp_IzCbyhA_so_zvP5VmwCWlquzn8bnCYYjRxs-3Ys4Ktsl0yNz7ZpohAR9HYX7KAYg1ILLZbLd9DTOPj1jC8j2Yd8E4wF3Kg4Rq-6CGIz1jC8B2CxXfsNgPlb586oBdvII5fv1tMw1BbY6klfZCEvOWkbc87glcrYQuhaFq6PBfESA1cZ87k_s902ghVDzKLUUASbEVLid3Y1nLUwO9Xdi3348NhFEL_kmTGfZOpT3R-XURPniX3t21JiOr-62LetDI0d5a2YvCTIaLleKMW0BejJq0d3_ff-nxsY67WEFI26fmzoj0bfzJWJA08YP0D3iCg-vVGswpFYw3UTYu8oT1aFbzbZoKfm8Y7UepXwPltEOLw2ZYhdBGbD92ElSbrzUBsyZMwSr5m3ZpH1RG9ZtwtBE9bMR0lapx1pERuRiqlqynZ0MBvee8ZKP-9r1JUcYRFfcCCrdBBTXs5oQtFTeDNQA0lGjn-opgrYTOEWtGxfbKsRZRHvVEkX3sPQpFpkC3N0marAKY39-yD2h6Pn-YVmr_cE07JiBKjSu5zmMVRO1isbivGvtTLyjd2Zo9biREcLrIYzAedTSDcvBaUuXhoCvJtoEghBGTtR2o7RS21I541Pq356xhto9MfC_Lpb143x94tzwuufoHXDxL9XiMPhSAiGcjawErIqJlfEK4YQnahaimPGpLuBaiYvHjnH59PMcq1zSLfL5OLMQFZ9p2S01yuXvUALoc3kLvjj2V7ptqbwhruvNO_MOPx4tFD6RR-U33Bgalp3QGb_IPfnR-x1voSqT63NmC7AKqhBX5oUP5tmkFfm0IG5nUqOsvXOBgosXjAIvw_xrh4ZRp1hsSt6yHoXamEx4gbCkATjxIytH9Casz_v4NhRhewiZN68fI7UqyNdfzXBWtbHx9bt9CSwrQjmdMzSiIwR9RCFrS46ZVtZYrbdmUTwoX6hwML6_nfZuPOVokColz40FTJQkhz-ykQF7Jk18Z8zriLHSdsfYFd3obZcUxJRWv0y0euDaE9C1DHJfxpgUOHNPEzDjU2TlK_ay-X2c4zQ_YPDkSUlukB5XYYgVDGaHrnCJYBO-fAQPuO3tX5jaQt8JgJBd6emgzYt4IcvkTXlRTpuKO3wicaKkcUqpJ6zhlUZ91UT2_znP_bnFrvWVwrnTx7cwmMUH5wiV7n7TRBddriyu2zNCWNgNPgoNA-tBGU7sTYcE6TprVcwK-q0yA3xxPFxD6OYyZQ2atmL23GnpXew5dj6NV47IsQ3BPJPXkQJtmcmQOF_58xJroIaPFT8jpfSKApRf8xexydaSFx8aMdfKq6_mjXY2_dxQgwYSb9nWY1wsrXrkkVL9cvFBkBBXG3bbg4mqrGQK12f-vpW20RDIyVuy5dJop3gRmfIWFiduPT5LuP7-HdOJFBJVSJq1geX0hjjkXuIMnYGPcIdflaOXNkvZjI3DR0FMxBf2Hlw_wXzm1Z0l4k_pT2GPuBQJB7WZJEKjwwqr45NuQkyJl3C4J-LxcjkKCMyBL89zdq0qKqwmmJsizYYER0DOSTKa6MLgjpi0aD-wuDDcIWZfhH3qouJqOgBQpJEhUH6VzXFEqGtzOVO5seMDE7fYo02c4rbqM3LLkflBrx-rZlTYCLFuUeuf1mTUQYMmZ1zjTYLC4l74Ow74OnLTo2G_c_jxGJEcqKju8CuR7J8xA5RS2O8Zj5KJaN6DcsV5XAN9F8RSTqs4t5stQbUZHI23xg0cZkbpMiImUU1Yohbp2cVRQwcKbpVPAh8F4yAaRt2cnq_Fy13NsZS3T1hD--PJvoNH8tiaI2tprffR8mjBlDHEaQOqHdp4PPOJYJjgcbeH6DkHsBlS5U4WInmk4ItuOc8u8NKL-lYQ3qx4NIeDV0sCm60NyQqO-PR_mD8h8go7IQ7JwOEJ_gbEsfd3FAH9K3F4AjrQCVhZLgyOKvF9tCw7VH7lqcthNZ1JJ0Uoj0Ke5tkEapSamS_NntEm6zrtRtzS3SHT2RUK5mmP7-kBkIi_vCBBWhOXuYuH0DQ3IUqYl1j6lhX3JKWaxucv0vHOhKSAjmVfpFu199RBpL9zYQ_6YupVDwXEcFbfwJFUrhVoRxrijrrmrXzGuB27eUFLFidFyB-Xf3g0gWWale9W7ZklsTQ2Y55ykQ03pJF8Y7BmabFiBvL4wZK4o4BR6gPr3D_wuqTACQqXoeqT7GNCQeBkmeTDii23lNXx1jiUl4HWM9Z1x1Evy-yZe-NvgOkwrl94T5T4ZCdWhBZsp0JwVlzzpYWy-YwoHBwrgsCIKA0601IzXQNUaa-aqIuQKCtZGP1XbrFtQHSaTjbkSgLlAs5ODzaS0fd4MyLfx-LjY0vnTk6oewT8yz6auC4dZwDnRmdQSOaR87UQD_YM9mEAMImbNLOQNzEDn6jQ4Fg-sSqWdyMzxNX4wiC-un5SjumjS76mzU9h02GcrSvJFTOS8WaiQjB_6tzfMdXgDGGQXXeP8El2J2tHXOpCaxJDGJDYPDT1rDI37D8yV7FIQofJpf0qbDniDjjy9bDXnvTdpnrcrfPJr3b3uW4Qzbwpx0VbugoYi9B5RSp9M4iGDPwTQ2tmjJPXaQGTkdAc3BesWjdU_X5Wt31SRGDvnBEH88kLqRuQ2xHy4Ubgfk-UxPhfqmGg_XLrK-Y6auSZjSgXaNp28cVUQejIvrcba_zID96Ujy5wIohcPH3qziejbZCePIxN7rE4lPMmWbslyE5wwAjr1xEip0NhNcKNBrWwmIPUh9eGyw7dmUE2BjA97KOcq1TvE90-nhViz5VEUfpD1r2RKOBztELch6MmFZj2_O218kdCseATl4R4ubX_ijq1H0fI6xvkTJwttQw00TmbUzb1Mxb_JZbpcR5G1HYgrO8eHddeQo7-tNlsr_PSPfxFDJW1wdlqyx8e-d1i5vIfL0NMh6zMPv-BGFSGghNAkDbCCMgdMe98wn6c2LUNRGhAQo5tRg6yNdleNI4VeieRhU-04UpVyM1CzpikfXt_ng1vvHT9V0slRJsRzcDyZYSfWbPDFPL1dzKZLgCTh6aB-3EhUzx73IHTZ2uvY5S8LC_z5K4eLmOl8TeWqcl4xJ2zWIlFvciIow-Mna3IK0uc909Da_1y5D3MB2fBpODVPTQMDTg2t8G-3_l-_0oqstnCIVWhcHplCPONC4sW3LbjBKjByMUcluXKjJf4h7MTRO2lMJaI8KFQFvG8M5OOMzrxpSg2NuV7-cahau5MjDGP4ExqaLWAN_Uub4ZpljHVaspR8IitSeckS1mxeufkucrie7fIuimxsfrIAgAiy3GgLalF4ic8k8_BF3LGRcpw1EAjkkXvh4cH7RS_4nNiYeuXeFjElHJZ3W3pKC5L3Gv7lfXsENpeM572h58TCMLzJ7XeBTQkQS9IZt2Ft-TKtfn3nOcKQDhCnK5nZYrtmwD7_4eQ_YZvqoX0-DFWdNNs99viHXY4L89OfVEhNF6IN8PJtUJ_-0a3gnvTU0Om8mrdtdKbJvPSwYVOXr-r1VAGnnLwign4uUscF19uEXkbwPXnptBus-DXeCAymxGWZeMiDIN4Kul9JkUUgqs19zJ62YQfbNTUBq19TmtxBBTzp_r82b3OtWvZ5sZdEmCRWrLreRYtlPtzwRRR7UBSg7aaeID_CCHT4JdEJgyDzbiHdhE8YqD51-N33Z67RjOFNRFgaUReEJ7XgqtwUoOM6uMz_OFNK0upmq7sCYVXBJCNzkxcyZHAy6e34lr6uyRgkAbClSk-OBg_mF5vhIExWx0So_nQnbUcC5j-TIXQpR2MgGZqVUGEIKhqtoiZB74lyWWWEaWtBXDIzb66irWHwnfcRYz7cgohF3XtlLN-5XQdi6lcFJpHmRsB1CaCNkjq50tG8qyV0zGC3vxsY5FP5aDHlOwJQ1aUS5DjILdKA79urYV1iS_VxnQs6gXGfzcAm3O425pYEBSiOtW6xA99wJrn81it0Kbz0_dnA6V4weVycPOYWx5mDQh9sE6ZnG-YshAhUMQohCNYjiOlOgXHcatMU86RifFQ3WzDtWH1FTW4yeUa-nVz-oi73tAOXbq-npUwFXIbRGRJ6fLojH7Nru_462yXTAUYqJyd3Xh1v6vppq4S4e-ehGHNvhyIBFZxqvya3wGcs3g0QCEUV82rngnMxd-OBNFjRqzAsFkW-mpoHYBaeSiVSOcXTng7Fewt-xAnMW7bZdGo31YxwsDW-mZVOgZY3SzKKw752WUKpkH3nPy6aS3z3UiDNvJ7oGbClmXVoorirUebNJRsqRi74Bai5gLAOLqos4JpNt4dHiDjBRsV4EZx_7WG6sBBB7Oo5pG34tjCLFbIkMRX5tBlH6auVOcL36ZoPsW2bnW221NkHxiaPabjLFtuaKYBfr8GwAoEkfiQf65zLLPdFXU3gDZmiOi99G66pX82TJGugx66m2r5U9jaD_Zx2An_iZ0PVdCMs3xtGn-af43fEhMwv0gBJApTnupOCDb48QVyrazs7saT9AwTf8b4jr8a-edycr18ZeuLcqjfckCabPaIR-wOIZArVSn67UIMpDmsv1CJ2fgi5zgUsaOxZwHfkbeAuj4pnX0b2gihjrAzctm-2i4UdtbTyq-djN-G9IpLLYWI56rtUgNQPls4tnTOqSkOXfzXP1DVbJkFKBwgJnN9ffhNQuZkrMOpkkcgdvPjAS41EyRk4NG_vBeHqxZXnuvoLcjRMG50BwahedXqs5lMP4csS_WWkK4WCJKSWGGC2su5Tx93294oDpEhHhnDKoJeuk94X4XmNBZ1ORUQE74pec0VfHE9N2HPW4EZ67mtFOe3JLA3gcNW7BtZd5zl53hMYwxWoymDqkHF7Yukiec3zlwOkiCmnHs2sGCgVqXpHkE4Vo9wnnU9lIC2oe_sNDEgtltbTiegtnDip1VA_T7pI3ITxn-oJinBXpvRjfGfmYSK51PmymHP0tkin_z4MtxK5iUJneCQBDhHO7xzxWKldUyANoiwIb2duzYTJUvKzr99795OuRudauBsNrobzb0IPYhwB1EJ4mAVe3OFrBZrFUfK2fn8RIBRMEgXI4KDDN0XYi-3caqepTrBotArp1-MHhDr4Q-QIP_Z3orqtOihbUWQFmGOwx6PpQmhKZ5mN1wIHUxfzXJbv-Usba6TAg7biraTX46-frSl7Rxrppy9wCCD1deMM1S8h-GLtQg-sPb-pYm0V18JxliiVdufOu636WbESC69pq1JRz9u2v26eiY_niVn8axCPEPvE8YHrPjuasstXYft5OB7R4yNgV6rcjtHowU_EOLVA0YTOmoFBaC9fk3g8O9bmrfhSoVGfNv9JVfW7XPFT3Q_ckV8qIxH8ysBsxwDSXJ091V6E9uqF2hQfGFiLxCqzRPNsTxeYZkBGsQOPrN1DUepfnNTyfoXcytIG4erCMcXB2cAxtU9uwYlGXJtRWYDGZ_egQStO8kECYoblQfMPT4haxV3qvPlkVUHOz1d4LM_QQVoerFxRu7wpVIxewwcewN68u2uiVVW2gAXXFmXcr_X4dDeEHPNJvuISHHEcIXs4eDutR5-B_w5K7lh6KNd6T0MmHlpMlEGnb__GicZZVQenH-F9n2sWDHH8V9tIh_MqqefdOK_FsydhgWj6iMEqe4QWgPm-3YO7DWN4EI_M5eeG6Z06dKGrCOpwMhu2_xvk8ZNZzQZtiF8AxFmTOVAjmaM15FyRQIC-o0aF556tss55D-IBowFMUA-z1SgdJDx-XVi9-TUg7EwiTbJYWnSQHePpLdXilh1GspKdDfr4I3T3-cqg3s2YSmcrkZ6hOMp5MRWkbkhVcn0EarTnyRvUkDTyRhwqvkkZ8y70b_gIApJSdyQaNU9KdrrZ5QniaHOl7yZNT3LUKt36-xhWf7d2-PelblV1xKYA4IvZyDFPjpuHPzXX7gYxyQHWCF-SysQSwQi_DiymB7A6bXCc5Mtoqj3DPXHFBgU9qq2Ylic3DVI8D3yKEhDFW8rg3NNMX0lAEEdOBnbujr9IxJEHd_qByYWUILitXyeq4Ppyv-elDo1Qr42Nyu7hlIVbHLy0OyhYj5T0CR7WGe5w5n3taVeQmP9tlT2KSDk0nREZ06kGXTbuaP7alQA4qCpJr_STu-uDK0nrdnrGG2A9xlxYM24Qr0hpfi6zcklttlaUfPSUrdMyCDYfrKy3PXjtGHcn2wzIDvg2Pt28UA-zuemcRXMKwPLGbq8FmGJ-jDvQwn7c1M9CPna43w_u0PYLI8Nzsrky4oBe41Of-7FjGVffr8jNcdnw64mDtKn18STCKpULs6oFCZgaX4W6ZMygIk12jxgzEQyfROXK-6tWEsfoBvBnFAESxaFunitmKGyGwYFxDBByBjlbdFoMN-anlkpRmlk7RexAhCsOQ-2dVdvpDQneTEbPNRmET5eJgIef8zpQe_t8vNtMdwmhhCEo8PAgWdl-dM9eBoAB-PBTf9hLovck2RC27VT1P7LUm9sXhICIwMzXlJjFBORdmilTwFSzuXgiWUTsekae00mKdKNUE_yzgb83_CLmfPX0xSNwNtn849IhtwKubCMSUurMDAgUc3VQ_xgUCo70GpWZi-L_0f-bRQcO-IFPz_AIxT6Z7jHXwWYT1-50--7I44f7kABnG6j04ogl_hQrfVU-NLxSgDNUpE11wP79c0zPuwjZuwlGMQNpcNiVg9WOAxj4xO4HBPW60JnlCkJQB40X4TOg4_XpPt-YwJsQlcxCR3jTr-fVHwYn1bvyiayKSnlwTDI52PyC4c3Tf6OlCNvoY0UL1xeTf6H0aeeD_4SbWeG3xSBCmeeZ7nj3WKoJ4RHRzUPWLCU0HsViCW--dvE28GuDD8GNNp4hrfWenEz7AZmoBUKMv0lqTC2FR8pn51KGMHC5guy4B_4gKxza-BOBEy98nSsFklClg6a6a-tPinlMzis37J-FzYl2VM9hGDCpBFZJ838HJrahRP1JEzJN467hr1JGsVDrb0QhPs9SQMcFYBY3jy-dqjWyCnxXB2pWS-0m2a8Qp3oSzdCpHawewynxfR-wNVdst6TVj828oB8vkK3Y312yvl9CjZeJvTC_X-5UcDzEzCMjHSjHvfF3IXL-Cgk0WHiTpvz_uzOlnkZoH9fTfkYQYoNr6hwc7FpRKie9md4UjwonPqahYGjH4qI3iCKtFEs-JFa2_Rj8Ql4O09qcrFbqaiRRhAN5uMNYKhWtG5fGGs4ctiZ8pPqGR353-CZmvaUlleh-lRucrk-xxWDozLcA91K8FFmCVzi70eBuyD0fKXxqFO270fw--5Gac9CV6NXg0LSdKKmn3Y5IbDdUBIw18NYr8UDJtZlHZn8P5pYHnw6EtqQyUG118Wj1dNINBBCgy3pejj9Zs_8JyUceEpMsj1iE_aR6OPKcjbjf8fVDiAvzqEwLwI8SYTY2PVztRXMJO_DdTGZxf7lnxDmG4cTK1It0OjO3GwGXTKwCgi9eGoPUSecRwHm_RisZNm3pOsq4_ZMdM194H17aV0rM53rUtLxwqLvMSkNvIXivoPtqUSiuADz_laMaDyVewlc8j4V97oCl306ZJ1gBDe1WhzmBGPA39Ac-TQqg9n7_H7lZMiBWv_GOd_ZnTQ9Ha13sUMLsBGDSZvFV21s38itJYecvrvEItJY46xfy6LN_CbQ0ZVa72R4a-7nrA3hOJ2fklNUMn2zqrOzNSAkzmToWwKxAnTRiplGeiXdVPKXCkiesjfg8jpiyx7ScUIH0f3D3-Dg9Vx7g6udESZQBCh7pgN6Q4jXRFXunLMYIfvsEsYOqlaKeBuWo5Y3doBxeskZzIN_3uKWvr7cPwwkbtFzpFk_f5gc1EXIEIg_cKmB_qwTuZgamWBy8eWw851lwlPGq4ioRXB14RD7b3fhT_PdliuTUmbUd0Op5sYYWWFRQ0UwXGvX7HymUxeBu0FXuvSs9nhZpC796ygsBEde59P4sR1V-Pyr6cT6-zdauyn0hn-vqLR4VDJaHEFAOThV8UdGVeN7NQQ7aPWNwza7SC142I0yzWVb0kNVoLX3J_-rRbYAoOfGD1VWxjxcyjm2awVChM1inFrJhZXMEBMb5Iyuh8RJoiTGheCqFwafo7BwfiZFNxpGyv0p30iE5j-FGPo8cHGEZJTGZtFvAQ0JLkpNdfK-iiFj5QTdtoQXsRVIN_YsaEEoYjv53fveIZ3OR8C-pIaKGeyQmvFofEPiD9b06AEgwrzNVNnmipkLgbC_UJN7yzlokBWZFxxKaBWL57qM9o306uqj31tr415DdQcNrJyJwEllurEKL8GxGb3uMUWTKqSMtsBDwAOo4rP5MUjyD9lLovTMHHuW5L59F3ttgHZhEq-nB2eRSGk_1mwelJDtlzkxQbaz78ire8hDEJCcPVAzFl6gwKdOKXXLr9w93mke3lqDV1U07xr62Jo5Yo9SEXE76f3jvtjN58ciBY75P0iEnmii_uac6r-PUJvZa1jFbWwkKXtz8Z3_D5hBoCnpwZEmt-29YsIE6IItscPZPSy9mNroJi3eW2DfMRoFOLX0pgCPMzeAMBFHtWtXdgYAojrcZ_v4SaaxRJBSIS2jEcO4qRIfn0T0MOKegxmqa0M2OS-NxZ5hf-49SQLHZpl7nOJIAPlXXWUnbT6xWcSBJjepj-7sNrIq_RvtQ78MyS-MPaDadgOxphZPUmt4SAb9KECE3H5KXfH83JyeKUOa-nKbSWSLZiaUni8R7jMMR-fDJn_2tpkKk__aIWlbwDxqVC5tSUYSse-5HIuuKwfzuidGYMWra5ENtCfxCxsV8JX53k6eIfRh3essu1soivrb3tckSBYOQPC6lt9B9aWx8_MHM9edWKQX6DbEWnHOrSUPRCK0O3mim8ck5_inDvKmAb2Bnj3UgisoZrmLzPLChYq9ixwhnr2sxwSId7u4i6I94R3aqeawtE77LHgoofIyUPCVb5BW6LkvGafUZxrXUJfCwMyX33f_zw2RNvvFPsmYB3CJWnHRbhEfZFQj5PG-LUSMncOZ0J-K8U9K_87JHL4aqOQpJdx7r1qToI_iShBIVpdlqqqCG7LeDLejm7EUt-MdliTps1yA9H05AScKzeLK_PT4_8QetCV7-f6EDpoyhJFIQ5j1tKPDAdtvEOmDZl4viaoNfaE7o4-f0_-WVS7IRhLvDW2LeIobSheL4J1e8UkbO23uuqyqNZp8VyegSS-SZ49rAgjuxXo5LEQDoIumScd5lC0EACckbwBXgB5CmhKa7WsBbokQdFh46ObH9vuxK_6OpA4XW1aUKJthLGuXDXoj2I87sEyRBZZQJ4Aes9B3eLR9Llju-GBgUYXFRQQCvkBuNoXEd7t6IhfK3njDF9A3DNZjDQe564dn0JB-qFFH6wr-Gz3wjreBRMZtZKB2zlMX0fozs3JQNdrbaEx3ZaLqu-ewgSougUNjBLkAW0D11gfUq68l4cyAy8nuzYQEwfYi1w1Q9Z6Da3E8CAby2LsD1lVqk64Vim7_aES89vVM17pB_YQGgbbPUY9hbH8BRCuhZlPtDVq8fAAoZS8yYGFIUbB6aKPVvg2anrG75so0XztA_a5NN8QYgk5194aeNXABjDYDp4o4Q45uFl8bUQYaAg8E3lL9aFmlpXvB7AiMiSY-W8n4fM-Rv0E4fDA8QWcgSA51wG84R0WvjSLQJWb8FgfK2XyuoLqBKWHIg4mr9dHkbG-tsqtolI4xrCCxKGpa0f6uxdTmY6_f7qNkSdVxRNB3B8AwvtkaYPocuVWFhm0gM3Gr7vDL5oBksXMRgMQzVvKPdwWM6xyDNVEtlWMP3Lfn-aSSfYI3F1qLz9Rx2Zszh9rNsZnHWHDHQoFuZ_fgKy9UX9IBfwZ3A22AnLISkrAkb6JMcAaYJAvAHo9a8Gz1zqGIF-NgkQEMR_cmmddBiusVeiWBNEdHbdW3_mtFd5fLC1ue8unx9W3ELErdlH5_EEoXaCRPUUsvh86ZnoyeNfYV-32Jyz335Y-H81GLDnPJr42rZv3a-sNCIkmQj5ZRTFCP-AUDlljEEiYcznLKxnyw8xSQ698rq0kjxMbl-t8HLsPkK9vlF1EY5vKDShboPN8AAtVnYnZy8w3t0jlP5dh38YZI55gC9-6CbN-KrkpoXcK3mMQh3MSJeAccC672h6BPTz4-PXLf4axTolfennygSA7MDiHk5GmAABLY0BAeX0a9SJYUu3rN3FWs4bZ42tNxThhyP3lWQ7IJ_eOmyPgyL5FAD-kjG0OZxpZUTQV70KCGjk7mff3jq200v1ycHypRqrs0xjSwApypt64jZFptHQc28bmUeJTnTVshFDlCsDDs-MH60Z5rxqhTF_cofZWkEnBZq_ZctAd_quaiFJQkAf6YQgW6G49kUV7vKv0ZmqgQiwFArFI8BSsT5SQxfP98AIQ7HV2HGgrz0hLH3rv6BfrbdGDE59P6l7YTZ3-idU-UtnZZ2MQsNqypZk9SxFJqVlnhzRVUEcym1Ey-3U7CtcKExHuFTh7YTqUsWbUST5PCqPvQrrE54v8s_P_gxfyz-f31PzTPjOO87EUyOqMwEMTa_6PUS8qKbFes3u0IG3X0EZ5nQWdaYGgQfsU7BtK2XaHDXR-Ts8Gh3b3y2frGcwdaiO-XJIp4RBTU-dCANSu4DZJO0pSRHkAeY3d5X0GAnkpMZntlca1PZsr7RaJnY430nhb2X68Rn3TPneaw6mBoiiDuU8lAPuN98hpH4_bwOosCZQIzqJyJmQGYEIVl-y_z82TNWzjTDOE56JAstVioTPOWbvct6zukaSgjdIIqelzL5sVf647BZ2gO4wPTnlFhCDZXZpqLuBbMsZINbDrlvq-Mg5sl8ePkAcfM5q_HcA-SQLcQAUgMB4Dgm16eZkhbueZZ3CyAepJzCPBpQnHAgyhU6FlMJPm5O5RD255Io3X09Zj5yQ0Kow11xvdwn4PTwZ5bxm0x3MYjIfAwVjFQcwDFgkOjjK1t6lcwHJPq2TVclqqTCYnnIncznG5S7i-x8gVmRZoIo3hh8Q3JSbQmkL78mryiQHvmDkTqBVFqHwyX7zqEzYTogj5H1gaInVLSfvaH13D1en5Cw4747kLlX15Q_fKAZDzwaKtlG9V8530fi6ydw7WNMTH528PTRStISHRvPQz6tdJlvjuG9J2x3qfK2m0YkEiUD6hs-WF6_7ww5KPgAR5sATHFRv_7G8pNbck5MSGPaIOOPvCCutZjIaxCRnUlfJe1wmPCwGEpyhjXRow1ryN_ylTefKmRNgh5a8E_mavFv1bhrmsXoDun7JA8w8DL-fBltoHVwB_7qdK2f_XNxmumTw7cxvnID6lyRcrF-41KqnOt0hg4gLvbRIP8BPvzfSP6DoeUNGoUenyyvCFIQcP_Q-Fe3N50erkr_nfoBDtFXeWdYJXT-7YGl5EqDna3xKgZBQLMX-ClK7zzPzoP1AhxHvulW022kBVCLM9hA3WdH3pM7Ve_oq0Wn-Ja9vvaDromuAbSSfPiaSI6hd6pkEyKvWv9wvpxeq6rWztd0rASePEZqE_0wrKYDZ3cQdtS6yKfpsU6t3wqRaxC7ilpG-hTBN8QsyRtsq1RnWnO9QTCZFEdbt7fcSP7VG0yXfRacrw7l-fGhmb3405PReZWkwOWZrCpyPOKSwaVDqF1T7YKFfBarmIN2FfxNTV-2AbiIKVvtjZnY0kjWMVk39sKvJDAekWt9VFXSW8w-umLvYmp3r75H4SUc_S0EgxPzGB-mP4jtiJDh6uSbzCxb9Nrz9mGARFugYRZNTZu84PLLiOHbrDiWmONIpF8GLHFz-kESS5eXj4BtUUxtkJQbJsWp9__QHPbj4p_Kdc6ML38CqkEJfSu2-a-jZNbfrVQpXvVe6AQbSauWca_-mYvQjDt4k3JMiB_JWp4VUkLP81RIxWMBy2AtfP5onROuQMi5-TOiFhBwUSZg1mNLoXhej_cHTiEgEgU6qF67UpKz_o2zW4gk10FYXLK6t8aITIbNpL_kjouhncN8hohRDFC3SzyWHAjpwCa2L9Brse_ANl5qzH_wD7Y-w7eq93zrmEVIJo2aBZaNL-lxF1lj24n7kigjBwyqX0YCjGU0IuytPcSxmhgD4v-ov1efdinwGQx_xeEI4qjpGoF65LGbR9mgdBPDdW7b8EvoZJBMawijMpfiyUswYHgRYrAupLXF9QQpyteoKUOP4eUsy5qiMgP_-YNo40LfTlCZq-KlTxE4jWMhBP-bYZEzy8PM517CA1hBByOAYQVqBt2AboJ_JU_8wKPlXMcUa6mMYnb_kxdHP66VoGTQnD_-j4O3cuONEBnxZ6cq0V1fvf5m8KLvwSn_A36ttz1BCyicfwA4jnl5-34a8BZMxe-0frlQzYLXiteHOfPaWV8gxqwV1sRagOE79j5Yog6B-ygVS6YC-47Mfia2dFxMhTFOS55UtvdGVbqxFCf4613O0mKQJX8l8cJGeEa-19MhwQlpYQjCoEi0eZqt9vuYnjiYZaiAujO62w5ei7yfhX2l9Qln5xVNKXf0ExPrVpur0DV_SvaWbJDUBiT9XXiq-XutakIE-okK7Rn_NBGZwzv3cRlRozTxEWqVr6ra6QfNXYj2y2T8wtvFO7v9lPQsIdNzjP9pRx_Htix4URIV8j7gT3dAh8RAMV8yVnOtd5xFDLJibxcHcty_qVBq5LLAUaUwH2fQNklqK5J8LiN7LiSpoZPpKHkosxCclhYTp6NoTuVBX0zN6MQadWJXapRMikTGh5Uf8H-RrtnfhbmOp1z-kwcIU06ZitH5Gyjd6StcR2ig76AfNRil-tnMRU0i0loQBJmvk1hFAuvfpwtlQJPolVHA1Z4RHf8MYj024IO2YUg3XxQEWRkB8X_o1ENSB__LNr1R6e09Eo6QW8rmH0nlmsAP_ruXqRHAvZ_6LAuvJCJnAO7PaEtszcgHV0m4nDboSGWBmz9cia4uOZBCKE1ew8-Uv_JBdZj0S9haFiI3DcKHwE1wx9vH52ecbSGZxO4qHDFlEuCaidQstiOYCkuTSxzh_GyZFjue0C3zGY63XmFyJGXgmpE1qM0tfKAbSKeC4LHMpy-NtXqhgT_MpwMB0pVUe-8H-FPzdVrhOFvb_4NqMXVBm1fNBvBfVeSEzVGCS95xfk1NV124FFoZt9vFZlC-FqFoKQaLwvkyeFSUhX1UzA7wrI8DVLyDuU3JXcTkg0mMya_YexeRW-XcnsgnIBD58HIeHvVtvV-wAGLQiGhsklx_8eSWIp1MZGrK_rOrYI2yS7tfXRMOs-nJJ-BWQ6ikABIMrl-Xd2souzxc8r25HgRZZKyfh-tqJV7LVycJDpgYKHsXCGxVcDWWbmDgD24fhCillPoJzNETCDKHeXU-lZLb9A_R_Z_IaILDSHeZDScGwpBaN5K6ekjz_ndY-pHEVplXJ4FJMuKtSTzK2UTcw6-bsmxSl6keYM_QMczwZb3IeW8qx1-fT8iwKzMABvaUvzFbJ6_Yf0ORiarn0o0_C3-csfoIfmo8UQW7dfaekpY3eIKxpWJF6dPjmCnbEgHt4i0h-bwQpmHZgoOpXwxMPjOkcgMvAn9nfEWNIgjkFOwY2z034UBtzPQFBgn7NcVaMBJ51GtkPrpJusEahFeX5HenXpgIizfB7WBLMkH_kIIWYWWwAieVPtfxxBrHAl42dG3wxI-vvB0H79y2NA_L6PnJ4cv1e4xJ3Z4AaiCTE-cZNO-lo-Ir9mzdwSDru5pYKVFup_uzMj_Q-lvG9418nb5rW3oWIm1FzNyBa-zBKKFxK6CSDN1_NzzahspPbi5BYCjYzSdZufS7PBm-nexgSAMaPfb5ljiYzzb0nOJqVcWQ-fBI5cPZenJllR_C_UZJIDs_JPiF9QUEHLaq9W2VpabusIYkjbcgumQeYb8-R9uRpt3Yd9dGJOmuDB50sxoNuKa9hH5Zpo0m7HmQvgvlX3yGzSnkEpVyDJ9J158fvhGkVXkLdAkiJmGeYF0gkerjHlYmmfilsmaAlbLTtz_F29qCXY4Ph21IAHW8zCjwYa-RGusfsXR2VN2IdepVW16roNf73yZamTicRfYaja-C3rYUEhiOhtKnVoUoN2sPNr1kc93MJKvAkahScdlCGmbuRr7hibZrmw-BzyaZnD896WStoE23L2BiXcQbPCaQXX8PJQgNQK9_tOj8e-zfdmIBrIkKQ0Q_uGfta76U0uK-a-CsRuyDGjrfI6mk6uN4ACCQ0uaTRfWzK1z22c6-hlrFDqztxXRlZlEqPyeg8MZ1o2w4F6mGYIWkGzb4WDsYS9hbUQoN0J0gYC3dX3OTN3a6GuVF9JTfrH3V1kW_4CMwAzeyFpED39RFXF6JLgrtgsM5K6TCVlq2XHc_UgMhIehmOA3uGO_S_vQHmfW_tANN-aeocXOsPtLDQ5KtiL-3YJuImpxXzSx9BOC2y33MQCILWHaR7qMY_aas9oedrjbqj-U1W5QNInzxB2rsgw5TmU4396I8tnGRk6wBK00OnlY3LNsR404PQUUlswF2aEsDxXMW0qoDrDku41OhbuskJUaauB7ZN5wnHTIrnfTOUlFRd8QpEQItMVPta68SsyA7X_9naBGn4iaGB5FKL7ZuMenJdy3x-f4xTG_QxdTjFpxCtYIVREfSiXoLMH2_NVk4mJexl_VSwcKIBtLXp8vnryMm8YmYpFR-_c8GQQonWHmAcCV98-duNUKjC0BY3hjZVDviQ0wYBzLHEJ09WunCcmJUElPsO5_x1cBAwMS3ky7p8RBnHnWhzJT0RWKVm_u5Pmw4qV6zLF_WJFAgGgFFKFA0gDyZZOU8rb301ET964RXMroiWHxA7HcaLeVp10LCyulBSbwIN4lvdifDxxoM_GSmIgRyrekfGcgfSRf0oIReG9uosKDECCQ4K12b6_f5Dy_QwT0HRtlXgTarKSWWyivW3WZem3d3fglNV_1fAOoreFpgffbwc-_-PHZT3N-YsqB6GUJwTdo295KOSRje7RjLmU3bmNO8aPr8zjXt0pI7YmcmXpMNWKVTPJGcW-yfOabemdvd9wqMwYx5BsSLlypItzJYeNS7B7N3hKMiSeBXG54zBlyNRR__cFDTxGW8s57jurwAeQbaqheURpxetGDiGR2FhHASpjxLWzzwA1oihb4et-DFgijJhtMUDX1qu-F-5b4VA6qLztUNkDRbIzlJXSVD0_FeC6eg5Zc1JXmdkvpKdJL0LvW_B0PRhHkmrEYf1PU-mH1ubItZp1dP_t4h_FD3ttsyMbIbMwu4gOZgT0YjefVqbw-suA8u2NYCvfBZpIgC0zQhbKtQZ7Xm8yCcjkdxxuJR8XMe7b6elm1vXp0sdANjKBq0vxEdTiXtIJUJoq9kWGDCuGwEsoQW0-YKX-xZGwLfkccm3OUxZTQBV9wVHv74y2omNz5ooRuSmR4nD-K0Wl7Y4jFl3gkvx2J6BlYNPrqg-CPnS3RZKo88WwBGqw4PKSxr1LGVaxA00ghleD1TzzVVrJ1ZURoUe_QjHldFUNu9ezL4e_KO5HJVLLGXwUoclJNdlc6PKbzU2hu0-q_ROnSJFJc1tV2sKNeYezLKQuuEKdKWqo7MOCNMBkFwMElJF4lMffO654SGyEnGj9Qmrd7D4JSAG9bw87xwen1IAqu5nroY_IfRYV9niw0bq_F2fmN5wOF6pVonOpq0dxcmoCYI7_Okses3SLijVFhnIM5tmwGE5maHmTy436qjIKIyezW5GWAps00eL4L8CZnxEDqhQ5Q6QaeiN1zOrj_0z3xc-hqcoluhOacO1xxTQVTnzQlSX9MiHOCgDTyNR1Bjhx2sy56loTAEkoYTmUNlxS0HGIEmxYzPpdq8hJaDIpT-eU6SXYgT3i085IkgN60Rk1wiueU1hon52GPcpSOUkg8Lyj8ay0Vr6NV4jMoj9DGkVICH6uXtsasLsWxRYPVRBNUsAticybJ3qyVF6ep3-mzZywAk5DbLNrFzw1dweNyjpTov5cQ9rfmm1c7Gls7NnzKfiXZ674DllX8DU7O-bEi8qtSKyjBkW6QzeWPKQtyLf5R1nkQtTmr-wQ6hMUKsjJ06LQygJWYhK4k6YELFZkZ0wMvGSbXqm5JY5Rs4ayTN4Gm2b-6ZuaVSFJbaSC2NxkcmxlB9qgKde_tgsQqLp6_mhmoQ45GrFnqjBX6qnh5CXHEUR4MGUPbeyk4nYfFy9KlgZbY96bdgRe_a7ER3MgLOPyZ3HDU20Y6mwn_OuKdpbXE9Vq4pKiISeEAbtyiS3LmQfn7qxrMAGRUBAIyVDNjOTiGYB-0WzW_aF7iBxce0hjbvWDkqKD0KAzg5k7MqSj2Ewq-NFw9xIXMWpyDyo_O1vE8EcSUY-Q7ah22bKKs9IPCYzgkRt2dW3rJI_kvE_gBZd8dBPClzyGb4KjVIxOCOeaXm_hP2ANpG3nPNYFT1v3fKodKRfsJZ4CMkV7zrr9t_10aB3TtwIV3WgmiXRr1XqTsTmfFO_iQxInuGuoOFHviefvwA6gpaQf5MTtpgAYKNbF38vCKbMzbKoHTWPr5A4DpOZdO3kxSHoMWKCU4ZUiQfwOh0rIicYnkB-8_uLQagfPtmFGBzCkxFTgwfqjKO2HWPJY4MMZI9FOExebPBJjK-WVleVA50IRJ9LnPwlJ578EQf9WOvTMHe_zBxL3BDiAD8hZhgmZj3Y8k1zj0aQWM-nmUjSYhq2J8vYNHEslQgGlHAFXtKFZGD9IIdcJIAI9OVCsv1AvXAz6Q3nZfSY2hac8vCUk06Ap6mDTBNlsYNVVB3jBdUmfEXb7Ie0wETbqC-tA4a_-aKwbMHt8AzgsD9jHHkXehcYjyX5uShky4s6topNZlTEzEQ2XQPCroIPmrTH-X7TJTCg8wheWl4zBvVKxxF4hNJaUfgmFh03C8hlBGqrzXdLvUTUyOsRVFVCXlBqUHoBDSp8IHj7USIpvuGgSHkTFuFFvFtiYQzDnrAl0wyZJTQ03qpXc9U95Uohrj1Om8j-YI4bkKjkmVPPMfxCTcrXzjuzfbzNefvLhZrjEDUm5obZ-Zsl52pRiHHc3EtoXs1FWcIxstEEmN86nNGQVFMGLa406FiOXQ28AC16HhZgXP6bqc4n30X1QMAJ8yYlIEQNVn1SnMObwPR7zsUJh4e3khC6OiHT6VPOWKFi6PWU-QZt1hgXGZTY1pSE_oOz7epoTi3jEGv8XzVwFnWfryzRzMKrqhHXfwWWFfzaEzp2wFpsm5nZWNCgOuc2jK5xJXfRFpa-04d08_mt7YY1VjBbP-9lHM3YtqqpausyIcco42UVCaL2C3XUHw4ks0N_ATt29AvofoqNkeJIRISSrz2ScFxUcjSEPPz0NI1JfW6S6OlNgCX7CByEP3MmFO2Yt-VGWjHT-yEgN1PnBG0kjCbrsRB37aa84CO9MEFDxj0HcgzHeUU9ICK97CMfhf8nmyftoHyeX4WPZ_EGfZ6Vv2skTGruMv6YRXvVk_DLl1C3_dIZBHkyVRHngpP9lt8CB57fn2JolKqb96hkmUZL7UnSftz5fFwr3M5R2hmvLaV5AXZQsShlFNJZAdwIRzu9Jf_5CkBmjnZaOQ_YE1HUySyz1jlIUx8_qceU5cIG8Eu1l1fIbgpu_zDjaUp1e1sZyn6axHRtBmWOuvEvI5XXlKkr_80HvK4ob2YYRdm7NOmMbYFniNmc8Tk3mx_IgUCRnfHwcADQODiXO_7wxr6e99twA8MQHOM1a5P4usTkjMh0t6qVZce2QrgcuOriNNJB82wKYBNTD56BhQVe2kqhqgQ2LWY4oKrA2UH1HTvsniUQF0pEB8qnU6oBVfI1zACLNYV05ChOCUExpuBFRayzZ9hVwyn0tbEDg7Ne7ZDL-oxF6fUZv0LpygYcuGv4jXIAE7DZIvPgvgULMBEM4uiX8v2i5kGv4rp6oZ9n2QrTHUWM9IiUXkQvbgP17v8eynrgCQZ0UrTX47bWvCx3ooDOfAagKiUzB7g-jU4H8MXNqoTAxqfLZdI2qPiK1eAy5YKRdAOG9oCtRPFKp6wK1zIFnGrs8rROF0fb71lmk5pHfqoLzXy1zRxwE24Hbz7jyfk6VKYE-oHBYG0t0qS4R7pAAttgctV4NejZCW3gRFnYhk-dfwjgVDwojp2ecFGBF2OTvFIFDcZ2MomZRz3raA65K_RegRrBdqUdqaqrILU9S3iyb0XSkxdWk9xHYacMbGo5EuYCcbpWe32pJkrVW7NL7cUzsyc-WNZlVq_nTsKBcBd-hAcJ9X78h_nrYA6B8FQ3aztJ3O0kXHbRwdeLFYHsqzq0pdQsdQ0zlPFCnr-44iOdXTWCN76ICP9LRhqX9UlfuIbuYQv9Nln1v3xXb7qLc36pTR1_Bl-qX0WGrgB583rd0LpexpgiwsCQakEYejW2czUnY6EsxnOgoe7D6CfBKD1sO_cURM0IB4Jc7di9s";if(!e)return null;if(zt&&zt.sealed===e)return zt;let t=null;try{t=Dr.parse(JSON.parse(vn(e,wp)))}catch{t=null}return zt={sealed:e,bundle:t},zt}function Sn(){let e=oa();if(!e?.bundle)return null;if(e.runtime===void 0){let t=Date.now();try{e.runtime=Mr(e.bundle,{signedAt:t,fetchedAt:t})}catch{e.runtime=null}}return e.runtime}function vp(){let e=oa();return e?.bundle?(e.keys??=new Set(e.bundle.filters.map(t=>re(t.slug))),e.keys):null}function En(e,t=!1){if(t||!e||e.length===0){let n=vp();return n?new Set(n):null}return new Set(e.map(n=>xp.test(n)?n:re(n)))}var ia=null;function Fr(e){ia=e}async function Sp(e,t){let n=await Qo();if(n.size>0)return mt(e,n.values(),t,n);let r=Sn();return r?r.selectFor(e,"free",t?[...t]:void 0):null}var Ep=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,Tp=2048,$p=8192,Rp=32*1024;function Ap(e,t,n){let r=gn(e,{...t,keep_failures:!0,fold_passing:!1,mask_abs_paths:!1,transform:void 0,truncate_lines_at:void 0,max_lines:void 0,on_empty:void 0},{verbosity:"normal",smartCode:!1});if(r.trim().length===0)return ue(e);if(n!=="compact"&&n!=="minimal")return r;let s=r.endsWith(`
72
72
  `)?`
73
73
  `:"";return hn((s?r.slice(0,-1):r).split(`
74
74
  `)).join(`
75
- `)+s}async function Lr(e,t,n,r={}){let s=Buffer.byteLength(t,"utf8"),{exitCode:o,yolo:i=!1,resolver:a,...l}=r,c=qe(Fi(e.startsWith("bash-tool: ")?e.slice(11):e)),u=o!=null&&o!==0&&!(o===1&&xp.test(Ar(c)??c)),f=Ni(a??ia??wp),d=null;for(let O of Li(e))if(d=await f(O,n),d)break;!d&&s>=vp&&!$r.test(e)&&(d=await f(`bash-tool: ${e}`,n));let m=Rr(e.startsWith("bash-tool: ")?e.slice(11):e),h=d?.slug==="git-log"&&m!=null&&/^git\s+log(?:\s|$)/.test(qe(m)),w=o==null&&(h?/^(?:fatal|error):/im.test(ue(t)):Di(t)),b=d?.transform==="smart-read"&&s<=2048&&(t.endsWith(`
75
+ `)+s}async function Lr(e,t,n,r={}){let s=Buffer.byteLength(t,"utf8"),{exitCode:o,yolo:i=!1,resolver:a,...l}=r,c=qe(Fi(e.startsWith("bash-tool: ")?e.slice(11):e)),u=o!=null&&o!==0&&!(o===1&&Ep.test(Ar(c)??c)),d=Ni(a??ia??Sp),f=null;for(let O of Li(e))if(f=await d(O,n),f)break;!f&&s>=Tp&&!$r.test(e)&&(f=await d(`bash-tool: ${e}`,n));let m=Rr(e.startsWith("bash-tool: ")?e.slice(11):e),h=f?.slug==="git-log"&&m!=null&&/^git\s+log(?:\s|$)/.test(qe(m)),w=o==null&&(h?/^(?:fatal|error):/im.test(ue(t)):Di(t)),b=f?.transform==="smart-read"&&s<=2048&&(t.endsWith(`
76
76
  `)?t.slice(0,-1):t).split(`
77
- `).length<=60,R=s<=16384&&m!=null&&/^(?:head|tail)(?:\s|$)|^sed\s+(?:(?:-[Eru]+|--(?:regexp-extended|unbuffered|sandbox))\s+)*(?:-[Enruse]*n[Enruse]*(?:\s|$)|--(?:quiet|silent)(?:\s|$))/.test(qe(m)),E=d?.transform==="smart-read"&&s<=16384&&(l.verbosity??"normal")==="normal"&&l.smartCode!==!0,I=d?.slug==="read-tool"&&s<Ep;if(!i&&(E||I||R||b&&l.smartCode!==!0))return{output:t,filterId:d?.slug??null,rawBytes:s,filteredBytes:s,debugBypass:u||w,droppedTail:null};if(!i&&d&&!d.preserve_exact&&(u||w)&&qi.test(c)){let O=Qi(t,l.verbosity??"normal"),F=O===null?s:Buffer.byteLength(O,"utf8");if(O!==null&&F<s)return{output:O,filterId:d.slug,rawBytes:s,filteredBytes:F,debugBypass:!0,droppedTail:t,failureSummary:!0}}if(!d||(u||w)&&d.preserve_exact&&!i)return{output:t,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:u||w,...i?{droppedTail:null}:{}};let P=O=>{if(!i)return O;let F=O.filteredBytes>s||s>0&&O.output.length===0?t:O.output,W=!O.debugBypass&&!d?.preserve_exact?Or(F,"minimal",O.filterId??""):F,rn=Cr(W)===W?W:Cr(F);return{...O,output:rn,filteredBytes:Buffer.byteLength(rn,"utf8"),droppedTail:null}};if(d.slug==="tsc"&&!u&&!w&&!Ji(e)){let O=Gi(t);if(O!==null)return P({output:O,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(O,"utf8"),debugBypass:!1,droppedTail:null})}if(u||w){let O=i?gn(t,{...d,keep_failures:!0,transform:void 0,max_lines:void 0,truncate_lines_at:void 0,on_empty:void 0},{verbosity:"minimal",smartCode:!1}):d.strip_on_failure&&!d.preserve_exact?Tp(t,d,l.verbosity):d.strip_ansi&&!d.preserve_exact?ue(t):t;!i&&l.verbosity==="minimal"&&d.transform!=="smart-read"&&(O=Zi(O)),!i&&d.slug==="pytest"&&(l.verbosity==="compact"||l.verbosity==="minimal")&&/^={3,} test session starts ={3,}\r?$/m.test(O)&&/^={3,} FAILURES ={3,}\r?$/m.test(O)&&(O=O.replace(/^([=_])\1{2,} (.+?) \1{3,}(\r?)$/gm,"$2$3"));let F=!i&&!d.preserve_exact&&s>=Sp?gi(O.split(`
77
+ `).length<=60,R=s<=16384&&m!=null&&/^(?:head|tail)(?:\s|$)|^sed\s+(?:(?:-[Eru]+|--(?:regexp-extended|unbuffered|sandbox))\s+)*(?:-[Enruse]*n[Enruse]*(?:\s|$)|--(?:quiet|silent)(?:\s|$))/.test(qe(m)),E=f?.transform==="smart-read"&&s<=16384&&(l.verbosity??"normal")==="normal"&&l.smartCode!==!0,I=f?.slug==="read-tool"&&s<Rp;if(!i&&(E||I||R||b&&l.smartCode!==!0))return{output:t,filterId:f?.slug??null,rawBytes:s,filteredBytes:s,debugBypass:u||w,droppedTail:null};if(!i&&f&&!f.preserve_exact&&(u||w)&&qi.test(c)){let O=Qi(t,l.verbosity??"normal"),F=O===null?s:Buffer.byteLength(O,"utf8");if(O!==null&&F<s)return{output:O,filterId:f.slug,rawBytes:s,filteredBytes:F,debugBypass:!0,droppedTail:t,failureSummary:!0}}if(!f||(u||w)&&f.preserve_exact&&!i)return{output:t,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:u||w,...i?{droppedTail:null}:{}};let P=O=>{if(!i)return O;let F=O.filteredBytes>s||s>0&&O.output.length===0?t:O.output,W=!O.debugBypass&&!f?.preserve_exact?Or(F,"minimal",O.filterId??""):F,rn=Cr(W)===W?W:Cr(F);return{...O,output:rn,filteredBytes:Buffer.byteLength(rn,"utf8"),droppedTail:null}};if(f.slug==="tsc"&&!u&&!w&&!Ji(e)){let O=Ki(t);if(O!==null)return P({output:O,filterId:f.slug,rawBytes:s,filteredBytes:Buffer.byteLength(O,"utf8"),debugBypass:!1,droppedTail:null})}if(u||w){let O=i?gn(t,{...f,keep_failures:!0,transform:void 0,max_lines:void 0,truncate_lines_at:void 0,on_empty:void 0},{verbosity:"minimal",smartCode:!1}):f.strip_on_failure&&!f.preserve_exact?Ap(t,f,l.verbosity):f.strip_ansi&&!f.preserve_exact?ue(t):t;!i&&l.verbosity==="minimal"&&f.transform!=="smart-read"&&(O=Zi(O)),!i&&f.slug==="pytest"&&(l.verbosity==="compact"||l.verbosity==="minimal")&&/^={3,} test session starts ={3,}\r?$/m.test(O)&&/^={3,} FAILURES ={3,}\r?$/m.test(O)&&(O=O.replace(/^([=_])\1{2,} (.+?) \1{3,}(\r?)$/gm,"$2$3"));let F=!i&&!f.preserve_exact&&s>=$p?gi(O.split(`
78
78
  `)).join(`
79
- `):O,W=F.length<O.length;return P({output:F,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(F,"utf8"),debugBypass:!0,...W?{droppedTail:t}:{}})}let{text:D,droppedTail:X}=Sr(t,d,i?{...l,verbosity:"minimal",...d.transform==="smart-read"?{smartCode:!0}:{}}:l),Q=!i&&!d.preserve_exact?Or(D,l.verbosity,d.slug):D,St=Buffer.byteLength(Q,"utf8");return t.trim().length>0&&St>=s?P({output:t,filterId:d.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):P({output:Q,filterId:d.slug,rawBytes:s,filteredBytes:St,debugBypass:!1,droppedTail:X})}function $p(){let e=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(e)&&e>0?e:6048e5}function aa(e,t=Date.now()){let n=e.lastHeartbeatOkAt;if(typeof n=="number"&&t-n>$p())return!0;if(e.subEndsAt){let r=Date.parse(e.subEndsAt);if(Number.isFinite(r)&&t>r)return!0}return!1}function la(e,t=Date.now()){return e.plan}import{readFile as Rp,writeFile as Kw,mkdir as Vw,chmod as Ww,rm as qw,rename as Yw,readdir as Xw}from"node:fs/promises";import{join as Ap}from"node:path";var Cp="settings-cache.json",ca=Mt.parse({}),nx=Mt.partial().extend({filters:Mt.shape.filters.removeDefault().partial().optional()});async function gt(){let e=null;try{let t=JSON.parse(await Rp(Ap(S(),Cp),"utf8"));typeof t=="object"&&t!==null&&!Array.isArray(t)&&(e=t)}catch{}return e?Mt.parse({...ca,...e}):ca}var Ip=[[/(authorization\s*:\s*)([A-Za-z][A-Za-z0-9._-]*)\s+[^\s'"]+/gi,"$1$2 [REDACTED]"],[/(authorization\s*:\s*)[A-Za-z0-9._\-+/=]{8,}/gi,"$1[REDACTED]"],[/(bearer\s+)[A-Za-z0-9._\-+/=]{8,}/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-b|--cookie)[=\s]+['"]?)[^\s'";=]+=[^\s'";]+(?:\s*;\s*[^\s'";=]+=[^\s'";]+)*/gi,"$1[REDACTED]"],[/((?:^|[\s'"])(?:Set-)?Cookie\s*:\s*)[^\s'";=]+=[^\s'";]+(?:\s*;\s*[^\s'";=]+=[^\s'";]+)*/gi,"$1[REDACTED]"],[/(--?(?:password|passwd|passphrase|apipass|pass|pwd|token|api[-_]?key|secret|bearer|cookie|jwt)(?:-[a-z0-9]+)*[=\s]+)\S+/gi,"$1[REDACTED]"],[/((?:^|\s)-b[=\s]?['"]?)[^\s'"=]+=[^\s'"]+/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?[^\s:/'"]*:)(\/[^/\s'"][^\s'"]*|[^\s/'"0-9][^\s'"]*|[0-9][^\s'"]*[^\s'"0-9][^\s'"]*)/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?[^\s:/'"]*[^\s:/'"0-9][^\s:/'"]*:)(?:\/[^/\s'"]|[^\s/'"])[^\s'"]*/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?:)(?:\/[^/\s'"]|[^\s/'"])[^\s'"]*/gi,"$1[REDACTED]"],[/((?:[A-Za-z0-9]+-){0,8}(?:X-Api-Key|Private-Token|[A-Za-z0-9]+-(?:Token|Key|Auth|Secret))\s*:\s*)[^\s'"]+/gi,"$1[REDACTED]"],[/((?:^|[\s'"])(?:Set-)?Cookie\s*:\s*)[^\s'"]+/gi,"$1[REDACTED]"],[/(-i\s+)(\/[^\s]+|~\/[^\s]+|[A-Z]:\\[^\s]+)/g,"$1[REDACTED]"],[/([a-zA-Z][a-zA-Z0-9+.-]{0,31}:\/\/[^:/\s@]*:)[^\s@]+(@[^@/\s]+)/g,"$1[REDACTED]$2"],[/(AWS_(?:ACCESS_KEY_ID|SECRET_ACCESS_KEY|SESSION_TOKEN)\s*=\s*)\S+/g,"$1[REDACTED]"],[/(GOOGLE_APPLICATION_CREDENTIALS\s*=\s*)\S+/g,"$1[REDACTED]"],[/(AZURE_(?:CLIENT_SECRET|TENANT_ID|CLIENT_ID)\s*=\s*)\S+/g,"$1[REDACTED]"],[/(sk-(?:proj-)?[A-Za-z0-9_-]{20,})/g,"sk-[REDACTED]"],[/\b(OPENAI_API_KEY\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(ANTHROPIC_API_KEY\s*=\s*)\S+/g,"$1[REDACTED]"],[/(sk-ant-[A-Za-z0-9_-]{20,})/g,"sk-ant-[REDACTED]"],[/\b(GH(?:_|ITHUB_)?TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(GITLAB_TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(SLACK_(?:BOT_)?TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/(xox[bpsoa]-[A-Za-z0-9-]{10,})/g,"xox[REDACTED]"],[/(xapp-[A-Za-z0-9-]{10,})/g,"[REDACTED]"],[/(sk_(?:test|live)_[A-Za-z0-9]{16,})/g,"sk_[REDACTED]"],[/(gh[a-z])_[A-Za-z0-9]{20,}/g,"$1_[REDACTED]"],[/(github_pat)_[A-Za-z0-9_]{20,}/g,"$1_[REDACTED]"],[/(gl(?:pat|rt|soat|imt|dt|ft|agent|oas|cbt|ptt))-[A-Za-z0-9_-]{16,}/g,"$1-[REDACTED]"],[/(npm_[A-Za-z0-9_-]{20,})/g,"npm_[REDACTED]"],[/(?:AKIA|ASIA|AGPA|AIDA|AROA|ANPA)[0-9A-Z]{16,}/g,"[REDACTED_AWS_KEY]"],[/AIza[A-Za-z0-9_-]{35}/g,"[REDACTED_GOOGLE_KEY]"],[/hv[sb]\.[A-Za-z0-9_-]{20,}/g,"[REDACTED_VAULT_TOKEN]"],[/dop_v1_[A-Za-z0-9]{40,}/g,"[REDACTED]"],[/dckr_pat_[A-Za-z0-9_-]{20,}/g,"[REDACTED]"],[/pypi-[A-Za-z0-9_-]{16,}/g,"[REDACTED]"],[/rk_(?:live|test)_[A-Za-z0-9]{16,}/g,"[REDACTED]"],[/whsec_[A-Za-z0-9]{16,}/g,"[REDACTED]"],[/SG\.[A-Za-z0-9_-]{20,}\.[A-Za-z0-9_-]{20,}/g,"[REDACTED]"],[/(eyJ[A-Za-z0-9_-]{6,}(?:\.[A-Za-z0-9_-]{4,}){1,2})/g,"[REDACTED_JWT]"],[/-----BEGIN [A-Z ]*PRIVATE KEY-----(?:[\s\S]*?-----END[^\n]*-----|\r?\n[A-Za-z0-9+/=][A-Za-z0-9+/=\r\n]*)?/g,"[REDACTED_PEM]"],[/\b((?:--?)?[A-Za-z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|PASS|APIKEY|KEY|CRED|CREDS|CREDENTIAL|CREDENTIALS|AUTH|_PWD)[A-Za-z0-9_]*['"]?\s*=\s*)(?:"[^"]*"|'[^']*'|[^"'\s]\S*)/gi,"$1[REDACTED]"],[/\b([A-Za-z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|PASS|APIKEY|KEY|CRED|CREDS|CREDENTIAL|CREDENTIALS|_PWD)[A-Za-z0-9_]*['"]?\s*:\s*)(?:"[^"]*"|'[^']*'|[^\s'",}]+)/gi,"$1[REDACTED]"],[/((?:^|[\s'"{,])['"]?(?:[A-Za-z0-9_]+_)?auth['"]?\s*:\s*)(?:"[^"]*"|'[^']*'|[^\s'",}]+)/gi,"$1[REDACTED]"],[/(\bpwd\s*[=:]\s*)(?:"[^"]*"|'[^']*'|[^/~\s][^\s;'"]*)/gi,"$1[REDACTED]"],[/([=:]\s*["']?)[A-Za-z0-9_\-+/=]{40,}/g,"$1[REDACTED]"]];function Ut(e){let t=e;for(let[n,r]of Ip)t=t.replace(n,r);return t}import{join as da}from"node:path";import{appendFileSync as Np,chmodSync as Dp,existsSync as Mp,mkdirSync as Fp,readFileSync as bx,renameSync as _x,rmdirSync as wx,statSync as Lp,unlinkSync as xx,utimesSync as vx,writeFileSync as Sx}from"node:fs";import{createHash as ix,randomUUID as Op}from"node:crypto";import{readFile as ua,writeFile as fa,mkdir as Pp}from"node:fs/promises";async function jr(){try{let n=(await ua(jt(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(n))return n}catch{}await Pp(S(),{recursive:!0});let e=Op();try{return await fa(jt(),e,{mode:384,flag:"wx"}),e}catch{try{let t=(await ua(jt(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(t))return t}catch{}return await fa(jt(),e,{mode:384}),e}}var jp=512*1024;function ma(){return da(S(),"spool")}function Hp(e){return da(ma(),`${e}.jsonl`)}function Tn(e,t){if(Nr())try{Fp(ma(),{recursive:!0,mode:448});let n=Hp(e);if(Mp(n)&&Lp(n).size>=jp)return;Np(n,JSON.stringify(t)+`
80
- `,{mode:384}),Dp(n,384)}catch{return}}var zp=/^[a-z0-9][a-z0-9._-]*$/i,Up=/^[a-z][a-z-]+$/,Zp=/^[A-Za-z_][A-Za-z0-9_]*=/,Jp=new Set(["gh","glab","gup","hub","gist"]),Gp=/^(gh[a-z]_|github_pat_|gl(?:pat|rt|soat|imt|dt|ft|agent|oas)-|npm_|xox|sk-|sk_|eyj|a(?:kia|sia|gpa|ida|roa|npa)|aiza|hv[sb]\.)/i,Kp=24,ha=new Set(["docker","podman","npm","pnpm","yarn","npx","bun","deno","cargo","rustup","go","pip","pip3","uv","poetry","brew","apt","apt-get","dnf","yum","pacman","kubectl","helm","terraform","aws","gcloud","az","systemctl","composer","bundle","gem","dotnet","prisma","tkr","rtk","token"]),Vp=new Set([...ha,"git","gh","node","python","python3","bash","sh","zsh","psql","mysql","sqlite3","java","ruby","perl","rg","fd","jq","make","gradle","mvn","vitest","jest","tsc","esbuild","vite","webpack","playwright","rails","rake"]),Wp=new Map([["git",new Set(["status","diff","log","show","blame","ls-files","rev-parse","branch","fetch","pull","push","commit","checkout","switch","merge","rebase","stash","tag","remote","add","reset","restore","clean","grep"])],["gh",new Set(["pr","issue","run","repo","api"])]]),qp=new Set(["-C","-c"]);function Yp(e){if(!/[\\/]/.test(e))return e;let t=e.split(/[\\/]/).filter(r=>r.length>0).pop()??"",n=t.toLowerCase().endsWith(".exe")?t.slice(0,-4):t;return Vp.has(n.toLowerCase())?n:""}function Xp(e,t,n){let r=0;for(;e==="git"&&r<n.length&&n[r].startsWith("-");)r+=qp.has(n[r])?2:1;let s=(n[r]??"").toLowerCase();return t.has(s)?`${e} ${s}`:e}function pa(e){let t=e.toLowerCase();return t.startsWith("git")||Jp.has(t)}function Hr(e){let t=e.trim().split(/\s+/).filter(l=>l.length>0),n=0;for(;n<t.length&&Zp.test(t[n]??"");)n+=1;let r=Yp(t[n]??"");if(!r||!zp.test(r)||r.length>Kp)return"";let s=Wp.get(r.toLowerCase());if(s)return Xp(r.toLowerCase(),s,t.slice(n+1));if(pa(r)||Gp.test(r)||Ut(r)!==r)return"";let o=t[n+1];return o&&pa(o)?"":(o&&ha.has(r.toLowerCase())&&Up.test(o)?`${r} ${o}`:r).slice(0,64)}async function ga(e){if(!e.telemetryOptIn)return;let t=Hr(e.cmd),n=t&&Ut(t)===t?t:"other",r=e.sessionId?e.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";Tn("telemetry",{cmd:n,tokensSaved:Math.max(0,Math.round(e.tokensSaved)),...e.tokensRestored?{tokensRestored:Math.max(0,Math.round(e.tokensRestored))}:{},...e.rawTokens!=null?{rawTokens:Math.max(0,Math.round(e.rawTokens))}:{},optimized:e.optimized,...r?{sessionId:r}:{},...e.host?{host:e.host}:{}})}async function ya(e){if(e.plan!=="pro"||Pi(e.filterId)||!(await gt()).telemetryOptIn)return;let t=Hr(e.cmd);!t||Ut(t)!==t||Tn("learn",{cmd:t,filterId:e.filterId==null?null:re(e.filterId),rawBytes:e.rawBytes,filteredBytes:e.filteredBytes})}import{appendFileSync as eh,chmodSync as th,mkdirSync as nh,readFileSync as va,realpathSync as rh,renameSync as Sa,rmSync as Ea,statSync as Ta,writeFileSync as Br}from"node:fs";import{basename as ba,dirname as $a,join as $n,resolve as sh,sep as Gx}from"node:path";var Qp={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"};function ka(e){return e?Qp[e]??"anthropic":"anthropic"}var oh="stats.jsonl",ih="stats-ledger.json",_a=2*1024*1024,ah=3e4,lh=3e4,ch=new Set(["n","g","e"]),uh=256;function Ra(){return{n:0,nc:0,r:0,f:0,or:0,of:0,x:0,sn:0,sr:0,sf:0,mr:0,mf:0,rn:0,rb:0,tn:0,tr:0,tf:0,ox:0,t0:null,t1:null,cmds:{},prov:{},rl:{},fb:{}}}function fh(e){let t=e.trim();if(!t)return null;try{let n=JSON.parse(t);return typeof n.t!="number"||!Number.isFinite(n.t)||n.t<0||n.t>864e10||typeof n.r!="number"||!Number.isSafeInteger(n.r)||n.r<0||typeof n.f!="number"||!Number.isSafeInteger(n.f)||n.f<0||n.r+n.f===0?null:{t:n.t,r:n.r,f:n.f,m:n.m===1,...typeof n.h=="string"?{h:n.h}:{},...typeof n.k=="string"?{k:n.k}:{},...typeof n.c=="string"&&n.c?{c:n.c}:{},...typeof n.p=="string"&&n.p?{p:n.p}:{},...typeof n.s=="string"&&n.s?{s:n.s}:{},...typeof n.o=="string"&&ch.has(n.o)?{o:n.o}:{}}}catch{return null}}function dh(e,t){if(!t.c)return;let n=e.cmds[t.c]??{n:0,nc:0,r:0,f:0,sh:!1};n.n+=1,t.f<t.r&&(n.nc+=1,n.rr=(n.rr??0)+t.r,n.rf=(n.rf??0)+t.f),(t.k==="sh"||t.k==="restore")&&(n.sh=!0),t.h==="shell"&&t.k!=="restore"&&(n.tn=(n.tn??0)+1,n.tr=(n.tr??0)+t.r,n.tf=(n.tf??0)+t.f),n.r+=t.r,n.f+=t.f,e.cmds[t.c]=n}function mh(e){return e.s==="b"?`b:${(e.c??"").split(" ")[0]||"other"}`:e.s?.startsWith("u:")?e.s:e.o==="n"?"n":"?"}function ph(e,t){let n=mh(t),r=e.rl[n]??{n:0,nc:0,r:0,f:0};if(r.n+=1,r.r+=t.r,r.f+=t.f,t.f<t.r&&(r.nc+=1),e.rl[n]=r,t.f>=t.r&&t.o){let s=`${t.o} ${t.c??""}`,o=e.fb[s]??{n:0,r:0};o.n+=1,o.r+=t.r,e.fb[s]=o}}function hh(e,t){if(t.m){e.mr+=t.r,e.mf+=t.f;return}if(e.t0=e.t0==null?t.t:Math.min(e.t0,t.t),e.t1=e.t1==null?t.t:Math.max(e.t1,t.t),t.k==="sh"&&t.r>lh){e.ox+=1;return}if(dh(e,t),t.k==="restore"?(e.rn+=1,e.rb+=t.f):ph(e,t),e.n+=1,e.or+=t.r,e.of+=t.f,t.f>t.r&&(e.x+=1),t.h==="shell"&&t.k!=="restore"&&(e.tn+=1,e.tr+=t.r,e.tf+=t.f),t.f<t.r){e.nc+=1,e.r+=t.r,e.f+=t.f,t.k==="sh"&&(e.sn+=1,e.sr+=t.r,e.sf+=t.f);let n=ka(t.h),r=e.prov[n]??{r:0,f:0};r.r+=t.r,r.f+=t.f,e.prov[n]=r}}function gh(e){let t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function Aa(e){return $n($a(e),ih)}function yh(e){let t=Aa(e),n;try{n=va(t,"utf8")}catch{return{}}try{let r=JSON.parse(n);if(!r.days||typeof r.days!="object")throw new Error("invalid ledger");let s={};for(let[o,i]of Object.entries(r.days))!/^\d{4}-\d{2}-\d{2}$/.test(o)||!i||typeof i!="object"||(s[o]={...Ra(),...i});return s}catch{try{Sa(t,`${t}.corrupt-${Date.now()}`)}catch{}return{}}}function wa(e,t){let n=`${e}.tmp-${process.pid}`;Br(n,t,{mode:384}),Sa(n,e)}function kh(e){try{return Br(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-Ta(e).mtimeMs<ah?!1:(Ea(e,{force:!0}),Br(e,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function bh(e,t=_a,n=_a/2){try{if(Ta(e).size<=t)return}catch{return}let r=`${e}.lock`;if(kh(r))try{let s=va(e,"utf8").split(`
81
- `).filter(c=>c.trim()!==""),o=s.length,i=0;for(;o>0;){let c=Buffer.byteLength(s[o-1])+1;if(i+c>n)break;i+=c,o-=1}let a=yh(e);for(let c of s.slice(0,o)){let u=fh(c);if(!u)continue;let f=gh(u.t),d=a[f]??Ra();hh(d,u),a[f]=d}let l=s.slice(o);wa(e,l.length?`${l.join(`
79
+ `):O,W=F.length<O.length;return P({output:F,filterId:f.slug,rawBytes:s,filteredBytes:Buffer.byteLength(F,"utf8"),debugBypass:!0,...W?{droppedTail:t}:{}})}let{text:D,droppedTail:X}=Sr(t,f,i?{...l,verbosity:"minimal",...f.transform==="smart-read"?{smartCode:!0}:{}}:l),Q=!i&&!f.preserve_exact?Or(D,l.verbosity,f.slug):D,St=Buffer.byteLength(Q,"utf8");return t.trim().length>0&&St>=s?P({output:t,filterId:f.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):P({output:Q,filterId:f.slug,rawBytes:s,filteredBytes:St,debugBypass:!1,droppedTail:X})}function Cp(){let e=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(e)&&e>0?e:6048e5}function aa(e,t=Date.now()){let n=e.lastHeartbeatOkAt;if(typeof n=="number"&&t-n>Cp())return!0;if(e.subEndsAt){let r=Date.parse(e.subEndsAt);if(Number.isFinite(r)&&t>r)return!0}return!1}function la(e,t=Date.now()){return e.plan}import{readFile as Ip,writeFile as qw,mkdir as Yw,chmod as Xw,rm as Qw,rename as ex,readdir as tx}from"node:fs/promises";import{join as Op}from"node:path";var Pp="settings-cache.json",ca=Mt.parse({}),ox=Mt.partial().extend({filters:Mt.shape.filters.removeDefault().partial().optional()});async function gt(){let e=null;try{let t=JSON.parse(await Ip(Op(x(),Pp),"utf8"));typeof t=="object"&&t!==null&&!Array.isArray(t)&&(e=t)}catch{}return e?Mt.parse({...ca,...e}):ca}var Np=[[/(authorization\s*:\s*)([A-Za-z][A-Za-z0-9._-]*)\s+[^\s'"]+/gi,"$1$2 [REDACTED]"],[/(authorization\s*:\s*)[A-Za-z0-9._\-+/=]{8,}/gi,"$1[REDACTED]"],[/(bearer\s+)[A-Za-z0-9._\-+/=]{8,}/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-b|--cookie)[=\s]+['"]?)[^\s'";=]+=[^\s'";]+(?:\s*;\s*[^\s'";=]+=[^\s'";]+)*/gi,"$1[REDACTED]"],[/((?:^|[\s'"])(?:Set-)?Cookie\s*:\s*)[^\s'";=]+=[^\s'";]+(?:\s*;\s*[^\s'";=]+=[^\s'";]+)*/gi,"$1[REDACTED]"],[/(--?(?:password|passwd|passphrase|apipass|pass|pwd|token|api[-_]?key|secret|bearer|cookie|jwt)(?:-[a-z0-9]+)*[=\s]+)\S+/gi,"$1[REDACTED]"],[/((?:^|\s)-b[=\s]?['"]?)[^\s'"=]+=[^\s'"]+/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?[^\s:/'"]*:)(\/[^/\s'"][^\s'"]*|[^\s/'"0-9][^\s'"]*|[0-9][^\s'"]*[^\s'"0-9][^\s'"]*)/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?[^\s:/'"]*[^\s:/'"0-9][^\s:/'"]*:)(?:\/[^/\s'"]|[^\s/'"])[^\s'"]*/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?:)(?:\/[^/\s'"]|[^\s/'"])[^\s'"]*/gi,"$1[REDACTED]"],[/((?:[A-Za-z0-9]+-){0,8}(?:X-Api-Key|Private-Token|[A-Za-z0-9]+-(?:Token|Key|Auth|Secret))\s*:\s*)[^\s'"]+/gi,"$1[REDACTED]"],[/((?:^|[\s'"])(?:Set-)?Cookie\s*:\s*)[^\s'"]+/gi,"$1[REDACTED]"],[/(-i\s+)(\/[^\s]+|~\/[^\s]+|[A-Z]:\\[^\s]+)/g,"$1[REDACTED]"],[/([a-zA-Z][a-zA-Z0-9+.-]{0,31}:\/\/[^:/\s@]*:)[^\s@]+(@[^@/\s]+)/g,"$1[REDACTED]$2"],[/(AWS_(?:ACCESS_KEY_ID|SECRET_ACCESS_KEY|SESSION_TOKEN)\s*=\s*)\S+/g,"$1[REDACTED]"],[/(GOOGLE_APPLICATION_CREDENTIALS\s*=\s*)\S+/g,"$1[REDACTED]"],[/(AZURE_(?:CLIENT_SECRET|TENANT_ID|CLIENT_ID)\s*=\s*)\S+/g,"$1[REDACTED]"],[/(sk-(?:proj-)?[A-Za-z0-9_-]{20,})/g,"sk-[REDACTED]"],[/\b(OPENAI_API_KEY\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(ANTHROPIC_API_KEY\s*=\s*)\S+/g,"$1[REDACTED]"],[/(sk-ant-[A-Za-z0-9_-]{20,})/g,"sk-ant-[REDACTED]"],[/\b(GH(?:_|ITHUB_)?TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(GITLAB_TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(SLACK_(?:BOT_)?TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/(xox[bpsoa]-[A-Za-z0-9-]{10,})/g,"xox[REDACTED]"],[/(xapp-[A-Za-z0-9-]{10,})/g,"[REDACTED]"],[/(sk_(?:test|live)_[A-Za-z0-9]{16,})/g,"sk_[REDACTED]"],[/(gh[a-z])_[A-Za-z0-9]{20,}/g,"$1_[REDACTED]"],[/(github_pat)_[A-Za-z0-9_]{20,}/g,"$1_[REDACTED]"],[/(gl(?:pat|rt|soat|imt|dt|ft|agent|oas|cbt|ptt))-[A-Za-z0-9_-]{16,}/g,"$1-[REDACTED]"],[/(npm_[A-Za-z0-9_-]{20,})/g,"npm_[REDACTED]"],[/(?:AKIA|ASIA|AGPA|AIDA|AROA|ANPA)[0-9A-Z]{16,}/g,"[REDACTED_AWS_KEY]"],[/AIza[A-Za-z0-9_-]{35}/g,"[REDACTED_GOOGLE_KEY]"],[/hv[sb]\.[A-Za-z0-9_-]{20,}/g,"[REDACTED_VAULT_TOKEN]"],[/dop_v1_[A-Za-z0-9]{40,}/g,"[REDACTED]"],[/dckr_pat_[A-Za-z0-9_-]{20,}/g,"[REDACTED]"],[/pypi-[A-Za-z0-9_-]{16,}/g,"[REDACTED]"],[/rk_(?:live|test)_[A-Za-z0-9]{16,}/g,"[REDACTED]"],[/whsec_[A-Za-z0-9]{16,}/g,"[REDACTED]"],[/SG\.[A-Za-z0-9_-]{20,}\.[A-Za-z0-9_-]{20,}/g,"[REDACTED]"],[/(eyJ[A-Za-z0-9_-]{6,}(?:\.[A-Za-z0-9_-]{4,}){1,2})/g,"[REDACTED_JWT]"],[/-----BEGIN [A-Z ]*PRIVATE KEY-----(?:[\s\S]*?-----END[^\n]*-----|\r?\n[A-Za-z0-9+/=][A-Za-z0-9+/=\r\n]*)?/g,"[REDACTED_PEM]"],[/\b((?:--?)?[A-Za-z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|PASS|APIKEY|KEY|CRED|CREDS|CREDENTIAL|CREDENTIALS|AUTH|_PWD)[A-Za-z0-9_]*['"]?\s*=\s*)(?:"[^"]*"|'[^']*'|[^"'\s]\S*)/gi,"$1[REDACTED]"],[/\b([A-Za-z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|PASS|APIKEY|KEY|CRED|CREDS|CREDENTIAL|CREDENTIALS|_PWD)[A-Za-z0-9_]*['"]?\s*:\s*)(?:"[^"]*"|'[^']*'|[^\s'",}]+)/gi,"$1[REDACTED]"],[/((?:^|[\s'"{,])['"]?(?:[A-Za-z0-9_]+_)?auth['"]?\s*:\s*)(?:"[^"]*"|'[^']*'|[^\s'",}]+)/gi,"$1[REDACTED]"],[/(\bpwd\s*[=:]\s*)(?:"[^"]*"|'[^']*'|[^/~\s][^\s;'"]*)/gi,"$1[REDACTED]"],[/([=:]\s*["']?)[A-Za-z0-9_\-+/=]{40,}/g,"$1[REDACTED]"]];function Ut(e){let t=e;for(let[n,r]of Np)t=t.replace(n,r);return t}import{join as da}from"node:path";import{appendFileSync as Fp,chmodSync as Lp,existsSync as jp,mkdirSync as Hp,readFileSync as Ex,renameSync as Tx,rmdirSync as $x,statSync as Bp,unlinkSync as Rx,utimesSync as Ax,writeFileSync as Cx}from"node:fs";import{createHash as ux,randomUUID as Dp}from"node:crypto";import{readFile as ua,writeFile as fa,mkdir as Mp}from"node:fs/promises";async function jr(){try{let n=(await ua(jt(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(n))return n}catch{}await Mp(x(),{recursive:!0});let e=Dp();try{return await fa(jt(),e,{mode:384,flag:"wx"}),e}catch{try{let t=(await ua(jt(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(t))return t}catch{}return await fa(jt(),e,{mode:384}),e}}var zp=512*1024;function ma(){return da(x(),"spool")}function Up(e){return da(ma(),`${e}.jsonl`)}function Tn(e,t){if(Nr())try{Hp(ma(),{recursive:!0,mode:448});let n=Up(e);if(jp(n)&&Bp(n).size>=zp)return;Fp(n,JSON.stringify(t)+`
80
+ `,{mode:384}),Lp(n,384)}catch{return}}var Jp=/^[a-z0-9][a-z0-9._-]*$/i,Kp=/^[a-z][a-z-]+$/,Gp=/^[A-Za-z_][A-Za-z0-9_]*=/,Vp=new Set(["gh","glab","gup","hub","gist"]),Wp=/^(gh[a-z]_|github_pat_|gl(?:pat|rt|soat|imt|dt|ft|agent|oas)-|npm_|xox|sk-|sk_|eyj|a(?:kia|sia|gpa|ida|roa|npa)|aiza|hv[sb]\.)/i,qp=24,ha=new Set(["docker","podman","npm","pnpm","yarn","npx","bun","deno","cargo","rustup","go","pip","pip3","uv","poetry","brew","apt","apt-get","dnf","yum","pacman","kubectl","helm","terraform","aws","gcloud","az","systemctl","composer","bundle","gem","dotnet","prisma","tkr","rtk","token"]),Yp=new Set([...ha,"git","gh","node","python","python3","bash","sh","zsh","psql","mysql","sqlite3","java","ruby","perl","rg","fd","jq","make","gradle","mvn","vitest","jest","tsc","esbuild","vite","webpack","playwright","rails","rake"]),Xp=new Map([["git",new Set(["status","diff","log","show","blame","ls-files","rev-parse","branch","fetch","pull","push","commit","checkout","switch","merge","rebase","stash","tag","remote","add","reset","restore","clean","grep"])],["gh",new Set(["pr","issue","run","repo","api"])]]),Qp=new Set(["-C","-c"]);function eh(e){if(!/[\\/]/.test(e))return e;let t=e.split(/[\\/]/).filter(r=>r.length>0).pop()??"",n=t.toLowerCase().endsWith(".exe")?t.slice(0,-4):t;return Yp.has(n.toLowerCase())?n:""}function th(e,t,n){let r=0;for(;e==="git"&&r<n.length&&n[r].startsWith("-");)r+=Qp.has(n[r])?2:1;let s=(n[r]??"").toLowerCase();return t.has(s)?`${e} ${s}`:e}function pa(e){let t=e.toLowerCase();return t.startsWith("git")||Vp.has(t)}function Hr(e){let t=e.trim().split(/\s+/).filter(l=>l.length>0),n=0;for(;n<t.length&&Gp.test(t[n]??"");)n+=1;let r=eh(t[n]??"");if(!r||!Jp.test(r)||r.length>qp)return"";let s=Xp.get(r.toLowerCase());if(s)return th(r.toLowerCase(),s,t.slice(n+1));if(pa(r)||Wp.test(r)||Ut(r)!==r)return"";let o=t[n+1];return o&&pa(o)?"":(o&&ha.has(r.toLowerCase())&&Kp.test(o)?`${r} ${o}`:r).slice(0,64)}async function ga(e){if(!e.telemetryOptIn)return;let t=Hr(e.cmd),n=t&&Ut(t)===t?t:"other",r=e.sessionId?e.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";Tn("telemetry",{cmd:n,tokensSaved:Math.max(0,Math.round(e.tokensSaved)),...e.tokensRestored?{tokensRestored:Math.max(0,Math.round(e.tokensRestored))}:{},...e.rawTokens!=null?{rawTokens:Math.max(0,Math.round(e.rawTokens))}:{},optimized:e.optimized,...r?{sessionId:r}:{},...e.host?{host:e.host}:{}})}async function ya(e){if(e.plan!=="pro"||Pi(e.filterId)||!(await gt()).telemetryOptIn)return;let t=Hr(e.cmd);!t||Ut(t)!==t||Tn("learn",{cmd:t,filterId:e.filterId==null?null:re(e.filterId),rawBytes:e.rawBytes,filteredBytes:e.filteredBytes})}import{appendFileSync as rh,chmodSync as sh,mkdirSync as oh,readFileSync as va,realpathSync as ih,renameSync as Sa,rmSync as Ea,statSync as Ta,writeFileSync as Br}from"node:fs";import{basename as ba,dirname as $a,join as $n,resolve as ah,sep as Xx}from"node:path";var nh={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"};function ka(e){return e?nh[e]??"anthropic":"anthropic"}var lh="stats.jsonl",ch="stats-ledger.json",_a=2*1024*1024,uh=3e4,fh=3e4,dh=new Set(["n","g","e"]),mh=256;function Ra(){return{n:0,nc:0,r:0,f:0,or:0,of:0,x:0,sn:0,sr:0,sf:0,mr:0,mf:0,rn:0,rb:0,tn:0,tr:0,tf:0,ox:0,t0:null,t1:null,cmds:{},prov:{},rl:{},fb:{}}}function ph(e){let t=e.trim();if(!t)return null;try{let n=JSON.parse(t);return typeof n.t!="number"||!Number.isFinite(n.t)||n.t<0||n.t>864e10||typeof n.r!="number"||!Number.isSafeInteger(n.r)||n.r<0||typeof n.f!="number"||!Number.isSafeInteger(n.f)||n.f<0||n.r+n.f===0?null:{t:n.t,r:n.r,f:n.f,m:n.m===1,...typeof n.h=="string"?{h:n.h}:{},...typeof n.k=="string"?{k:n.k}:{},...typeof n.c=="string"&&n.c?{c:n.c}:{},...typeof n.p=="string"&&n.p?{p:n.p}:{},...typeof n.s=="string"&&n.s?{s:n.s}:{},...typeof n.o=="string"&&dh.has(n.o)?{o:n.o}:{}}}catch{return null}}function hh(e,t){if(!t.c)return;let n=e.cmds[t.c]??{n:0,nc:0,r:0,f:0,sh:!1};n.n+=1,t.f<t.r&&(n.nc+=1,n.rr=(n.rr??0)+t.r,n.rf=(n.rf??0)+t.f),(t.k==="sh"||t.k==="restore")&&(n.sh=!0),t.h==="shell"&&t.k!=="restore"&&(n.tn=(n.tn??0)+1,n.tr=(n.tr??0)+t.r,n.tf=(n.tf??0)+t.f),n.r+=t.r,n.f+=t.f,e.cmds[t.c]=n}function gh(e){return e.s==="b"?`b:${(e.c??"").split(" ")[0]||"other"}`:e.s?.startsWith("u:")?e.s:e.o==="n"?"n":"?"}function yh(e,t){let n=gh(t),r=e.rl[n]??{n:0,nc:0,r:0,f:0};if(r.n+=1,r.r+=t.r,r.f+=t.f,t.f<t.r&&(r.nc+=1),e.rl[n]=r,t.f>=t.r&&t.o){let s=`${t.o} ${t.c??""}`,o=e.fb[s]??{n:0,r:0};o.n+=1,o.r+=t.r,e.fb[s]=o}}function kh(e,t){if(t.m){e.mr+=t.r,e.mf+=t.f;return}if(e.t0=e.t0==null?t.t:Math.min(e.t0,t.t),e.t1=e.t1==null?t.t:Math.max(e.t1,t.t),t.k==="sh"&&t.r>fh){e.ox+=1;return}if(hh(e,t),t.k==="restore"?(e.rn+=1,e.rb+=t.f):yh(e,t),e.n+=1,e.or+=t.r,e.of+=t.f,t.f>t.r&&(e.x+=1),t.h==="shell"&&t.k!=="restore"&&(e.tn+=1,e.tr+=t.r,e.tf+=t.f),t.f<t.r){e.nc+=1,e.r+=t.r,e.f+=t.f,t.k==="sh"&&(e.sn+=1,e.sr+=t.r,e.sf+=t.f);let n=ka(t.h),r=e.prov[n]??{r:0,f:0};r.r+=t.r,r.f+=t.f,e.prov[n]=r}}function bh(e){let t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function Aa(e){return $n($a(e),ch)}function _h(e){let t=Aa(e),n;try{n=va(t,"utf8")}catch{return{}}try{let r=JSON.parse(n);if(!r.days||typeof r.days!="object")throw new Error("invalid ledger");let s={};for(let[o,i]of Object.entries(r.days))!/^\d{4}-\d{2}-\d{2}$/.test(o)||!i||typeof i!="object"||(s[o]={...Ra(),...i});return s}catch{try{Sa(t,`${t}.corrupt-${Date.now()}`)}catch{}return{}}}function wa(e,t){let n=`${e}.tmp-${process.pid}`;Br(n,t,{mode:384}),Sa(n,e)}function wh(e){try{return Br(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-Ta(e).mtimeMs<uh?!1:(Ea(e,{force:!0}),Br(e,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function xh(e,t=_a,n=_a/2){try{if(Ta(e).size<=t)return}catch{return}let r=`${e}.lock`;if(wh(r))try{let s=va(e,"utf8").split(`
81
+ `).filter(c=>c.trim()!==""),o=s.length,i=0;for(;o>0;){let c=Buffer.byteLength(s[o-1])+1;if(i+c>n)break;i+=c,o-=1}let a=_h(e);for(let c of s.slice(0,o)){let u=ph(c);if(!u)continue;let d=bh(u.t),f=a[d]??Ra();kh(f,u),a[d]=f}let l=s.slice(o);wa(e,l.length?`${l.join(`
82
82
  `)}
83
- `:""),wa(Aa(e),JSON.stringify({v:1,days:a}))}catch{return}finally{Ea(r,{force:!0})}}function _h(e){let t=sh(e),n=t,r="";for(;;){try{return $n(rh(n),r)}catch{}let s=$a(n);if(s===n)return t;r=r?$n(ba(n),r):ba(n),n=s}}var wh=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),xh=new Set(["-u","-g","-n","-s","-k"]),vh=/^[a-z0-9][a-z0-9._-]*$/i,Sh=new Set(["git","npm","pnpm","yarn","npx","docker","kubectl","helm","cargo","go","brew","gh","pip","pip3","apt","apt-get","systemctl","terraform","aws","gcloud","az","bundle","rake","rails","prisma","poetry","uv","gem","composer"]),Ca=/^[A-Za-z_][A-Za-z0-9_]*=/;function xa(e){return e.length===0||e[0]==="cd"||e.every(t=>Ca.test(t))}function Eh(e){let t=[],n="",r=!1,s=null,o=()=>{r&&t.push(n),n="",r=!1};for(let i of e){if(s){i===s?s=null:n+=i;continue}if(i==="'"||i==='"'){s=i,r=!0;continue}if(i===" "||i===" "){o();continue}if(`|;&<>
84
- `.includes(i)){if(o(),xa(t)){t=[];continue}return t}n+=i,r=!0}return o(),xa(t)?[]:t}function Rn(e){let t=Eh(e).map(a=>a.replace(/^[({]+/,"")).filter(Boolean),n=0;for(;n<t.length;){let a=t[n];if(Ca.test(a)){n+=1;continue}if(wh.has(a)){for(n+=1;n<t.length;){let l=t[n];if(l.startsWith("-")){n+=xh.has(l)?2:1;continue}if(/^\d+(?:\.\d+)?[smhd]?$/.test(l)){n+=1;continue}break}continue}break}if(n>=t.length)return"";let r=t[n],s=r.includes("/")?r.slice(r.lastIndexOf("/")+1):r,o=t[n+1];return(o&&!o.startsWith("-")&&vh.test(o)&&Sh.has(s.toLowerCase())?`${s} ${o}`:s).slice(0,24)}function Th(){return $n(S(),oh)}function Ia(e,t,n=Th(),r=!1,s,o,i,a,l={}){if(!Number.isSafeInteger(e)||!Number.isSafeInteger(t)||e<0||t<0||e+t===0)return;let c=s?`,"h":${JSON.stringify(s)}`:"",u=o?`,"k":${JSON.stringify(o)}`:"",f=i?`,"c":${JSON.stringify(i.slice(0,24))}`:"",d=a?_h(a):"",m=d&&d.length<=uh?`,"p":${JSON.stringify(d)}`:"",h=l.s?`,"s":${JSON.stringify(l.s.slice(0,66))}`:"",w=l.o?`,"o":${JSON.stringify(l.o)}`:"",b=`{"t":${Math.floor(Date.now()/1e3)},"r":${e},"f":${t}${r?',"m":1':""}${c}${u}${f}${m}${h}${w}}
85
- `;try{nh(S(),{recursive:!0,mode:448}),eh(n,b,{mode:384}),th(n,384),bh(n)}catch{return}}function Oa(e){let t=e.filterId==null?void 0:e.filterId.startsWith("user/")?`u:${e.filterId.slice(5)}`:"b",n=e.filteredBytes<e.rawBytes?void 0:e.filterId==null?"n":e.debugBypass?"e":"g";return{...t?{s:t}:{},...n?{o:n}:{}}}function Pa(e,t,n){let r=n!=null?Math.min(e,n):e,s=n!=null?Math.min(t,n):t;return{raw:r,filtered:s}}import{mkdir as ds,writeFile as Fl,readFile as Un,unlink as Ll,chmod as jl,rename as ky,copyFile as Hl,stat as by,readdir as _y,rm as wy}from"node:fs/promises";import{existsSync as ps,realpathSync as Bl}from"node:fs";import{basename as xy,delimiter as Nl,join as U,dirname as zl}from"node:path";import{fileURLToPath as vy}from"node:url";import xt from"node:os";import{basename as $h}from"node:path";var Rh={exec:"tkr-exec",processor:"tkr-processor",daemon:"tkr-daemon","shim-run":"tkr-shim"},Ah={codex:"tkr-codex-hook",cursor:"tkr-cursor-hook",gemini:"tkr-gemini-hook",agent:"tkr-agent-hook",copilot:"tkr-copilot-hook",droid:"tkr-droid-hook",trae:"tkr-trae-hook",qwen:"tkr-qwen-hook",crush:"tkr-crush-hook",junie:"tkr-junie-hook",zcode:"tkr-zcode-hook",grok:"tkr-grok-hook",context:"tkr-context-hook","pre-tool-use":"pre-tool-use","post-tool-use":"post-tool-use","session-recap":"session-recap","session-start":"on-session-start","reducer-session-start":"reducer-session-start","reducer-prompt-submit":"reducer-prompt-submit","reducer-stop":"reducer-stop","command-expansion":"command-expansion"};function Ee(e){let t=$h(e).replace(/\.(m?js|ts)$/,"");if(t==="tkr")return[];for(let[n,r]of Object.entries(Rh))if(r===t)return[n];for(let[n,r]of Object.entries(Ah))if(r===t)return["hook",n];return null}import{realpathSync as Na}from"node:fs";import{delimiter as Ch,join as yt}from"node:path";import Ih from"node:os";function Te(){return!1}function zr(e,t=process.execPath){let n=Te()?Ee(e):null;return n?[process.execPath,...n]:[t,e]}function Da(e,t){try{return Na(e)===Na(t)}catch{return!1}}function Zt(e=process.env.PATH??"",t=process.platform,n=process.execPath){let r=t==="win32"?"tkr.exe":"tkr";for(let s of e.split(t==="win32"?";":Ch)){if(!s||s.includes("node_modules"))continue;let o=yt(s,r);if(Da(o,n))return o}if(t!=="win32"){let s=Ih.homedir();for(let o of[yt(s,".local","bin",r),yt(s,".local","share","tokmizer","current","dist","bin",r),yt("/opt/homebrew/bin",r),yt("/usr/local/bin",r),yt("/home/linuxbrew/.linuxbrew/bin",r)])if(Da(o,n))return o}return n}import{existsSync as Lv,readFileSync as _g}from"node:fs";import{join as wg}from"node:path";import xg from"node:os";import{readFile as lg,writeFile as cg,rename as ug,mkdir as tl,chmod as fg,stat as dg,unlink as mg}from"node:fs/promises";import{existsSync as pg,lstatSync as hg,readlinkSync as gg,realpathSync as Qa}from"node:fs";import{basename as yg,dirname as Fn,join as kg,resolve as el}from"node:path";import{accessSync as Dh,chmodSync as lv,constants as Mh,existsSync as On,mkdirSync as cv,readdirSync as Fh,readFileSync as Lh,realpathSync as Fa,renameSync as uv,unlinkSync as fv,writeFileSync as dv}from"node:fs";import{chmod as jh,mkdir as Hh,rename as Bh,unlink as zh,writeFile as Uh}from"node:fs/promises";import{basename as Gr,dirname as Ye,join as ye,sep as bt}from"node:path";import Zh from"node:os";import{rmSync as Oh,statSync as Ph}from"node:fs";import{join as Ur}from"node:path";var An="tokmizer: shim target missing, running command directly; run `tkr doctor --fix`";function V(){return Ur(S(),"shims")}function kt(){return Ur(S(),"fail-open")}var Nh=24*36e5;function Zr(e=Date.now()){try{if(e-Ph(kt()).mtimeMs<Nh)return!0;Oh(kt(),{force:!0})}catch{}return!1}function Cn(){return`[ -f ${H(kt())} ]`}function Jr(){return Ur(S(),"shim-fallbacks")}function H(e){return`'${e.replace(/'/g,"'\\''")}'`}function Ma(e){if(!e.startsWith("'")||!e.endsWith("'")||e.length<2)return null;let n=e.slice(1,-1).split("'\\''");return n.some(r=>r.includes("'"))?null:n.join("'")}function In(e){return["set -f",`_tk_d=${H(V())}`,"_tk_o=$IFS; IFS=:; _tk_p=; _tk_x=","for _tk_e in $PATH; do",' [ -n "$_tk_e" ] || continue',' [ "$_tk_e" -ef "$_tk_d" ] && continue'," _tk_p=${_tk_p:+$_tk_p:}$_tk_e",' [ -z "$_tk_x" ] && [ -f "$_tk_e/$_tk_c" ] && [ -x "$_tk_e/$_tk_c" ] && _tk_x=$_tk_e/$_tk_c',"done","IFS=$_tk_o; PATH=$_tk_p; export PATH; set +f",'[ -n "$_tk_x" ] || { echo "$_tk_c: command not found" >&2; exit 127; }','exec "$_tk_x" "$@"'].map(t=>`${e}${t}`)}var ja=1,Jt="tkr-shim.stable",Ha=/^(?:0|[1-9]\d{0,5})\.(?:0|[1-9]\d{0,5})\.(?:0|[1-9]\d{0,5})$/;function _t(){return ye(S(),"bin","tkr-shim-launch")}function Gt(){return ye(S(),"bin","tkr-hook")}function La(){return ye(process.env.CLAUDE_CONFIG_DIR||ye(Zh.homedir(),".claude"),"plugins","cache","tokmizer","tokmizer")}function Jh(e){let t=Ye(Ye(Ye(e)));return Ha.test(Gr(t))&&Gr(Ye(t))==="tokmizer"?Ye(t):null}function Kr(e){return/[\n\r]/.test(e)||e.includes(`${bt}_npx${bt}`)||e.includes(`${bt}.bun${bt}install${bt}cache${bt}`)}function Vr(e){let t=e.match(/^(.*)[\\/]Cellar[\\/]([^\\/]+)[\\/][^\\/]+[\\/](.*)$/);if(!t)return e;let n=ye(t[1],"opt",t[2],t[3]);try{return Fa(n)===Fa(e)?n:e}catch{return e}}function Gh(e=process.execPath){return Kr(e)?"":Vr(e)}function Pn(e,t=Te()){if(t&&Ee(e)){let s=Zt();return{single:Kr(s)?"":Vr(s),js:"",cache:La(),node:""}}let n=Gh(),r=Jh(e);return r?{single:"",js:"",cache:r,node:n}:{single:"",js:Kr(e)?"":Vr(e),cache:La(),node:n}}function Kh(e){try{return Dh(e,Mh.X_OK),!0}catch{return!1}}function Vh(e){let t=null,n=-1,r;try{r=Fh(e)}catch{return null}for(let s of r){if(!Ha.test(s))continue;let o=ye(e,s);if(!On(ye(o,"dist","bin","tkr-shim.js"))||!On(ye(o,"dist","bin",Jt)))continue;let[i,a,l]=s.split(".").map(Number),c=i*1e6+a*1e3+l;c>n&&(n=c,t=o)}return t}function Wh(e){return e.single&&Kh(e.single)||e.js&&On(e.js)&&(Gr(e.js)!=="tkr-shim.js"||On(ye(Ye(e.js),Jt)))?!0:e.cache!==""&&Vh(e.cache)!==null}function Ba(e,t){return["#!/bin/sh",`_tk_f=${ja}`,`${t}=$1`,"shift",`_tk_s=${H(e.single)}`,`_tk_j=${H(e.js)}`,`_tk_k=${H(e.cache)}`,`_tk_n=${H(e.node)}`]}function za(e,t){return["_tk_t=",`if [ -n "$_tk_j" ] && [ -f "${t}" ] && { [ "\${_tk_j##*/}" != tkr-shim.js ] || [ -f "\${_tk_j%/*}/${Jt}" ]; }; then _tk_t=${t}; fi`,'if [ -z "$_tk_t" ] && [ -n "$_tk_k" ] && [ -d "$_tk_k" ]; then'," _tk_b=-1",' for _tk_r in "$_tk_k"/*/; do'," _tk_v=${_tk_r%/}; _tk_v=${_tk_v##*/}"," case $_tk_v in *[!0-9.]*|.*|*.|*..*|0[0-9]*|*.0[0-9]*|*[0-9][0-9][0-9][0-9][0-9][0-9][0-9]*) continue ;; [0-9]*.[0-9]*.[0-9]*) ;; *) continue ;; esac"," case ${_tk_v#*.*.} in *.*) continue ;; esac",` [ -f "\${_tk_r}dist/bin/${e}" ] && [ -f "\${_tk_r}dist/bin/${Jt}" ] || continue`," _tk_1=${_tk_v%%.*}; _tk_2=${_tk_v#*.}; _tk_3=${_tk_2#*.}; _tk_2=${_tk_2%%.*}"," _tk_v=$((_tk_1 * 1000000 + _tk_2 * 1000 + _tk_3))",` if [ "$_tk_v" -gt "$_tk_b" ]; then _tk_b=$_tk_v; _tk_t=\${_tk_r}dist/bin/${e}; fi`," done","fi",'if [ -z "$_tk_t" ]; then',` _tk_d=${H(V())}`," set -f; _tk_o=$IFS; IFS=:"," for _tk_e in $PATH; do"," case $_tk_e in /*/node_modules/*|*/node_modules) continue ;; /*) ;; *) continue ;; esac",' [ ! "$_tk_e" -ef "$_tk_d" ] || continue',' for _tk_g in "$_tk_e/../lib/node_modules/@tokmizer/plugin/dist/bin" "$_tk_e/../opt/tokmizer/libexec/lib/node_modules/@tokmizer/plugin/dist/bin"; do',` if [ -f "$_tk_g/${Jt}" ] && [ -f "$_tk_g/${e}" ]; then _tk_t=$_tk_g/${e}; break 2; fi`," done"," done"," IFS=$_tk_o; set +f","fi","_tk_x=",'if [ -n "$_tk_t" ]; then',' for _tk_x in "$_tk_n" "$(command -v node 2>/dev/null)" /opt/homebrew/bin/node /usr/local/bin/node /usr/bin/node ""; do',' [ -n "$_tk_x" ] && [ -x "$_tk_x" ] && break'," done","fi"]}function qh(e){return[...Ba(e,"_tk_c"),`if ! ${Cn()}; then`,' if [ -n "$_tk_s" ] && [ -x "$_tk_s" ]; then exec "$_tk_s" shim-run --as "$_tk_c" "$@"; fi',...za("tkr-shim.js","$_tk_j").map(t=>` ${t}`),' if [ -n "$_tk_x" ]; then exec "$_tk_x" "$_tk_t" --as "$_tk_c" "$@"; fi',` echo ${H(An)} >&2`,` { echo x >> ${H(Jr())}; } 2>/dev/null`,"fi",...In(""),""].join(`
86
- `)}function Yh(e){return[...Ba(e,"_tk_m"),"case $_tk_m in tkr-*-hook) ;; *) { /bin/cat || /usr/bin/cat; } >/dev/null 2>&1; exit 0 ;; esac",'if [ -n "$_tk_s" ] && [ -x "$_tk_s" ]; then _tk_w=${_tk_m#tkr-}; exec "$_tk_s" hook "${_tk_w%-hook}" "$@"; fi',...za("$_tk_m.js","${_tk_j%/*}/$_tk_m.js"),'if [ -n "$_tk_x" ]; then exec "$_tk_x" "$_tk_t" "$@"; fi',"{ /bin/cat || /usr/bin/cat; } >/dev/null 2>&1","exit 0",""].join(`
87
- `)}function Xh(e){let t=a=>{let l=e.match(new RegExp(`^${a}=(.*)$`,"m"));return l?a==="_tk_f"?l[1]:Ma(l[1]):null},n=Number(t("_tk_f")),r=t("_tk_s"),s=t("_tk_j"),o=t("_tk_k"),i=t("_tk_n")??"";return!Number.isInteger(n)||r===null||s===null||o===null?null:{format:n,target:{single:r,js:s,cache:o,node:i}}}function Kt(e=_t()){try{return Xh(Lh(e,"utf8"))}catch{return null}}function Nn(e=Kt()){return e!==null&&e.format===ja&&Wh(e.target)}async function Ua(e,t){let n=`${e}.${process.pid}.tmp`;try{return await Hh(Ye(e),{recursive:!0,mode:448}),await Uh(n,t,{mode:493}),await jh(n,493),await Bh(n,e),!0}catch{try{await zh(n)}catch{}return!1}}function Wr(e){return Ua(_t(),qh(e))}function Za(e){return Ua(Gt(),Yh(e))}import{chmod as Qh,lstat as Ja,mkdir as eg,readFile as Yr,rename as tg,rm as xv,unlink as Ga,writeFile as ng}from"node:fs/promises";import{createHash as Ka}from"node:crypto";import{basename as rg,join as Va}from"node:path";var sg=".tkr-bak";function Wa(){return Va(S(),"backup","config")}function qr(e){let t=Qr(e),n=Ka("sha256").update(t).digest("hex").slice(0,16),r=rg(t).replace(/[^A-Za-z0-9._-]/g,"_").slice(0,80);return Va(Wa(),`${n}-${r}`)}function qa(e){return`${qr(e)}.written`}function Ya(e){return Ka("sha256").update(e).digest("hex")}async function og(e){try{return await Ja(e),!0}catch{return!1}}async function Xr(e,t){let n=`${e}.tmp-${process.pid}`;try{return await eg(Wa(),{recursive:!0,mode:448}),await ng(n,t,{mode:384}),await Qh(n,384),await tg(n,e),!0}catch{return await Ga(n).catch(()=>{}),!1}}async function ig(e,t){let n=`${e}${sg}`;try{if(!(await Ja(n)).isFile())return!1}catch{return!1}let r=!await og(t);if(r&&!await Xr(t,await Yr(n,"utf8")))throw new Error("backup");return await Ga(n).catch(()=>{}),r}async function ag(e,t){try{return(await Yr(qa(e),"utf8")).trim()===Ya(t)}catch{return!1}}async function Xa(e,t){let n=t;try{n===void 0&&(n=await Yr(e,"utf8"))}catch(r){return r.code==="ENOENT"}try{if(await ig(e,qr(e)))return!0}catch{return!1}return await ag(e,n)?!0:Xr(qr(e),n)}async function Dn(e,t,n){return!await Xa(e,n)||!await Mn(e,t)?!1:(await Xr(qa(e),`${Ya(t)}
88
- `),!0)}function N(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}async function $e(e){if(!pg(e))return{};try{let t=JSON.parse(await lg(e,"utf8"));return N(t)?t:null}catch{return null}}function Qr(e){let t=el(e);for(let n=0;n<32;n++){try{return Qa(t)}catch{}try{if(!hg(t).isSymbolicLink())break;t=el(Fn(t),gg(t))}catch{break}}try{return kg(Qa(Fn(t)),yg(t))}catch{return t}}async function Mn(e,t){let n=Qr(e),r=`${n}.tmp-${process.pid}`;try{await tl(Fn(n),{recursive:!0});let s=384;try{s=(await dg(n)).mode&511}catch{}return await cg(r,t,{mode:s}),await fg(r,s),await ug(r,n),!0}catch{try{await mg(r)}catch{}return!1}}async function Re(e,t){try{await tl(Fn(e),{recursive:!0})}catch{return!1}return Dn(e,`${JSON.stringify(t,null,2)}
89
- `)}var bg=String.raw`(?:'(?:(?:[^']|'\\'')*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?'|"(?:[^"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?"|(?:[^\s'"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?)`;function wt(e,t){if(typeof e!="string")return!1;if(e.includes(t))return!0;let n=Ee(t);return n?.length?new RegExp(`^\\s*${bg}\\s+${n.join("\\s+")}(?:\\s|$)`,"i").test(e):!1}function Ln(e,t,n,r){let s=i=>i!==n&&t(i),o=!1;for(let i=e.length-1;i>=0;i--){let a=e[i];if(!r){s(a)&&(e.splice(i,1),o=!0);continue}if(!N(a)||!Array.isArray(a.hooks))continue;let l=a.hooks.filter(c=>!s(c));l.length!==a.hooks.length&&(o=!0,l.length?a.hooks=l:e.splice(i,1))}return o}var vg="tkr-cursor-hook",nl="preToolUse";function Sg(){return wg(xg.homedir(),".cursor","hooks.json")}function Eg(e){return N(e)&&wt(e.command,vg)}function Tg(e){let t=N(e.hooks)?e.hooks:{},n=Array.isArray(t[nl])?t[nl]:[];return{hooks:t,entries:n}}function rl(){try{let e=JSON.parse(_g(Sg(),"utf8"));return Tg(e).entries.some(Eg)}catch{return!1}}import{existsSync as Zv,readFileSync as $g}from"node:fs";import{join as Rg}from"node:path";import Ag from"node:os";var Cg="tkr-gemini-hook",sl="BeforeTool";function Ig(){return Rg(process.env.GEMINI_CLI_HOME||Ag.homedir(),".gemini","settings.json")}function Og(e){return N(e)&&wt(e.command,Cg)}function Pg(e){return(Array.isArray(e.hooks)?e.hooks:[]).find(Og)}function Ng(e){let t=N(e.hooks)?e.hooks:{},n=Array.isArray(t[sl])?t[sl]:[];return{hooks:t,groups:n}}function ol(){try{let e=JSON.parse($g(Ig(),"utf8"));return Ng(e).groups.some(t=>Pg(t)!=null)}catch{return!1}}import{dirname as yS,join as se}from"node:path";import zg from"node:os";import{existsSync as Yv,accessSync as Xv,constants as Qv,readFileSync as Dg}from"node:fs";var Mg='"rewrite", "--host"';function Fg(e){return e.includes(Mg)}function il(e){try{return Fg(Dg(e,"utf8"))}catch{return!1}}import{readFile as ll,mkdir as Lg}from"node:fs/promises";import{existsSync as ns,readFileSync as cl}from"node:fs";import{dirname as jg,join as ts}from"node:path";import ul from"node:os";var fl="tokmizer-rewrite",Vt="tokmizer-rewrite";function qt(){return ts(process.env.VIBE_HOME||ts(ul.homedir(),".vibe"),"hooks.toml")}function al(e){return JSON.stringify(e)}function Hg(e){return["[[hooks]]",`name = ${al(fl)}`,'type = "pre_tool"','match = "bash"',`command = ${al(e)}`,"timeout = 10.0","strict = false",'description = "Route shell commands through tokmizer."',""].join(`
90
- `)}function rs(e){let t=[],n=[];for(let r of e.split(/(?<=\n)/))/^\s*\[\[?\s*[A-Za-z0-9_-]/.test(r)&&n.length&&(t.push(n.join("")),n=[]),n.push(r);return n.length&&t.push(n.join("")),t}function Wt(e){return/^\s*\[\[hooks\]\]/.test(e)&&new RegExp(`^\\s*name\\s*=\\s*"${fl}"\\s*$`,"m").test(e)}async function dl(e,t){try{await Lg(jg(e),{recursive:!0})}catch{return!1}return Dn(e,t)}function ml(){try{return rs(cl(qt(),"utf8")).some(Wt)}catch{return!1}}async function pl(e){let t=qt(),n="";try{ns(t)&&(n=await ll(t,"utf8"))}catch{return"error"}let r=Hg(e),s=rs(n),o=s.filter(Wt);if(o.length===1&&o[0].trimEnd()===r.trimEnd())return"present";let i=s.filter(l=>!Wt(l)).join("").trimEnd(),a=i?`${i}
83
+ `:""),wa(Aa(e),JSON.stringify({v:1,days:a}))}catch{return}finally{Ea(r,{force:!0})}}function vh(e){let t=ah(e),n=t,r="";for(;;){try{return $n(ih(n),r)}catch{}let s=$a(n);if(s===n)return t;r=r?$n(ba(n),r):ba(n),n=s}}var Sh=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),Eh=new Set(["-u","-g","-n","-s","-k"]),Th=/^[a-z0-9][a-z0-9._-]*$/i,$h=new Set(["git","npm","pnpm","yarn","npx","docker","kubectl","helm","cargo","go","brew","gh","pip","pip3","apt","apt-get","systemctl","terraform","aws","gcloud","az","bundle","rake","rails","prisma","poetry","uv","gem","composer"]),Ca=/^[A-Za-z_][A-Za-z0-9_]*=/;function xa(e){return e.length===0||e[0]==="cd"||e.every(t=>Ca.test(t))}function Rh(e){let t=[],n="",r=!1,s=null,o=()=>{r&&t.push(n),n="",r=!1};for(let i of e){if(s){i===s?s=null:n+=i;continue}if(i==="'"||i==='"'){s=i,r=!0;continue}if(i===" "||i===" "){o();continue}if(`|;&<>
84
+ `.includes(i)){if(o(),xa(t)){t=[];continue}return t}n+=i,r=!0}return o(),xa(t)?[]:t}function Rn(e){let t=Rh(e).map(a=>a.replace(/^[({]+/,"")).filter(Boolean),n=0;for(;n<t.length;){let a=t[n];if(Ca.test(a)){n+=1;continue}if(Sh.has(a)){for(n+=1;n<t.length;){let l=t[n];if(l.startsWith("-")){n+=Eh.has(l)?2:1;continue}if(/^\d+(?:\.\d+)?[smhd]?$/.test(l)){n+=1;continue}break}continue}break}if(n>=t.length)return"";let r=t[n],s=r.includes("/")?r.slice(r.lastIndexOf("/")+1):r,o=t[n+1];return(o&&!o.startsWith("-")&&Th.test(o)&&$h.has(s.toLowerCase())?`${s} ${o}`:s).slice(0,24)}function Ah(){return $n(x(),lh)}function Ia(e,t,n=Ah(),r=!1,s,o,i,a,l={}){if(!Number.isSafeInteger(e)||!Number.isSafeInteger(t)||e<0||t<0||e+t===0)return;let c=s?`,"h":${JSON.stringify(s)}`:"",u=o?`,"k":${JSON.stringify(o)}`:"",d=i?`,"c":${JSON.stringify(i.slice(0,24))}`:"",f=a?vh(a):"",m=f&&f.length<=mh?`,"p":${JSON.stringify(f)}`:"",h=l.s?`,"s":${JSON.stringify(l.s.slice(0,66))}`:"",w=l.o?`,"o":${JSON.stringify(l.o)}`:"",b=`{"t":${Math.floor(Date.now()/1e3)},"r":${e},"f":${t}${r?',"m":1':""}${c}${u}${d}${m}${h}${w}}
85
+ `;try{oh(x(),{recursive:!0,mode:448}),rh(n,b,{mode:384}),sh(n,384),xh(n)}catch{return}}function Oa(e){let t=e.filterId==null?void 0:e.filterId.startsWith("user/")?`u:${e.filterId.slice(5)}`:"b",n=e.filteredBytes<e.rawBytes?void 0:e.filterId==null?"n":e.debugBypass?"e":"g";return{...t?{s:t}:{},...n?{o:n}:{}}}function Pa(e,t,n){let r=n!=null?Math.min(e,n):e,s=n!=null?Math.min(t,n):t;return{raw:r,filtered:s}}import{mkdir as ds,writeFile as Fl,readFile as Un,unlink as Ll,chmod as jl,rename as wy,copyFile as Hl,stat as xy,readdir as vy,rm as Sy}from"node:fs/promises";import{existsSync as ps,realpathSync as Bl}from"node:fs";import{basename as Ey,delimiter as Nl,join as U,dirname as zl}from"node:path";import{fileURLToPath as Ty}from"node:url";import xt from"node:os";import{basename as Ch}from"node:path";var Ih={exec:"tkr-exec",processor:"tkr-processor",daemon:"tkr-daemon","shim-run":"tkr-shim"},Oh={codex:"tkr-codex-hook",cursor:"tkr-cursor-hook",gemini:"tkr-gemini-hook",agent:"tkr-agent-hook",copilot:"tkr-copilot-hook",droid:"tkr-droid-hook",trae:"tkr-trae-hook",qwen:"tkr-qwen-hook",crush:"tkr-crush-hook",junie:"tkr-junie-hook",zcode:"tkr-zcode-hook",grok:"tkr-grok-hook",context:"tkr-context-hook","pre-tool-use":"pre-tool-use","post-tool-use":"post-tool-use","session-recap":"session-recap","session-start":"on-session-start","reducer-session-start":"reducer-session-start","reducer-prompt-submit":"reducer-prompt-submit","reducer-stop":"reducer-stop","command-expansion":"command-expansion"};function Ee(e){let t=Ch(e).replace(/\.(m?js|ts)$/,"");if(t==="tkr")return[];for(let[n,r]of Object.entries(Ih))if(r===t)return[n];for(let[n,r]of Object.entries(Oh))if(r===t)return["hook",n];return null}import{realpathSync as Na}from"node:fs";import{delimiter as Ph,join as yt}from"node:path";import Nh from"node:os";function Te(){return!1}function zr(e,t=process.execPath){let n=Te()?Ee(e):null;return n?[process.execPath,...n]:[t,e]}function Da(e,t){try{return Na(e)===Na(t)}catch{return!1}}function Zt(e=process.env.PATH??"",t=process.platform,n=process.execPath){let r=t==="win32"?"tkr.exe":"tkr";for(let s of e.split(t==="win32"?";":Ph)){if(!s||s.includes("node_modules"))continue;let o=yt(s,r);if(Da(o,n))return o}if(t!=="win32"){let s=Nh.homedir();for(let o of[yt(s,".local","bin",r),yt(s,".local","share","tokmizer","current","dist","bin",r),yt("/opt/homebrew/bin",r),yt("/usr/local/bin",r),yt("/home/linuxbrew/.linuxbrew/bin",r)])if(Da(o,n))return o}return n}import{existsSync as Zv,readFileSync as vg}from"node:fs";import{join as Sg}from"node:path";import Eg from"node:os";import{readFile as fg,writeFile as dg,rename as mg,mkdir as tl,chmod as pg,stat as hg,unlink as gg}from"node:fs/promises";import{existsSync as yg,lstatSync as kg,readlinkSync as bg,realpathSync as Qa}from"node:fs";import{basename as _g,dirname as Fn,join as wg,resolve as el}from"node:path";import{accessSync as Lh,chmodSync as pv,constants as jh,existsSync as On,mkdirSync as hv,readdirSync as Hh,readFileSync as Bh,realpathSync as Fa,renameSync as gv,unlinkSync as yv,writeFileSync as kv}from"node:fs";import{chmod as zh,mkdir as Uh,rename as Zh,unlink as Jh,writeFile as Kh}from"node:fs/promises";import{basename as Kr,dirname as Ye,join as ye,sep as bt}from"node:path";import Gh from"node:os";import{rmSync as Dh,statSync as Mh}from"node:fs";import{join as Ur}from"node:path";var An="tokmizer: shim target missing, running command directly; run `tkr doctor --fix`";function V(){return Ur(x(),"shims")}function kt(){return Ur(x(),"fail-open")}var Fh=24*36e5;function Zr(e=Date.now()){try{if(e-Mh(kt()).mtimeMs<Fh)return!0;Dh(kt(),{force:!0})}catch{}return!1}function Cn(){return`[ -f ${H(kt())} ]`}function Jr(){return Ur(x(),"shim-fallbacks")}function H(e){return`'${e.replace(/'/g,"'\\''")}'`}function Ma(e){if(!e.startsWith("'")||!e.endsWith("'")||e.length<2)return null;let n=e.slice(1,-1).split("'\\''");return n.some(r=>r.includes("'"))?null:n.join("'")}function In(e){return["set -f",`_tk_d=${H(V())}`,"_tk_o=$IFS; IFS=:; _tk_p=; _tk_x=","for _tk_e in $PATH; do",' [ -n "$_tk_e" ] || continue',' [ "$_tk_e" -ef "$_tk_d" ] && continue'," _tk_p=${_tk_p:+$_tk_p:}$_tk_e",' [ -z "$_tk_x" ] && [ -f "$_tk_e/$_tk_c" ] && [ -x "$_tk_e/$_tk_c" ] && _tk_x=$_tk_e/$_tk_c',"done","IFS=$_tk_o; PATH=$_tk_p; export PATH; set +f",'[ -n "$_tk_x" ] || { echo "$_tk_c: command not found" >&2; exit 127; }','exec "$_tk_x" "$@"'].map(t=>`${e}${t}`)}var ja=1,Jt="tkr-shim.stable",Ha=/^(?:0|[1-9]\d{0,5})\.(?:0|[1-9]\d{0,5})\.(?:0|[1-9]\d{0,5})$/;function _t(){return ye(x(),"bin","tkr-shim-launch")}function Kt(){return ye(x(),"bin","tkr-hook")}function La(){return ye(process.env.CLAUDE_CONFIG_DIR||ye(Gh.homedir(),".claude"),"plugins","cache","tokmizer","tokmizer")}function Vh(e){let t=Ye(Ye(Ye(e)));return Ha.test(Kr(t))&&Kr(Ye(t))==="tokmizer"?Ye(t):null}function Gr(e){return/[\n\r]/.test(e)||e.includes(`${bt}_npx${bt}`)||e.includes(`${bt}.bun${bt}install${bt}cache${bt}`)}function Vr(e){let t=e.match(/^(.*)[\\/]Cellar[\\/]([^\\/]+)[\\/][^\\/]+[\\/](.*)$/);if(!t)return e;let n=ye(t[1],"opt",t[2],t[3]);try{return Fa(n)===Fa(e)?n:e}catch{return e}}function Wh(e=process.execPath){return Gr(e)?"":Vr(e)}function Pn(e,t=Te()){if(t&&Ee(e)){let s=Zt();return{single:Gr(s)?"":Vr(s),js:"",cache:La(),node:""}}let n=Wh(),r=Vh(e);return r?{single:"",js:"",cache:r,node:n}:{single:"",js:Gr(e)?"":Vr(e),cache:La(),node:n}}function qh(e){try{return Lh(e,jh.X_OK),!0}catch{return!1}}function Yh(e){let t=null,n=-1,r;try{r=Hh(e)}catch{return null}for(let s of r){if(!Ha.test(s))continue;let o=ye(e,s);if(!On(ye(o,"dist","bin","tkr-shim.js"))||!On(ye(o,"dist","bin",Jt)))continue;let[i,a,l]=s.split(".").map(Number),c=i*1e6+a*1e3+l;c>n&&(n=c,t=o)}return t}function Xh(e){return e.single&&qh(e.single)||e.js&&On(e.js)&&(Kr(e.js)!=="tkr-shim.js"||On(ye(Ye(e.js),Jt)))?!0:e.cache!==""&&Yh(e.cache)!==null}function Ba(e,t){return["#!/bin/sh",`_tk_f=${ja}`,`${t}=$1`,"shift",`_tk_s=${H(e.single)}`,`_tk_j=${H(e.js)}`,`_tk_k=${H(e.cache)}`,`_tk_n=${H(e.node)}`]}function za(e,t){return["_tk_t=",`if [ -n "$_tk_j" ] && [ -f "${t}" ] && { [ "\${_tk_j##*/}" != tkr-shim.js ] || [ -f "\${_tk_j%/*}/${Jt}" ]; }; then _tk_t=${t}; fi`,'if [ -z "$_tk_t" ] && [ -n "$_tk_k" ] && [ -d "$_tk_k" ]; then'," _tk_b=-1",' for _tk_r in "$_tk_k"/*/; do'," _tk_v=${_tk_r%/}; _tk_v=${_tk_v##*/}"," case $_tk_v in *[!0-9.]*|.*|*.|*..*|0[0-9]*|*.0[0-9]*|*[0-9][0-9][0-9][0-9][0-9][0-9][0-9]*) continue ;; [0-9]*.[0-9]*.[0-9]*) ;; *) continue ;; esac"," case ${_tk_v#*.*.} in *.*) continue ;; esac",` [ -f "\${_tk_r}dist/bin/${e}" ] && [ -f "\${_tk_r}dist/bin/${Jt}" ] || continue`," _tk_1=${_tk_v%%.*}; _tk_2=${_tk_v#*.}; _tk_3=${_tk_2#*.}; _tk_2=${_tk_2%%.*}"," _tk_v=$((_tk_1 * 1000000 + _tk_2 * 1000 + _tk_3))",` if [ "$_tk_v" -gt "$_tk_b" ]; then _tk_b=$_tk_v; _tk_t=\${_tk_r}dist/bin/${e}; fi`," done","fi",'if [ -z "$_tk_t" ]; then',` _tk_d=${H(V())}`," set -f; _tk_o=$IFS; IFS=:"," for _tk_e in $PATH; do"," case $_tk_e in /*/node_modules/*|*/node_modules) continue ;; /*) ;; *) continue ;; esac",' [ ! "$_tk_e" -ef "$_tk_d" ] || continue',' for _tk_g in "$_tk_e/../lib/node_modules/@tokmizer/plugin/dist/bin" "$_tk_e/../opt/tokmizer/libexec/lib/node_modules/@tokmizer/plugin/dist/bin"; do',` if [ -f "$_tk_g/${Jt}" ] && [ -f "$_tk_g/${e}" ]; then _tk_t=$_tk_g/${e}; break 2; fi`," done"," done"," IFS=$_tk_o; set +f","fi","_tk_x=",'if [ -n "$_tk_t" ]; then',' for _tk_x in "$_tk_n" "$(command -v node 2>/dev/null)" /opt/homebrew/bin/node /usr/local/bin/node /usr/bin/node ""; do',' [ -n "$_tk_x" ] && [ -x "$_tk_x" ] && break'," done","fi"]}function Qh(e){return[...Ba(e,"_tk_c"),`if ! ${Cn()}; then`,' if [ -n "$_tk_s" ] && [ -x "$_tk_s" ]; then exec "$_tk_s" shim-run --as "$_tk_c" "$@"; fi',...za("tkr-shim.js","$_tk_j").map(t=>` ${t}`),' if [ -n "$_tk_x" ]; then exec "$_tk_x" "$_tk_t" --as "$_tk_c" "$@"; fi',` echo ${H(An)} >&2`,` { echo x >> ${H(Jr())}; } 2>/dev/null`,"fi",...In(""),""].join(`
86
+ `)}function eg(e){return[...Ba(e,"_tk_m"),"case $_tk_m in tkr-*-hook) ;; *) { /bin/cat || /usr/bin/cat; } >/dev/null 2>&1; exit 0 ;; esac",'if [ -n "$_tk_s" ] && [ -x "$_tk_s" ]; then _tk_w=${_tk_m#tkr-}; exec "$_tk_s" hook "${_tk_w%-hook}" "$@"; fi',...za("$_tk_m.js","${_tk_j%/*}/$_tk_m.js"),'if [ -n "$_tk_x" ]; then exec "$_tk_x" "$_tk_t" "$@"; fi',"{ /bin/cat || /usr/bin/cat; } >/dev/null 2>&1","exit 0",""].join(`
87
+ `)}function tg(e){let t=a=>{let l=e.match(new RegExp(`^${a}=(.*)$`,"m"));return l?a==="_tk_f"?l[1]:Ma(l[1]):null},n=Number(t("_tk_f")),r=t("_tk_s"),s=t("_tk_j"),o=t("_tk_k"),i=t("_tk_n")??"";return!Number.isInteger(n)||r===null||s===null||o===null?null:{format:n,target:{single:r,js:s,cache:o,node:i}}}function Gt(e=_t()){try{return tg(Bh(e,"utf8"))}catch{return null}}function Nn(e=Gt()){return e!==null&&e.format===ja&&Xh(e.target)}async function Ua(e,t){let n=`${e}.${process.pid}.tmp`;try{return await Uh(Ye(e),{recursive:!0,mode:448}),await Kh(n,t,{mode:493}),await zh(n,493),await Zh(n,e),!0}catch{try{await Jh(n)}catch{}return!1}}function Wr(e){return Ua(_t(),Qh(e))}function Za(e){return Ua(Kt(),eg(e))}import{chmod as ng,lstat as Ja,mkdir as rg,readFile as Yr,rename as sg,rm as Rv,unlink as Ka,writeFile as og}from"node:fs/promises";import{createHash as Ga}from"node:crypto";import{basename as ig,join as Va}from"node:path";var ag=".tkr-bak";function Wa(){return Va(x(),"backup","config")}function qr(e){let t=Qr(e),n=Ga("sha256").update(t).digest("hex").slice(0,16),r=ig(t).replace(/[^A-Za-z0-9._-]/g,"_").slice(0,80);return Va(Wa(),`${n}-${r}`)}function qa(e){return`${qr(e)}.written`}function Ya(e){return Ga("sha256").update(e).digest("hex")}async function lg(e){try{return await Ja(e),!0}catch{return!1}}async function Xr(e,t){let n=`${e}.tmp-${process.pid}`;try{return await rg(Wa(),{recursive:!0,mode:448}),await og(n,t,{mode:384}),await ng(n,384),await sg(n,e),!0}catch{return await Ka(n).catch(()=>{}),!1}}async function cg(e,t){let n=`${e}${ag}`;try{if(!(await Ja(n)).isFile())return!1}catch{return!1}let r=!await lg(t);if(r&&!await Xr(t,await Yr(n,"utf8")))throw new Error("backup");return await Ka(n).catch(()=>{}),r}async function ug(e,t){try{return(await Yr(qa(e),"utf8")).trim()===Ya(t)}catch{return!1}}async function Xa(e,t){let n=t;try{n===void 0&&(n=await Yr(e,"utf8"))}catch(r){return r.code==="ENOENT"}try{if(await cg(e,qr(e)))return!0}catch{return!1}return await ug(e,n)?!0:Xr(qr(e),n)}async function Dn(e,t,n){return!await Xa(e,n)||!await Mn(e,t)?!1:(await Xr(qa(e),`${Ya(t)}
88
+ `),!0)}function N(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}async function $e(e){if(!yg(e))return{};try{let t=JSON.parse(await fg(e,"utf8"));return N(t)?t:null}catch{return null}}function Qr(e){let t=el(e);for(let n=0;n<32;n++){try{return Qa(t)}catch{}try{if(!kg(t).isSymbolicLink())break;t=el(Fn(t),bg(t))}catch{break}}try{return wg(Qa(Fn(t)),_g(t))}catch{return t}}async function Mn(e,t){let n=Qr(e),r=`${n}.tmp-${process.pid}`;try{await tl(Fn(n),{recursive:!0});let s=384;try{s=(await hg(n)).mode&511}catch{}return await dg(r,t,{mode:s}),await pg(r,s),await mg(r,n),!0}catch{try{await gg(r)}catch{}return!1}}async function Re(e,t){try{await tl(Fn(e),{recursive:!0})}catch{return!1}return Dn(e,`${JSON.stringify(t,null,2)}
89
+ `)}var xg=String.raw`(?:'(?:(?:[^']|'\\'')*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?'|"(?:[^"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?"|(?:[^\s'"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?)`;function wt(e,t){if(typeof e!="string")return!1;if(e.includes(t))return!0;let n=Ee(t);return n?.length?new RegExp(`^\\s*${xg}\\s+${n.join("\\s+")}(?:\\s|$)`,"i").test(e):!1}function Ln(e,t,n,r){let s=i=>i!==n&&t(i),o=!1;for(let i=e.length-1;i>=0;i--){let a=e[i];if(!r){s(a)&&(e.splice(i,1),o=!0);continue}if(!N(a)||!Array.isArray(a.hooks))continue;let l=a.hooks.filter(c=>!s(c));l.length!==a.hooks.length&&(o=!0,l.length?a.hooks=l:e.splice(i,1))}return o}var Tg="tkr-cursor-hook",nl="preToolUse";function $g(){return Sg(Eg.homedir(),".cursor","hooks.json")}function Rg(e){return N(e)&&wt(e.command,Tg)}function Ag(e){let t=N(e.hooks)?e.hooks:{},n=Array.isArray(t[nl])?t[nl]:[];return{hooks:t,entries:n}}function rl(){try{let e=JSON.parse(vg($g(),"utf8"));return Ag(e).entries.some(Rg)}catch{return!1}}import{existsSync as qv,readFileSync as Cg}from"node:fs";import{join as Ig}from"node:path";import Og from"node:os";var Pg="tkr-gemini-hook",sl="BeforeTool";function Ng(){return Ig(process.env.GEMINI_CLI_HOME||Og.homedir(),".gemini","settings.json")}function Dg(e){return N(e)&&wt(e.command,Pg)}function Mg(e){return(Array.isArray(e.hooks)?e.hooks:[]).find(Dg)}function Fg(e){let t=N(e.hooks)?e.hooks:{},n=Array.isArray(t[sl])?t[sl]:[];return{hooks:t,groups:n}}function ol(){try{let e=JSON.parse(Cg(Ng(),"utf8"));return Fg(e).groups.some(t=>Mg(t)!=null)}catch{return!1}}import{dirname as vS,join as se}from"node:path";import Jg from"node:os";import{existsSync as rS,accessSync as sS,constants as oS,readFileSync as Lg}from"node:fs";var jg='"rewrite", "--host"';function Hg(e){return e.includes(jg)}function il(e){try{return Hg(Lg(e,"utf8"))}catch{return!1}}import{readFile as ll,mkdir as Bg}from"node:fs/promises";import{existsSync as ns,readFileSync as cl}from"node:fs";import{dirname as zg,join as ts}from"node:path";import ul from"node:os";var fl="tokmizer-rewrite",Vt="tokmizer-rewrite";function qt(){return ts(process.env.VIBE_HOME||ts(ul.homedir(),".vibe"),"hooks.toml")}function al(e){return JSON.stringify(e)}function Ug(e){return["[[hooks]]",`name = ${al(fl)}`,'type = "pre_tool"','match = "bash"',`command = ${al(e)}`,"timeout = 10.0","strict = false",'description = "Route shell commands through tokmizer."',""].join(`
90
+ `)}function rs(e){let t=[],n=[];for(let r of e.split(/(?<=\n)/))/^\s*\[\[?\s*[A-Za-z0-9_-]/.test(r)&&n.length&&(t.push(n.join("")),n=[]),n.push(r);return n.length&&t.push(n.join("")),t}function Wt(e){return/^\s*\[\[hooks\]\]/.test(e)&&new RegExp(`^\\s*name\\s*=\\s*"${fl}"\\s*$`,"m").test(e)}async function dl(e,t){try{await Bg(zg(e),{recursive:!0})}catch{return!1}return Dn(e,t)}function ml(){try{return rs(cl(qt(),"utf8")).some(Wt)}catch{return!1}}async function pl(e){let t=qt(),n="";try{ns(t)&&(n=await ll(t,"utf8"))}catch{return"error"}let r=Ug(e),s=rs(n),o=s.filter(Wt);if(o.length===1&&o[0].trimEnd()===r.trimEnd())return"present";let i=s.filter(l=>!Wt(l)).join("").trimEnd(),a=i?`${i}
91
91
 
92
92
  ${r}`:r;return await dl(t,a)?o.length?"updated":"added":"error"}async function hl(){let e=qt();if(!ns(e))return"absent";let t;try{t=await ll(e,"utf8")}catch{return"error"}let n=rs(t);if(!n.some(Wt))return"absent";let r=n.filter(o=>!Wt(o)).join("").trimEnd(),s=r?`${r}
93
- `:"";return await dl(e,s)?"removed":"error"}function Yt(){return ts(ul.homedir(),".gemini","config","hooks.json")}function Bg(e){return{enabled:!0,PreToolUse:[{matcher:"run_command",hooks:[{type:"command",command:e,timeout:10}]}]}}function gl(){try{let e=JSON.parse(cl(Yt(),"utf8"));return N(e)&&N(e[Vt])}catch{return!1}}async function yl(e){let t=Yt(),n=await $e(t);if(!n)return"error";let r=Bg(e),s=n[Vt];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[Vt]=r,await Re(t,n)?s===void 0?"added":"updated":"error")}async function kl(){let e=Yt();if(!ns(e))return"absent";let t=await $e(e);return t?Vt in t?(delete t[Vt],await Re(e,t)?"removed":"error"):"absent":"error"}var Xt=()=>zg.homedir(),ss=()=>process.env.XDG_CONFIG_HOME||se(Xt(),".config"),bl=[{host:"opencode",label:"OpenCode",command:"setup-opencode",kind:"shim",files:()=>[{template:"opencode.js",target:se(ss(),"opencode","plugins","tokmizer.js")}],next:"Restart OpenCode so it loads the plugin."},{host:"kilo",label:"Kilo Code",command:"setup-kilo",kind:"shim",files:()=>[{template:"kilo.js",target:se(ss(),"kilo","plugin","tokmizer.js")}],next:"Restart Kilo Code (CLI or VS Code extension) so it loads the plugin."},{host:"amp",label:"Amp",command:"setup-amp",kind:"shim",files:()=>[{template:"amp.js",target:se(ss(),"amp","plugins","tokmizer.js")}],next:"Reload plugins in Amp (or restart it), then check it with: amp plugins list"},{host:"vibe",label:"Mistral Vibe",command:"setup-vibe",kind:"hook",file:qt,installed:ml,ensure:pl,remove:hl,next:"Restart Vibe so it reads hooks.toml."},{host:"antigravity",label:"Antigravity",command:"setup-antigravity",kind:"hook",file:Yt,installed:gl,ensure:yl,remove:kl,next:"Restart Antigravity, then check it with /hooks."},{host:"openclaw",label:"OpenClaw",command:"setup-openclaw",kind:"shim",files:()=>{let e=se(Xt(),".openclaw","extensions","tokmizer");return["index.js","openclaw.plugin.json","package.json"].map(t=>({template:`openclaw/${t}`,target:se(e,t)}))},next:"Run: openclaw plugins enable tokmizer && openclaw gateway restart"},{host:"pi",label:"Pi",command:"setup-pi",kind:"shim",files:()=>[{template:"pi.js",target:se(process.env.PI_CODING_AGENT_DIR||se(Xt(),".pi","agent"),"extensions","tokmizer.js")}],next:"Restart Pi (or run /reload) so it loads the extension."},{host:"omp",label:"Oh My Pi",command:"setup-omp",kind:"shim",files:()=>[{template:"omp.js",target:se(Xt(),".omp","agent","extensions","tokmizer.js")}],next:"Restart omp so it loads the extension."},{host:"hermes",label:"Hermes",command:"setup-hermes",kind:"shim",files:()=>{let e=se(process.env.HERMES_HOME||se(Xt(),".hermes"),"plugins","tokmizer");return["__init__.py","plugin.yaml"].map(t=>({template:`hermes/${t}`,target:se(e,t)}))},next:"Run: hermes plugins enable tokmizer, then restart Hermes (needs Hermes v2026.8.16 or newer)."}];function _l(e){return e.kind==="hook"?e.installed():il(e.files()[0].target)}import{existsSync as ls,readFileSync as Vg}from"node:fs";import{join as B}from"node:path";import Wg from"node:os";import{existsSync as Ug,readFileSync as Zg}from"node:fs";function jn(e,t){return N(e)&&wt(e.command,t)}function wl(e){return e.path??(e.nested?["hooks"]:[])}function xl(e,t){let n=e;for(let r of wl(t))N(n[r])||(n[r]={}),n=n[r];return n}function vl(e,t){let n=e;for(let s of wl(t))n=N(n)?n[s]:void 0;if(!N(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function Jg(e){return N(e)&&Array.isArray(e.hooks)?e.hooks:[]}function Sl(e,t){return(t.matcher===void 0?e:e.flatMap(Jg)).filter(r=>jn(r,t.mark))}function El(e,t){return Sl(vl(e,t),t).length>0}function os(e,t){try{let n=JSON.parse(Zg(e,"utf8"));return N(n)&&El(n,t)}catch{return!1}}function Gg(e,t,n){let r=xl(e,t),s=Array.isArray(r[t.event])?r[t.event]:[];r[t.event]=s;let o=Sl(s,t)[0],i=t.entry(n);if(o){let a=Ln(s,c=>jn(c,t.mark),o,t.matcher!==void 0),l=Object.entries(i).filter(([c,u])=>JSON.stringify(o[c])!==JSON.stringify(u));if(!l.length&&!a)return"present";for(let[c,u]of l)o[c]=u;return"updated"}return s.push(t.matcher===void 0?i:{matcher:t.matcher,hooks:[i]}),"added"}function Kg(e,t){if(!El(e,t))return!1;let n=xl(e,t),r=vl(e,t),s=t.matcher===void 0?r.filter(o=>!jn(o,t.mark)):r.map(o=>N(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!jn(i,t.mark))}:o).filter(o=>!N(o)||!Array.isArray(o.hooks)||o.hooks.length>0);return s.length?n[t.event]=s:delete n[t.event],!0}async function is(e,t,n){let r=await $e(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=Gg(r,t,n);return s==="present"||await Re(e,r)?s:"error"}async function Hn(e,t){if(!Ug(e))return"absent";let n=await $e(e);return n?Kg(n,t)?await Re(e,n)?"removed":"error":"absent":"error"}function fe(){return Wg.homedir()}function Al(e){return e.version===void 0&&(e.version=1),e.version===1}function qg(e,t,n){return Promise.all(e.map(r=>is(r,t,n))).then(r=>r.includes("error")?"error":r.includes("updated")?"updated":r.includes("added")?"added":"present")}function Yg(e,t){return Promise.all(e.map(n=>Hn(n,t))).then(n=>n.includes("error")?"error":n.includes("removed")?"removed":"absent")}function Xe(e,t){return{...e,installed:()=>e.files().some(n=>os(n,t)),ensure:n=>qg(e.files(),t,n),remove:()=>Yg(e.files(),t)}}var Xg={mark:"tkr-copilot-hook",event:"PreToolUse",nested:!0,entry:e=>({type:"command",command:e,bash:e,powershell:e,timeout:10,timeoutSec:10}),prepare:Al};function Qg(){return B(process.env.COPILOT_HOME||B(fe(),".copilot"),"hooks","tokmizer.json")}var ey={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:Al};function ty(){let e=[B(fe(),".trae","hooks.json")];return ls(B(fe(),".trae-cn"))&&e.push(B(fe(),".trae-cn","hooks.json")),e}var ny={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};function ry(){return B(process.env.QWEN_HOME||B(fe(),".qwen"),"settings.json")}var sy={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};function oy(){return B(process.env.XDG_CONFIG_HOME||B(fe(),".config"),"crush","crush.json")}var iy={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};function ay(){return B(fe(),".junie","config.json")}function ly(e){return e.hooks===void 0&&(e.hooks={}),N(e.hooks)?(e.hooks.enabled===void 0&&(e.hooks.enabled=!0),e.hooks.events===void 0||N(e.hooks.events)):!1}var cy={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:ly};function uy(){return B(fe(),".zcode","cli","config.json")}var fy={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};function dy(){return B(fe(),".grok","hooks","tokmizer.json")}var my="tkr-droid-hook",cs={mark:my,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},py={...cs,nested:!0};function as(){return B(fe(),".factory")}function Bn(){return[{file:B(as(),"hooks.json"),spec:cs},{file:B(as(),"hooks","hooks.json"),spec:cs},{file:B(as(),"settings.json"),spec:py}]}function Tl(e){try{let t=JSON.parse(Vg(e,"utf8"));return N(t)?t:null}catch{return null}}function $l(e,t){let n=t?e?.hooks:e;return N(n)&&Array.isArray(n.PreToolUse)&&n.PreToolUse.length>0}function Rl(){let[e,t,n]=Bn(),r=ls(e.file)?e:ls(t.file)?t:null;return r&&$l(Tl(r.file),!1)?r:$l(Tl(n.file),!0)?n:r??e}var hy={id:"droid",label:"Factory Droid",setup:"tkr setup-droid",bin:"tkr-droid-hook",restart:"Restart Droid, then check it with /hooks.",files:()=>[Rl().file],installed:()=>Bn().some(e=>os(e.file,e.spec)),ensure:async e=>{let t=Rl(),n=await is(t.file,t.spec,e);return n==="error"||await Promise.all(Bn().filter(r=>r.file!==t.file).map(r=>Hn(r.file,r.spec))),n},remove:async()=>{let e=await Promise.all(Bn().map(t=>Hn(t.file,t.spec)));return e.includes("error")?"error":e.includes("removed")?"removed":"absent"}},Cl=[Xe({id:"copilot",label:"GitHub Copilot",setup:"tkr setup-copilot",bin:"tkr-copilot-hook",restart:"Restart VS Code or Copilot CLI so they load the new hook.",files:()=>[Qg()]},Xg),hy,Xe({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:ty},ey),Xe({id:"qwen-code",label:"Qwen Code",setup:"tkr setup-qwen",bin:"tkr-qwen-hook",restart:"Restart Qwen Code, then check it with /hooks.",files:()=>[ry()]},ny),Xe({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[oy()]},sy),Xe({id:"junie",label:"Junie CLI",setup:"tkr setup-junie",bin:"tkr-junie-hook",restart:"Restart Junie CLI so it loads the new hook.",files:()=>[ay()]},iy),Xe({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[uy()]},cy),Xe({id:"grok",label:"Grok Build",setup:"tkr setup-grok",bin:"tkr-grok-hook",restart:"Restart Grok Build (1.0.4 or newer) so it loads the new hook.",files:()=>[dy()]},fy)];var us=[{host:"claude-code",vars:["CLAUDECODE","CLAUDE_CODE_ENTRYPOINT","CLAUDE_CODE","CLAUDE_CODE_VERSION","ANTHROPIC_CLAUDE_CODE"]},{host:"codex",vars:["CODEX_VERSION","CODEX_CLI","OPENAI_CODEX","CODEX_THREAD_ID","CODEX_SESSION_ID"]},{host:"cursor",vars:["CURSOR_AGENT","CURSOR_VERSION","CURSOR_TRACE_ID"]},{host:"cline",vars:["CLINE_VERSION","CLINE_API_KEY"]},{host:"aider",vars:["AIDER_VERSION","AIDER_MODEL"]},{host:"qwen-code",vars:["QWEN_CODE"]},{host:"gemini-cli",vars:["GEMINI_CLI","GEMINI_CLI_VERSION","GEMINI_API_KEY"]},{host:"windsurf",vars:["WINDSURF_VERSION","WINDSURF_USER"]},{host:"copilot",vars:["GITHUB_COPILOT_VERSION","COPILOT_INTEGRATION_ID"]},{host:"opencode",vars:[]},{host:"amp",vars:[]},{host:"vibe",vars:[]},{host:"antigravity",vars:[]},{host:"openclaw",vars:[]},{host:"pi",vars:[]},{host:"omp",vars:[]},{host:"hermes",vars:[]},{host:"crush",vars:["CRUSH"]},{host:"droid",vars:[]},{host:"trae",vars:[]},{host:"junie",vars:[]},{host:"zcode",vars:[]},{host:"grok",vars:[]},{host:"kilo",vars:[]}],gy=[...us.map(e=>e.host),"shell"],Il=new Set(["claude-code","codex"]),yy={cursor:{installed:rl,setup:"tkr setup-cursor"},"gemini-cli":{installed:ol,setup:"tkr setup-gemini"},...Object.fromEntries(bl.map(e=>[e.host,{installed:()=>_l(e),setup:`tkr ${e.command}`}])),...Object.fromEntries(Cl.map(e=>[e.id,{installed:e.installed,setup:e.setup}]))};function fs(e){return us.filter(t=>Il.has(t.host)===e).flatMap(t=>t.vars)}function zn(e){return Il.has(e)||(yy[e]?.installed()??!1)}function Ol(e){return null}function Pl(e=process.env){let t=process.platform,n=t==="darwin"||t==="linux"||t==="win32"?t:"other",r=process.arch,s=e.TOKMIZER_HOST;if(s&&gy.includes(s)){let o=s;return{host:o,source:"env",os:n,arch:r,shimRecommended:!zn(o)}}for(let o of us)if(o.vars.some(i=>e[i]))return{host:o.host,source:"env",os:n,arch:r,shimRecommended:!zn(o.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}var Sy=["git","npm","yarn","pnpm","docker","kubectl","terraform","tofu","cargo","go","mvn","gradle","rg","grep","find","ls","cat","tail","head","ps","lsof","ssh","scp","rsync","curl","wget","jq","yq","make"];function Dl(e){try{return Bl(e)}catch{return e}}function hs(){let e=V(),t={...process.env},n=process.platform==="win32"?"Path":"PATH",r=t[n]??t.PATH??"",s=Dl(e),o=r.split(Nl).filter(i=>i&&i!==e&&Dl(i)!==s);return t[n]=o.join(Nl),n==="Path"&&(t.PATH=t[n]),t}function Ul(){try{let e=xt.platform()==="win32";return ps(U(V(),e?"git.cmd":"git"))}catch{return!1}}function Ml(e){return`"${e.map(t=>`\${${t}:-}`).join("")}"`}var Zl=1;function gs(e){let t=e.match(/^#!\/bin\/sh\n_tk_f=(\d+)\n/);return t!==null&&Number(t[1])>=Zl&&e.includes(`exec /bin/sh ${H(_t())} "$_tk_c" "$@"`)}function Ey(e){return["#!/bin/sh",`_tk_f=${Zl}`,`_tk_c=${H(e)}`,`if [ -z ${Ml(fs(!0))} ] && { [ -n ${Ml(["TOKMIZER_HOST",...fs(!1)])} ] || [ -t 1 ]; } && [ -f ${H(_t())} ] && ! ${Cn()}; then`,` exec /bin/sh ${H(_t())} "$_tk_c" "$@"`,"fi",...In(""),""].join(`
94
- `)}function Ty(e){let t=Te()?Ee(e):null,n=t?Zt():e;return{check:n,run:t?[`"${n}"`,...t].join(" "):`node "${n}"`}}function $y(e,t){let n=Ty(e),r=V();return["@echo off",`if exist "${kt()}" goto tkpass`,`if not exist "${n.check}" goto tkmissing`,`${n.run} --as "${t}" %*`,"exit /b %errorlevel%",":tkmissing",`echo ${An.replace(/`/g,"")} 1>&2`,":tkpass",`set "PATH=%PATH:${r}\\;=%"`,`set "PATH=%PATH:${r};=%"`,`set "PATH=%PATH:;${r}=%"`,"for %%E in (.exe .cmd .bat .com) do for %%I in ("+t+'%%E) do if not "%%~$PATH:I"=="" if /i not "%%~dp$PATH:I"=="%~dp0" (',' "%%~$PATH:I" %*'," exit /b",")",`echo ${t}: command not found 1>&2`,"exit /b 9009",""].join(`\r
95
- `)}function Ry(e){return U(V(),xt.platform()==="win32"?`${e}.cmd`:e)}function Ay(e,t){return xt.platform()==="win32"?$y(e,t):Ey(t)}async function Jl(e,t,n){let r=`${e}.${process.pid}.tmp`;try{return await Fl(r,t,{mode:n}),await jl(r,n),await ky(r,e),!0}catch{try{await Ll(r)}catch{}return!1}}function Gl(){return new Date().toISOString().replace(/[-:]/g,"").replace(/\..*$/,"").replace("T","-")}async function Cy(e,t,n){try{let r=(await _y(e)).filter(s=>s.startsWith(t)).sort().slice(0,-n);for(let s of r)await wy(U(e,s),{recursive:!0,force:!0})}catch{}}async function Kl(e,t={}){let n=V();if(!ps(n))return{stale:0,rewritten:0};let r=0,s=0,o=null;for(let i of Sy){let a=Ry(i),l=Ay(e,i),c;try{c=await Un(a,"utf8")}catch{continue}if(!(c===l||xt.platform()!=="win32"&&gs(c))&&(r+=1,!t.dryRun)){try{o||(o=U(S(),"backup",`shims-${Gl()}`),await ds(o,{recursive:!0,mode:448})),await Hl(a,U(o,i))}catch{}await Jl(a,l,493)&&(s+=1)}}return o&&await Cy(zl(o),"shims-",3),{stale:r,rewritten:s}}var Iy="# tokmizer-shim PATH (managed by tokmizer)";function Oy(e){return`'${e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`}function Py(){let e=V();return[`export PATH=${H(e)}:"$PATH"`,`export PATH="${e}:$PATH"`,`set -gx PATH ${Oy(e)} $PATH`,`$env:Path = '${e.replace(/'/g,"''")};' + $env:Path`,`$env:Path = "${e};" + $env:Path`]}function Ny(){return U(S(),"global-path")}function Dy(){return ps(Ny())}function ms(){return U(S(),"backup","global-path.json")}function Vl(e){let t=Py(),n=e.split(`
96
- `),r=[],s=0;for(let o=0;o<n.length;o+=1){let i=n[o].replace(/\r$/,""),a=n[o+1]?.replace(/\r$/,"");if(i===Iy&&a!==void 0&&t.includes(a)){r.length&&r[r.length-1].replace(/\r$/,"")===""&&r.pop(),s+=1,o+=1;continue}r.push(n[o])}return{content:s?r.join(`
97
- `):e,removed:s}}function Wl(){let e=xt.homedir(),t=[".zshrc",".zprofile",".bashrc",".bash_profile",".bash_login",".profile",U(".config","fish","config.fish")].map(n=>U(e,n));return xt.platform()!=="win32"?t:[...t,U(e,"Documents","PowerShell","profile.ps1"),U(e,"Documents","WindowsPowerShell","profile.ps1"),U(e,"OneDrive","Documents","PowerShell","profile.ps1"),U(e,"OneDrive","Documents","WindowsPowerShell","profile.ps1")]}async function ql(){let e=0;for(let t of Wl())try{e+=Vl(await Un(t,"utf8")).removed}catch{}return e}async function My(){try{let e=JSON.parse(await Un(ms(),"utf8"));return Array.isArray(e)?e.filter(t=>t!=null&&typeof t=="object"&&typeof t.file=="string"):[]}catch{return[]}}async function Yl(e={}){if(!e.force&&Dy())return[];let t=[],n=await My();for(let r of Wl()){let s,o;try{s=Bl(r),o=await Un(s,"utf8")}catch{continue}let i=Vl(o);if(!i.removed)continue;let a=U(S(),"backup","rc"),l=U(a,`${xy(r)}-${Gl()}`);try{let c=await by(s);if(typeof process.getuid=="function"&&c.uid!==process.getuid())continue;if(await ds(a,{recursive:!0,mode:448}),await Hl(s,l),await jl(l,384),!await Jl(s,i.content,c.mode&511)){await Ll(l).catch(()=>{});continue}}catch{continue}t.push(r),n.push({file:r,backup:l,fish:r.endsWith("config.fish"),at:new Date().toISOString()})}if(t.length)try{await ds(zl(ms()),{recursive:!0,mode:448}),await Fl(ms(),`${JSON.stringify(n,null,2)}
98
- `,{mode:384})}catch{}return t}function Xl(){return process.env.TOKMIZER_SHIM_JS?process.env.TOKMIZER_SHIM_JS:vy(new URL("../bin/tkr-shim.js",import.meta.url))}import{createConnection as qy}from"node:net";import{spawn as Yy}from"node:child_process";import{existsSync as oc,openSync as _s,closeSync as rc,unlinkSync as xs,writeFileSync as vs,mkdirSync as Ss,readFileSync as Xy,appendFileSync as Qy,rmSync as ek,statSync as tk}from"node:fs";import{dirname as nk,join as Es}from"node:path";import{fileURLToPath as rk}from"node:url";var Fy=g.object({id:g.string().min(1).max(64),op:g.literal("filter"),cmd:g.string().min(1).max(2048),plan:g.enum(["trial","smart","pro"]),allowed:g.array(g.string().min(1).max(64)).max(512).optional(),installId:g.string().min(1).max(64).optional()}),Ly=g.object({id:g.string().min(1).max(64),op:g.literal("ping")}),jy=g.object({id:g.string().min(1).max(64),op:g.literal("shutdown"),installId:g.string().min(1).max(64)}),Hy=g.object({id:g.string().min(1).max(64),op:g.literal("reload"),installId:g.string().min(1).max(64).optional()}),QS=g.discriminatedUnion("op",[Fy,Ly,jy,Hy]),eE=g.object({id:g.string(),ok:g.literal(!0),data:g.unknown()}),tE=g.object({id:g.string(),ok:g.literal(!1),err:g.string(),retryAfterMs:g.number().int().nonnegative().optional()}),Ql=g.object({filter:ve.nullable(),cacheHit:g.boolean().optional()}),Zn=`
99
- `,nE=64*1024;function ys(e){return JSON.stringify(e)+Zn}function*ec(e){let t=0;for(;;){let n=e.indexOf(Zn,t);if(n<0)return;yield e.slice(t,n),t=n+1}}function Qt(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}import By from"node:os";import{join as en}from"node:path";import{existsSync as zy,statSync as Uy,lstatSync as tc,unlinkSync as Zy,mkdirSync as Jy,chmodSync as Gy}from"node:fs";import{createHash as Ky}from"node:crypto";var ks=100;function Vy(e){let t=Ky("sha256").update(S()).digest("hex").slice(0,8),n=en(By.tmpdir(),`tkr-${e}-${t}`),r=en(n,"d.sock");if(Buffer.byteLength(r)>ks)throw new Error("Temporary directory path is too long for IPC");return nc(n,e),r}function Wy(e,t){try{let n=tc(e);return n.isDirectory()&&n.uid===t&&(n.mode&63)===0}catch{return!1}}function nc(e,t){Jy(e,{recursive:!0,mode:448});let n=tc(e);if(!n.isDirectory()||n.uid!==t)throw new Error("Unsafe IPC directory");Gy(e,448)}function tn(){if(process.platform==="win32")return{path:`\\\\.\\pipe\\tokmizer-${process.env.USERNAME??"tokmizer"}`,isPipe:!0};let e=typeof process.getuid=="function"?process.getuid():0,t=process.env.XDG_RUNTIME_DIR;if(t&&Wy(t,e)){let s=en(t,`tokmizer-${e}.sock`);if(Buffer.byteLength(s)<=ks)return{path:s,isPipe:!1}}let n=en(S(),"run"),r=en(n,"daemon.sock");return Buffer.byteLength(r)>ks?{path:Vy(e),isPipe:!1}:(nc(n,e),{path:r,isPipe:!1})}async function bs(){let{path:e,isPipe:t}=tn();if(t||!zy(e))return;try{if(!Uy(e).isSocket())return}catch{return}let n=await import("node:net");if(!await new Promise(s=>{let o=n.createConnection(e),i=a=>{o.removeAllListeners();try{o.destroy()}catch{}s(a)};o.once("connect",()=>i(!0)),o.once("error",a=>{let l=a.code;i(l!=="ECONNREFUSED"&&l!=="ENOENT")}),setTimeout(()=>i(!0),250)}))try{Zy(e)}catch{}}var cE=5*6e4;var ic=500,sk=3e3,sc=1,ok=6e4,ik=256*1024;function Ts(){return Es(S(),"daemon.spawn.fail")}function $s(){return Es(S(),"daemon.log")}function ak(){try{let e=Number(Xy(Ts(),"utf8"));return Number.isFinite(e)&&Date.now()-e<ok}catch{return!1}}function lk(e){try{Ss(S(),{recursive:!0});let t=$s();try{tk(t).size>ik&&xs(t)}catch{}Qy(t,`${new Date().toISOString()} ${e}
100
- `)}catch{}}function ck(e){try{Ss(S(),{recursive:!0}),vs(Ts(),String(Date.now()))}catch{}lk(`spawn failed: ${e.message}`)}function uk(){try{ek(Ts(),{force:!0})}catch{}}async function Jn(e,t){return new Promise((n,r)=>{let s=qy(e),o=a=>{if(s.removeAllListeners("connect"),s.removeAllListeners("error"),clearTimeout(i),a){try{s.destroy()}catch{}r(a)}else n(s)},i=setTimeout(()=>o(new Error("connect timeout")),t);s.once("connect",()=>o(null)),s.once("error",a=>o(a))})}function fk(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:rk(new URL("../bin/tkr-daemon.js",import.meta.url))}async function ws(e,t=3e3){let n=Math.ceil(t/75),r=process.platform==="win32";for(let s=0;s<n;s++){if(r)try{return(await Jn(e,75)).destroy(),!0}catch{}else if(oc(e))return!0;await new Promise(o=>setTimeout(o,75))}return!1}async function dk(e){let t=fk();if(!Te()&&!oc(t))throw new Error(`tkr-daemon binary not found at ${t}`);let{path:n}=tn(),r=process.platform==="win32"?S():nk(n);try{Ss(r,{recursive:!0})}catch{}let s=Es(r,"daemon.spawn.lock"),o=null;try{o=_s(s,"wx"),vs(o,String(process.pid))}catch(i){if(i.code==="EEXIST"){if(await ws(n,5e3))return;try{xs(s)}catch{}try{o=_s(s,"wx"),vs(o,String(process.pid))}catch(l){if(l.code==="EEXIST"){await ws(n,5e3);return}throw l}}else throw i}try{let i=null;try{i=_s($s(),"a")}catch{}let[a,...l]=zr(t);if(Yy(a,l,{detached:!0,stdio:["ignore","ignore",i??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:e}}).unref(),i!==null)try{rc(i)}catch{}if(!await ws(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(o!==null){try{rc(o)}catch{}try{xs(s)}catch{}}}}async function mk(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:tn(),n=await jr();try{let r=await Jn(t,ic);r.write(ys({id:Qt(),op:"shutdown",installId:n})),await new Promise(s=>setTimeout(s,150));try{r.destroy()}catch{}return!0}catch{return!1}}async function pk(e,t){let n=Date.now()+t;for(;Date.now()<n;){try{(await Jn(e,250)).destroy()}catch{return!0}await new Promise(r=>setTimeout(r,100))}return!1}async function Rs(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:tn(),n=await jr(),r=null,s=0,o=!1;for(;s<=sc;)try{r=await Jn(t,ic),uk();break}catch{if(s+=1,s>sc)throw new Error(`tkr-daemon unreachable at ${t}`);if(ak())throw new Error(`tkr-daemon spawn on cooldown (see ${$s()})`);await bs();try{await dk(n),o=!0}catch(u){throw ck(u),u}}if(!r)throw new Error("tkr-daemon: socket setup failed");let i=new Map,a="";r.setEncoding("utf8"),r.on("data",u=>{a+=u;let f=-1;for(let m=0;m<a.length;m++)a[m]===Zn&&(f=m);if(f<0)return;let d=[];for(let m of ec(a.slice(0,f+1)))d.push(m);a=a.slice(f+1);for(let m of d)if(m)try{let h=JSON.parse(m),w=i.get(h.id);if(!w)continue;clearTimeout(w.timer),i.delete(h.id),w.resolve(h)}catch{}}),r.on("close",()=>{for(let u of i.values())clearTimeout(u.timer),u.reject(new Error("daemon socket closed"));i.clear()}),r.on("error",()=>{});function l(u){return new Promise((f,d)=>{if(r.destroyed||!r.writable){d(new Error("daemon socket closed"));return}let m=setTimeout(()=>{i.delete(u.id),d(new Error(`daemon request timeout (${u.op})`))},sk);i.set(u.id,{resolve:f,reject:d,timer:m}),r.write(ys(u))})}let c={filter:async(u,f,d)=>{let m=await l({id:Qt(),op:"filter",cmd:u.slice(0,2048),plan:f,...d&&d.length>0?{allowed:d.slice(0,512)}:{},installId:n});if(!m.ok)return null;let h=Ql.safeParse(m.data);return h.success?h.data.filter:null},ping:async()=>{let u=await l({id:Qt(),op:"ping"});if(!u.ok)throw new Error(u.err);return u.data},reload:async()=>{let u=await l({id:Qt(),op:"reload",installId:n});if(!u.ok)throw new Error(u.err);return u.data},close:()=>{try{r.destroy()}catch{}}};if(!e.skipVersionCheck&&!o){let u=!1;try{let f=await c.ping();if(f.version&&ea(Bt,f.version))throw new Error(`newer daemon ${f.version} already running`);u=f.version!==Bt}catch(f){throw c.close(),f}if(u){try{await mk(e.socketPath?{socketPath:e.socketPath}:{})}catch{}c.close();let f=await pk(t,2e3);if(await bs(),!f)throw new Error("stale daemon still running after shutdown request");return Rs({...e,skipVersionCheck:!0})}}return c}var vt=null,nn=null;async function hk(){if(vt)return vt;if(nn)return nn;let e=Rs().then(t=>{if(nn===e)return vt=t,t;try{t.close()}catch{}return null}).catch(()=>null);return nn=e,e}var As=null,Cs=!1;async function gk(){return Cs||(Cs=!0,As=await sa()??Sn()),As}async function ac(e,t,n){let r=await gk();if(!r)return null;let s=r.selectFor(e,t,n?[...n]:void 0);return!s||n&&!n.has(re(s.slug))?null:s}function yk(e){return e?{...e,matchRegex:new RegExp(e.match_command)}:null}function lc(e){Fr(async(t,n)=>{let r=e==="free"?"trial":e,s=n??En(void 0),o=await hk();if(!o)return ac(t,r,s);try{let i=await o.filter(t,r,s?[...s]:void 0);return!i||s&&!s.has(re(i.slug))?null:yk(i)}catch{return ac(t,r,s)}})}function cc(){if(Fr(null),vt)try{vt.close()}catch{}vt=null,nn=null,As=null,Cs=!1}import{chmod as _k,mkdir as wk,readFile as DE,writeFile as uc,stat as ME,readdir as FE,rm as fc,rename as xk}from"node:fs/promises";import{readFileSync as vk}from"node:fs";import{createHash as Sk}from"node:crypto";import{readFileSync as kk}from"node:fs";import{join as bk}from"node:path";function Qe(){try{return kk(bk(S(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var Ek=1440*60*1e3,zE=30*Ek,UE=200*1024*1024,Tk=8*1024*1024,$k=/^[0-9a-f]{8,64}$/i;var Rk=".meta";var ZE=["usage: tkr restore <hash> [--lines a:b] [--grep pattern]"," tkr restore --list"," tkr restore --grep <pattern>",""].join(`
101
- `);function Ak(){try{let e=JSON.parse(vk(Ti(),"utf8")),t=e.maxAgeDays;return{...typeof t=="number"&&Number.isFinite(t)&&t>0?{maxAgeDays:Math.min(t,365)}:{},...e.disabled===!0?{disabled:!0}:{}}}catch{return{}}}function Ck(e,t,n=process.env){let r=Number(n[e]);return Number.isFinite(r)&&r>0?r:t}function Ik(e){return`${Tr(e)}${Rk}`}function Ok(e){return e===""?[]:(e.endsWith(`
93
+ `:"";return await dl(e,s)?"removed":"error"}function Yt(){return ts(ul.homedir(),".gemini","config","hooks.json")}function Zg(e){return{enabled:!0,PreToolUse:[{matcher:"run_command",hooks:[{type:"command",command:e,timeout:10}]}]}}function gl(){try{let e=JSON.parse(cl(Yt(),"utf8"));return N(e)&&N(e[Vt])}catch{return!1}}async function yl(e){let t=Yt(),n=await $e(t);if(!n)return"error";let r=Zg(e),s=n[Vt];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[Vt]=r,await Re(t,n)?s===void 0?"added":"updated":"error")}async function kl(){let e=Yt();if(!ns(e))return"absent";let t=await $e(e);return t?Vt in t?(delete t[Vt],await Re(e,t)?"removed":"error"):"absent":"error"}var Xt=()=>Jg.homedir(),ss=()=>process.env.XDG_CONFIG_HOME||se(Xt(),".config"),bl=[{host:"opencode",label:"OpenCode",command:"setup-opencode",kind:"shim",files:()=>[{template:"opencode.js",target:se(ss(),"opencode","plugins","tokmizer.js")}],next:"Restart OpenCode so it loads the plugin."},{host:"kilo",label:"Kilo Code",command:"setup-kilo",kind:"shim",files:()=>[{template:"kilo.js",target:se(ss(),"kilo","plugin","tokmizer.js")}],next:"Restart Kilo Code (CLI or VS Code extension) so it loads the plugin."},{host:"amp",label:"Amp",command:"setup-amp",kind:"shim",files:()=>[{template:"amp.js",target:se(ss(),"amp","plugins","tokmizer.js")}],next:"Reload plugins in Amp (or restart it), then check it with: amp plugins list"},{host:"vibe",label:"Mistral Vibe",command:"setup-vibe",kind:"hook",file:qt,installed:ml,ensure:pl,remove:hl,next:"Restart Vibe so it reads hooks.toml."},{host:"antigravity",label:"Antigravity",command:"setup-antigravity",kind:"hook",file:Yt,installed:gl,ensure:yl,remove:kl,next:"Restart Antigravity, then check it with /hooks."},{host:"openclaw",label:"OpenClaw",command:"setup-openclaw",kind:"shim",files:()=>{let e=se(Xt(),".openclaw","extensions","tokmizer");return["index.js","openclaw.plugin.json","package.json"].map(t=>({template:`openclaw/${t}`,target:se(e,t)}))},next:"Run: openclaw plugins enable tokmizer && openclaw gateway restart"},{host:"pi",label:"Pi",command:"setup-pi",kind:"shim",files:()=>[{template:"pi.js",target:se(process.env.PI_CODING_AGENT_DIR||se(Xt(),".pi","agent"),"extensions","tokmizer.js")}],next:"Restart Pi (or run /reload) so it loads the extension."},{host:"omp",label:"Oh My Pi",command:"setup-omp",kind:"shim",files:()=>[{template:"omp.js",target:se(Xt(),".omp","agent","extensions","tokmizer.js")}],next:"Restart omp so it loads the extension."},{host:"hermes",label:"Hermes",command:"setup-hermes",kind:"shim",files:()=>{let e=se(process.env.HERMES_HOME||se(Xt(),".hermes"),"plugins","tokmizer");return["__init__.py","plugin.yaml"].map(t=>({template:`hermes/${t}`,target:se(e,t)}))},next:"Run: hermes plugins enable tokmizer, then restart Hermes (needs Hermes v2026.8.16 or newer)."}];function _l(e){return e.kind==="hook"?e.installed():il(e.files()[0].target)}import{existsSync as ls,readFileSync as Yg}from"node:fs";import{join as B}from"node:path";import Xg from"node:os";import{existsSync as Kg,readFileSync as Gg}from"node:fs";function jn(e,t){return N(e)&&wt(e.command,t)}function wl(e){return e.path??(e.nested?["hooks"]:[])}function xl(e,t){let n=e;for(let r of wl(t))N(n[r])||(n[r]={}),n=n[r];return n}function vl(e,t){let n=e;for(let s of wl(t))n=N(n)?n[s]:void 0;if(!N(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function Vg(e){return N(e)&&Array.isArray(e.hooks)?e.hooks:[]}function Sl(e,t){return(t.matcher===void 0?e:e.flatMap(Vg)).filter(r=>jn(r,t.mark))}function El(e,t){return Sl(vl(e,t),t).length>0}function os(e,t){try{let n=JSON.parse(Gg(e,"utf8"));return N(n)&&El(n,t)}catch{return!1}}function Wg(e,t,n){let r=xl(e,t),s=Array.isArray(r[t.event])?r[t.event]:[];r[t.event]=s;let o=Sl(s,t)[0],i=t.entry(n);if(o){let a=Ln(s,c=>jn(c,t.mark),o,t.matcher!==void 0),l=Object.entries(i).filter(([c,u])=>JSON.stringify(o[c])!==JSON.stringify(u));if(!l.length&&!a)return"present";for(let[c,u]of l)o[c]=u;return"updated"}return s.push(t.matcher===void 0?i:{matcher:t.matcher,hooks:[i]}),"added"}function qg(e,t){if(!El(e,t))return!1;let n=xl(e,t),r=vl(e,t),s=t.matcher===void 0?r.filter(o=>!jn(o,t.mark)):r.map(o=>N(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!jn(i,t.mark))}:o).filter(o=>!N(o)||!Array.isArray(o.hooks)||o.hooks.length>0);return s.length?n[t.event]=s:delete n[t.event],!0}async function is(e,t,n){let r=await $e(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=Wg(r,t,n);return s==="present"||await Re(e,r)?s:"error"}async function Hn(e,t){if(!Kg(e))return"absent";let n=await $e(e);return n?qg(n,t)?await Re(e,n)?"removed":"error":"absent":"error"}function fe(){return Xg.homedir()}function Al(e){return e.version===void 0&&(e.version=1),e.version===1}function Qg(e,t,n){return Promise.all(e.map(r=>is(r,t,n))).then(r=>r.includes("error")?"error":r.includes("updated")?"updated":r.includes("added")?"added":"present")}function ey(e,t){return Promise.all(e.map(n=>Hn(n,t))).then(n=>n.includes("error")?"error":n.includes("removed")?"removed":"absent")}function Xe(e,t){return{...e,installed:()=>e.files().some(n=>os(n,t)),ensure:n=>Qg(e.files(),t,n),remove:()=>ey(e.files(),t)}}var ty={mark:"tkr-copilot-hook",event:"PreToolUse",nested:!0,entry:e=>({type:"command",command:e,bash:e,powershell:e,timeout:10,timeoutSec:10}),prepare:Al};function ny(){return B(process.env.COPILOT_HOME||B(fe(),".copilot"),"hooks","tokmizer.json")}var ry={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:Al};function sy(){let e=[B(fe(),".trae","hooks.json")];return ls(B(fe(),".trae-cn"))&&e.push(B(fe(),".trae-cn","hooks.json")),e}var oy={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};function iy(){return B(process.env.QWEN_HOME||B(fe(),".qwen"),"settings.json")}var ay={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};function ly(){return B(process.env.XDG_CONFIG_HOME||B(fe(),".config"),"crush","crush.json")}var cy={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};function uy(){return B(fe(),".junie","config.json")}function fy(e){return e.hooks===void 0&&(e.hooks={}),N(e.hooks)?(e.hooks.enabled===void 0&&(e.hooks.enabled=!0),e.hooks.events===void 0||N(e.hooks.events)):!1}var dy={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:fy};function my(){return B(fe(),".zcode","cli","config.json")}var py={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};function hy(){return B(fe(),".grok","hooks","tokmizer.json")}var gy="tkr-droid-hook",cs={mark:gy,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},yy={...cs,nested:!0};function as(){return B(fe(),".factory")}function Bn(){return[{file:B(as(),"hooks.json"),spec:cs},{file:B(as(),"hooks","hooks.json"),spec:cs},{file:B(as(),"settings.json"),spec:yy}]}function Tl(e){try{let t=JSON.parse(Yg(e,"utf8"));return N(t)?t:null}catch{return null}}function $l(e,t){let n=t?e?.hooks:e;return N(n)&&Array.isArray(n.PreToolUse)&&n.PreToolUse.length>0}function Rl(){let[e,t,n]=Bn(),r=ls(e.file)?e:ls(t.file)?t:null;return r&&$l(Tl(r.file),!1)?r:$l(Tl(n.file),!0)?n:r??e}var ky={id:"droid",label:"Factory Droid",setup:"tkr setup-droid",bin:"tkr-droid-hook",restart:"Restart Droid, then check it with /hooks.",files:()=>[Rl().file],installed:()=>Bn().some(e=>os(e.file,e.spec)),ensure:async e=>{let t=Rl(),n=await is(t.file,t.spec,e);return n==="error"||await Promise.all(Bn().filter(r=>r.file!==t.file).map(r=>Hn(r.file,r.spec))),n},remove:async()=>{let e=await Promise.all(Bn().map(t=>Hn(t.file,t.spec)));return e.includes("error")?"error":e.includes("removed")?"removed":"absent"}},Cl=[Xe({id:"copilot",label:"GitHub Copilot",setup:"tkr setup-copilot",bin:"tkr-copilot-hook",restart:"Restart VS Code or Copilot CLI so they load the new hook.",files:()=>[ny()]},ty),ky,Xe({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:sy},ry),Xe({id:"qwen-code",label:"Qwen Code",setup:"tkr setup-qwen",bin:"tkr-qwen-hook",restart:"Restart Qwen Code, then check it with /hooks.",files:()=>[iy()]},oy),Xe({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[ly()]},ay),Xe({id:"junie",label:"Junie CLI",setup:"tkr setup-junie",bin:"tkr-junie-hook",restart:"Restart Junie CLI so it loads the new hook.",files:()=>[uy()]},cy),Xe({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[my()]},dy),Xe({id:"grok",label:"Grok Build",setup:"tkr setup-grok",bin:"tkr-grok-hook",restart:"Restart Grok Build (1.0.4 or newer) so it loads the new hook.",files:()=>[hy()]},py)];var us=[{host:"claude-code",vars:["CLAUDECODE","CLAUDE_CODE_ENTRYPOINT","CLAUDE_CODE","CLAUDE_CODE_VERSION","ANTHROPIC_CLAUDE_CODE"]},{host:"codex",vars:["CODEX_VERSION","CODEX_CLI","OPENAI_CODEX","CODEX_THREAD_ID","CODEX_SESSION_ID"]},{host:"cursor",vars:["CURSOR_AGENT","CURSOR_VERSION","CURSOR_TRACE_ID"]},{host:"cline",vars:["CLINE_VERSION","CLINE_API_KEY"]},{host:"aider",vars:["AIDER_VERSION","AIDER_MODEL"]},{host:"qwen-code",vars:["QWEN_CODE"]},{host:"gemini-cli",vars:["GEMINI_CLI","GEMINI_CLI_VERSION","GEMINI_API_KEY"]},{host:"windsurf",vars:["WINDSURF_VERSION","WINDSURF_USER"]},{host:"copilot",vars:["GITHUB_COPILOT_VERSION","COPILOT_INTEGRATION_ID"]},{host:"opencode",vars:[]},{host:"amp",vars:[]},{host:"vibe",vars:[]},{host:"antigravity",vars:[]},{host:"openclaw",vars:[]},{host:"pi",vars:[]},{host:"omp",vars:[]},{host:"hermes",vars:[]},{host:"crush",vars:["CRUSH"]},{host:"droid",vars:[]},{host:"trae",vars:[]},{host:"junie",vars:[]},{host:"zcode",vars:[]},{host:"grok",vars:[]},{host:"kilo",vars:[]}],by=[...us.map(e=>e.host),"shell"],Il=new Set(["claude-code","codex"]),_y={cursor:{installed:rl,setup:"tkr setup-cursor"},"gemini-cli":{installed:ol,setup:"tkr setup-gemini"},...Object.fromEntries(bl.map(e=>[e.host,{installed:()=>_l(e),setup:`tkr ${e.command}`}])),...Object.fromEntries(Cl.map(e=>[e.id,{installed:e.installed,setup:e.setup}]))};function fs(e){return us.filter(t=>Il.has(t.host)===e).flatMap(t=>t.vars)}function zn(e){return Il.has(e)||(_y[e]?.installed()??!1)}function Ol(e){return null}function Pl(e=process.env){let t=process.platform,n=t==="darwin"||t==="linux"||t==="win32"?t:"other",r=process.arch,s=e.TOKMIZER_HOST;if(s&&by.includes(s)){let o=s;return{host:o,source:"env",os:n,arch:r,shimRecommended:!zn(o)}}for(let o of us)if(o.vars.some(i=>e[i]))return{host:o.host,source:"env",os:n,arch:r,shimRecommended:!zn(o.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}var $y=["git","npm","yarn","pnpm","docker","kubectl","terraform","tofu","cargo","go","mvn","gradle","rg","grep","find","ls","cat","tail","head","ps","lsof","ssh","scp","rsync","curl","wget","jq","yq","make"];function Dl(e){try{return Bl(e)}catch{return e}}function hs(){let e=V(),t={...process.env},n=process.platform==="win32"?"Path":"PATH",r=t[n]??t.PATH??"",s=Dl(e),o=r.split(Nl).filter(i=>i&&i!==e&&Dl(i)!==s);return t[n]=o.join(Nl),n==="Path"&&(t.PATH=t[n]),t}function Ul(){try{let e=xt.platform()==="win32";return ps(U(V(),e?"git.cmd":"git"))}catch{return!1}}function Ml(e){return`"${e.map(t=>`\${${t}:-}`).join("")}"`}var Zl=1;function gs(e){let t=e.match(/^#!\/bin\/sh\n_tk_f=(\d+)\n/);return t!==null&&Number(t[1])>=Zl&&e.includes(`exec /bin/sh ${H(_t())} "$_tk_c" "$@"`)}function Ry(e){return["#!/bin/sh",`_tk_f=${Zl}`,`_tk_c=${H(e)}`,`if [ -z ${Ml(fs(!0))} ] && { [ -n ${Ml(["TOKMIZER_HOST",...fs(!1)])} ] || [ -t 1 ]; } && [ -f ${H(_t())} ] && ! ${Cn()}; then`,` exec /bin/sh ${H(_t())} "$_tk_c" "$@"`,"fi",...In(""),""].join(`
94
+ `)}function Ay(e){let t=Te()?Ee(e):null,n=t?Zt():e;return{check:n,run:t?[`"${n}"`,...t].join(" "):`node "${n}"`}}function Cy(e,t){let n=Ay(e),r=V();return["@echo off",`if exist "${kt()}" goto tkpass`,`if not exist "${n.check}" goto tkmissing`,`${n.run} --as "${t}" %*`,"exit /b %errorlevel%",":tkmissing",`echo ${An.replace(/`/g,"")} 1>&2`,":tkpass",`set "PATH=%PATH:${r}\\;=%"`,`set "PATH=%PATH:${r};=%"`,`set "PATH=%PATH:;${r}=%"`,"for %%E in (.exe .cmd .bat .com) do for %%I in ("+t+'%%E) do if not "%%~$PATH:I"=="" if /i not "%%~dp$PATH:I"=="%~dp0" (',' "%%~$PATH:I" %*'," exit /b",")",`echo ${t}: command not found 1>&2`,"exit /b 9009",""].join(`\r
95
+ `)}function Iy(e){return U(V(),xt.platform()==="win32"?`${e}.cmd`:e)}function Oy(e,t){return xt.platform()==="win32"?Cy(e,t):Ry(t)}async function Jl(e,t,n){let r=`${e}.${process.pid}.tmp`;try{return await Fl(r,t,{mode:n}),await jl(r,n),await wy(r,e),!0}catch{try{await Ll(r)}catch{}return!1}}function Kl(){return new Date().toISOString().replace(/[-:]/g,"").replace(/\..*$/,"").replace("T","-")}async function Py(e,t,n){try{let r=(await vy(e)).filter(s=>s.startsWith(t)).sort().slice(0,-n);for(let s of r)await Sy(U(e,s),{recursive:!0,force:!0})}catch{}}async function Gl(e,t={}){let n=V();if(!ps(n))return{stale:0,rewritten:0};let r=0,s=0,o=null;for(let i of $y){let a=Iy(i),l=Oy(e,i),c;try{c=await Un(a,"utf8")}catch{continue}if(!(c===l||xt.platform()!=="win32"&&gs(c))&&(r+=1,!t.dryRun)){try{o||(o=U(x(),"backup",`shims-${Kl()}`),await ds(o,{recursive:!0,mode:448})),await Hl(a,U(o,i))}catch{}await Jl(a,l,493)&&(s+=1)}}return o&&await Py(zl(o),"shims-",3),{stale:r,rewritten:s}}var Ny="# tokmizer-shim PATH (managed by tokmizer)";function Dy(e){return`'${e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`}function My(){let e=V();return[`export PATH=${H(e)}:"$PATH"`,`export PATH="${e}:$PATH"`,`set -gx PATH ${Dy(e)} $PATH`,`$env:Path = '${e.replace(/'/g,"''")};' + $env:Path`,`$env:Path = "${e};" + $env:Path`]}function Fy(){return U(x(),"global-path")}function Ly(){return ps(Fy())}function ms(){return U(x(),"backup","global-path.json")}function Vl(e){let t=My(),n=e.split(`
96
+ `),r=[],s=0;for(let o=0;o<n.length;o+=1){let i=n[o].replace(/\r$/,""),a=n[o+1]?.replace(/\r$/,"");if(i===Ny&&a!==void 0&&t.includes(a)){r.length&&r[r.length-1].replace(/\r$/,"")===""&&r.pop(),s+=1,o+=1;continue}r.push(n[o])}return{content:s?r.join(`
97
+ `):e,removed:s}}function Wl(){let e=xt.homedir(),t=[".zshrc",".zprofile",".bashrc",".bash_profile",".bash_login",".profile",U(".config","fish","config.fish")].map(n=>U(e,n));return xt.platform()!=="win32"?t:[...t,U(e,"Documents","PowerShell","profile.ps1"),U(e,"Documents","WindowsPowerShell","profile.ps1"),U(e,"OneDrive","Documents","PowerShell","profile.ps1"),U(e,"OneDrive","Documents","WindowsPowerShell","profile.ps1")]}async function ql(){let e=0;for(let t of Wl())try{e+=Vl(await Un(t,"utf8")).removed}catch{}return e}async function jy(){try{let e=JSON.parse(await Un(ms(),"utf8"));return Array.isArray(e)?e.filter(t=>t!=null&&typeof t=="object"&&typeof t.file=="string"):[]}catch{return[]}}async function Yl(e={}){if(!e.force&&Ly())return[];let t=[],n=await jy();for(let r of Wl()){let s,o;try{s=Bl(r),o=await Un(s,"utf8")}catch{continue}let i=Vl(o);if(!i.removed)continue;let a=U(x(),"backup","rc"),l=U(a,`${Ey(r)}-${Kl()}`);try{let c=await xy(s);if(typeof process.getuid=="function"&&c.uid!==process.getuid())continue;if(await ds(a,{recursive:!0,mode:448}),await Hl(s,l),await jl(l,384),!await Jl(s,i.content,c.mode&511)){await Ll(l).catch(()=>{});continue}}catch{continue}t.push(r),n.push({file:r,backup:l,fish:r.endsWith("config.fish"),at:new Date().toISOString()})}if(t.length)try{await ds(zl(ms()),{recursive:!0,mode:448}),await Fl(ms(),`${JSON.stringify(n,null,2)}
98
+ `,{mode:384})}catch{}return t}function Xl(){return process.env.TOKMIZER_SHIM_JS?process.env.TOKMIZER_SHIM_JS:Ty(new URL("../bin/tkr-shim.js",import.meta.url))}import{createConnection as Qy}from"node:net";import{spawn as ek}from"node:child_process";import{existsSync as oc,openSync as _s,closeSync as rc,unlinkSync as xs,writeFileSync as vs,mkdirSync as Ss,readFileSync as tk,appendFileSync as nk,rmSync as rk,statSync as sk}from"node:fs";import{dirname as ok,join as Es}from"node:path";import{fileURLToPath as ik}from"node:url";var Hy=g.object({id:g.string().min(1).max(64),op:g.literal("filter"),cmd:g.string().min(1).max(2048),plan:g.enum(["trial","smart","pro"]),allowed:g.array(g.string().min(1).max(64)).max(512).optional(),installId:g.string().min(1).max(64).optional()}),By=g.object({id:g.string().min(1).max(64),op:g.literal("ping")}),zy=g.object({id:g.string().min(1).max(64),op:g.literal("shutdown"),installId:g.string().min(1).max(64)}),Uy=g.object({id:g.string().min(1).max(64),op:g.literal("reload"),installId:g.string().min(1).max(64).optional()}),oE=g.discriminatedUnion("op",[Hy,By,zy,Uy]),iE=g.object({id:g.string(),ok:g.literal(!0),data:g.unknown()}),aE=g.object({id:g.string(),ok:g.literal(!1),err:g.string(),retryAfterMs:g.number().int().nonnegative().optional()}),Ql=g.object({filter:ve.nullable(),cacheHit:g.boolean().optional()}),Zn=`
99
+ `,lE=64*1024;function ys(e){return JSON.stringify(e)+Zn}function*ec(e){let t=0;for(;;){let n=e.indexOf(Zn,t);if(n<0)return;yield e.slice(t,n),t=n+1}}function Qt(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}import Zy from"node:os";import{join as en}from"node:path";import{existsSync as Jy,statSync as Ky,lstatSync as tc,unlinkSync as Gy,mkdirSync as Vy,chmodSync as Wy}from"node:fs";import{createHash as qy}from"node:crypto";var ks=100;function Yy(e){let t=qy("sha256").update(x()).digest("hex").slice(0,8),n=en(Zy.tmpdir(),`tkr-${e}-${t}`),r=en(n,"d.sock");if(Buffer.byteLength(r)>ks)throw new Error("Temporary directory path is too long for IPC");return nc(n,e),r}function Xy(e,t){try{let n=tc(e);return n.isDirectory()&&n.uid===t&&(n.mode&63)===0}catch{return!1}}function nc(e,t){Vy(e,{recursive:!0,mode:448});let n=tc(e);if(!n.isDirectory()||n.uid!==t)throw new Error("Unsafe IPC directory");Wy(e,448)}function tn(){if(process.platform==="win32")return{path:`\\\\.\\pipe\\tokmizer-${process.env.USERNAME??"tokmizer"}`,isPipe:!0};let e=typeof process.getuid=="function"?process.getuid():0,t=process.env.XDG_RUNTIME_DIR;if(t&&Xy(t,e)){let s=en(t,`tokmizer-${e}.sock`);if(Buffer.byteLength(s)<=ks)return{path:s,isPipe:!1}}let n=en(x(),"run"),r=en(n,"daemon.sock");return Buffer.byteLength(r)>ks?{path:Yy(e),isPipe:!1}:(nc(n,e),{path:r,isPipe:!1})}async function bs(){let{path:e,isPipe:t}=tn();if(t||!Jy(e))return;try{if(!Ky(e).isSocket())return}catch{return}let n=await import("node:net");if(!await new Promise(s=>{let o=n.createConnection(e),i=a=>{o.removeAllListeners();try{o.destroy()}catch{}s(a)};o.once("connect",()=>i(!0)),o.once("error",a=>{let l=a.code;i(l!=="ECONNREFUSED"&&l!=="ENOENT")}),setTimeout(()=>i(!0),250)}))try{Gy(e)}catch{}}var hE=5*6e4;var ic=500,ak=3e3,sc=1,lk=6e4,ck=256*1024;function Ts(){return Es(x(),"daemon.spawn.fail")}function $s(){return Es(x(),"daemon.log")}function uk(){try{let e=Number(tk(Ts(),"utf8"));return Number.isFinite(e)&&Date.now()-e<lk}catch{return!1}}function fk(e){try{Ss(x(),{recursive:!0});let t=$s();try{sk(t).size>ck&&xs(t)}catch{}nk(t,`${new Date().toISOString()} ${e}
100
+ `)}catch{}}function dk(e){try{Ss(x(),{recursive:!0}),vs(Ts(),String(Date.now()))}catch{}fk(`spawn failed: ${e.message}`)}function mk(){try{rk(Ts(),{force:!0})}catch{}}async function Jn(e,t){return new Promise((n,r)=>{let s=Qy(e),o=a=>{if(s.removeAllListeners("connect"),s.removeAllListeners("error"),clearTimeout(i),a){try{s.destroy()}catch{}r(a)}else n(s)},i=setTimeout(()=>o(new Error("connect timeout")),t);s.once("connect",()=>o(null)),s.once("error",a=>o(a))})}function pk(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:ik(new URL("../bin/tkr-daemon.js",import.meta.url))}async function ws(e,t=3e3){let n=Math.ceil(t/75),r=process.platform==="win32";for(let s=0;s<n;s++){if(r)try{return(await Jn(e,75)).destroy(),!0}catch{}else if(oc(e))return!0;await new Promise(o=>setTimeout(o,75))}return!1}async function hk(e){let t=pk();if(!Te()&&!oc(t))throw new Error(`tkr-daemon binary not found at ${t}`);let{path:n}=tn(),r=process.platform==="win32"?x():ok(n);try{Ss(r,{recursive:!0})}catch{}let s=Es(r,"daemon.spawn.lock"),o=null;try{o=_s(s,"wx"),vs(o,String(process.pid))}catch(i){if(i.code==="EEXIST"){if(await ws(n,5e3))return;try{xs(s)}catch{}try{o=_s(s,"wx"),vs(o,String(process.pid))}catch(l){if(l.code==="EEXIST"){await ws(n,5e3);return}throw l}}else throw i}try{let i=null;try{i=_s($s(),"a")}catch{}let[a,...l]=zr(t);if(ek(a,l,{detached:!0,stdio:["ignore","ignore",i??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:e}}).unref(),i!==null)try{rc(i)}catch{}if(!await ws(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(o!==null){try{rc(o)}catch{}try{xs(s)}catch{}}}}async function gk(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:tn(),n=await jr();try{let r=await Jn(t,ic);r.write(ys({id:Qt(),op:"shutdown",installId:n})),await new Promise(s=>setTimeout(s,150));try{r.destroy()}catch{}return!0}catch{return!1}}async function yk(e,t){let n=Date.now()+t;for(;Date.now()<n;){try{(await Jn(e,250)).destroy()}catch{return!0}await new Promise(r=>setTimeout(r,100))}return!1}async function Rs(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:tn(),n=await jr(),r=null,s=0,o=!1;for(;s<=sc;)try{r=await Jn(t,ic),mk();break}catch{if(s+=1,s>sc)throw new Error(`tkr-daemon unreachable at ${t}`);if(uk())throw new Error(`tkr-daemon spawn on cooldown (see ${$s()})`);await bs();try{await hk(n),o=!0}catch(u){throw dk(u),u}}if(!r)throw new Error("tkr-daemon: socket setup failed");let i=new Map,a="";r.setEncoding("utf8"),r.on("data",u=>{a+=u;let d=-1;for(let m=0;m<a.length;m++)a[m]===Zn&&(d=m);if(d<0)return;let f=[];for(let m of ec(a.slice(0,d+1)))f.push(m);a=a.slice(d+1);for(let m of f)if(m)try{let h=JSON.parse(m),w=i.get(h.id);if(!w)continue;clearTimeout(w.timer),i.delete(h.id),w.resolve(h)}catch{}}),r.on("close",()=>{for(let u of i.values())clearTimeout(u.timer),u.reject(new Error("daemon socket closed"));i.clear()}),r.on("error",()=>{});function l(u){return new Promise((d,f)=>{if(r.destroyed||!r.writable){f(new Error("daemon socket closed"));return}let m=setTimeout(()=>{i.delete(u.id),f(new Error(`daemon request timeout (${u.op})`))},ak);i.set(u.id,{resolve:d,reject:f,timer:m}),r.write(ys(u))})}let c={filter:async(u,d,f)=>{let m=await l({id:Qt(),op:"filter",cmd:u.slice(0,2048),plan:d,...f&&f.length>0?{allowed:f.slice(0,512)}:{},installId:n});if(!m.ok)return null;let h=Ql.safeParse(m.data);return h.success?h.data.filter:null},ping:async()=>{let u=await l({id:Qt(),op:"ping"});if(!u.ok)throw new Error(u.err);return u.data},reload:async()=>{let u=await l({id:Qt(),op:"reload",installId:n});if(!u.ok)throw new Error(u.err);return u.data},close:()=>{try{r.destroy()}catch{}}};if(!e.skipVersionCheck&&!o){let u=!1;try{let d=await c.ping();if(d.version&&ea(Bt,d.version))throw new Error(`newer daemon ${d.version} already running`);u=d.version!==Bt}catch(d){throw c.close(),d}if(u){try{await gk(e.socketPath?{socketPath:e.socketPath}:{})}catch{}c.close();let d=await yk(t,2e3);if(await bs(),!d)throw new Error("stale daemon still running after shutdown request");return Rs({...e,skipVersionCheck:!0})}}return c}var vt=null,nn=null;async function kk(){if(vt)return vt;if(nn)return nn;let e=Rs().then(t=>{if(nn===e)return vt=t,t;try{t.close()}catch{}return null}).catch(()=>null);return nn=e,e}var As=null,Cs=!1;async function bk(){return Cs||(Cs=!0,As=await sa()??Sn()),As}async function ac(e,t,n){let r=await bk();if(!r)return null;let s=r.selectFor(e,t,n?[...n]:void 0);return!s||n&&!n.has(re(s.slug))?null:s}function _k(e){return e?{...e,matchRegex:new RegExp(e.match_command)}:null}function lc(e){Fr(async(t,n)=>{let r=e==="free"?"trial":e,s=n??En(void 0),o=await kk();if(!o)return ac(t,r,s);try{let i=await o.filter(t,r,s?[...s]:void 0);return!i||s&&!s.has(re(i.slug))?null:_k(i)}catch{return ac(t,r,s)}})}function cc(){if(Fr(null),vt)try{vt.close()}catch{}vt=null,nn=null,As=null,Cs=!1}import{chmod as mc,mkdir as vk,readFile as BE,writeFile as uc,stat as zE,readdir as UE,rm as fc,rename as Sk}from"node:fs/promises";import{readFileSync as Ek}from"node:fs";import{createHash as Tk}from"node:crypto";import{readFileSync as wk}from"node:fs";import{join as xk}from"node:path";function Qe(){try{return wk(xk(x(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var $k=1440*60*1e3,VE=30*$k,WE=200*1024*1024,Rk=8*1024*1024,Ak=/^[0-9a-f]{8,64}$/i;var Ck=".meta";var qE=["usage: tkr restore <hash> [--lines a:b] [--grep pattern]"," tkr restore --list"," tkr restore --grep <pattern>",""].join(`
101
+ `);function Ik(){try{let e=JSON.parse(Ek(Ti(),"utf8")),t=e.maxAgeDays;return{...typeof t=="number"&&Number.isFinite(t)&&t>0?{maxAgeDays:Math.min(t,365)}:{},...e.disabled===!0?{disabled:!0}:{}}}catch{return{}}}function Ok(e,t,n=process.env){let r=Number(n[e]);return Number.isFinite(r)&&r>0?r:t}function Pk(e){return`${Tr(e)}${Ck}`}async function dc(e){await vk(e,{recursive:!0,mode:448});try{await mc(e,448)}catch{}}function Nk(e){return e===""?[]:(e.endsWith(`
102
102
  `)?e.slice(0,-1):e).split(`
103
- `)}async function Pk(e,t,n=process.env,r={}){if(Qe()||!$k.test(e))return!1;let s=Buffer.byteLength(t,"utf8");if(s>Ck("TOKMIZER_CCR_ENTRY_MAX_BYTES",Tk,n))return!1;let o=Tr(e),i=`${o}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{if(await wk(Er(),{recursive:!0}),Qe())return!1;if(await uc(i,t,{mode:384}),await _k(i,384),Qe())return await fc(i,{force:!0}),!1;await xk(i,o)}catch{try{await fc(i)}catch{}return!1}let a={at:Date.now(),bytes:s,lines:Ok(t).length,partial:r.partial===!0,...r.label?{label:r.label.slice(0,40)}:{}};try{await uc(Ik(e),JSON.stringify(a),{mode:384})}catch{}return!0}function dc(e){let t=e.TOKMIZER_CCR_DISABLED;return t==="1"||t==="true"||Qe()||Ak().disabled===!0}async function Is(e,t,n,r){let s=Sk("sha256").update(e).digest("hex").slice(0,16);return await Pk(s,e,r,{partial:t,label:n})?s:null}async function Os(e,t,n=process.env,r={}){if(dc(n)||!e)return t;let s=i=>`
104
- [tkr restore ${i}]`;if(Buffer.byteLength(e,"utf8")<=Buffer.byteLength(s("0".repeat(16)),"utf8"))return t;if(r.raw){let i=await Is(r.raw,!1,r.label,n);if(i)return`${t}${s(i)}`}let o=await Is(e,!0,r.label,n);return o?`${t}${s(o)}`:t}async function mc(e,t,n=process.env,r={}){if(dc(n)||!e)return t;let s=await Is(e,!1,r.label,n);return s?`${t}
105
- [tkr restore ${s}]`:t}var pc=16*1024*1024,Nk=6e5,Dk=1500,Mk=new Set(["npm","pnpm","yarn","bun"]),Fk=new Set(["dev","start","serve","preview","watch"]);function hc(e,t){let n=process.env[e];if(n==null||n==="")return t;let r=Number(n);return Number.isFinite(r)?r:t}function Lk(){return hc("TOKMIZER_SHIM_STREAM_AFTER_MS",process.stdout.isTTY?Dk:0)}function jk(e,t){let n=e.split(/[\\/]/).pop()??e;return Mk.has(n)?t.some(r=>!r.startsWith("-")&&Fk.has(r)):!1}function gc(e){return e[0]==="--as"&&typeof e[1]=="string"?{cmdName:e[1],args:e.slice(2)}:e.length>0?{cmdName:e[0],args:e.slice(1)}:{cmdName:"",args:[]}}async function Hk(e,t){let n=Qe(),r=await gt(),s=await Ht(),o=s?la(s):null,i=s?En(s.allowedFilters,aa(s)):new Set,a=new Set(r.filters.disabled.map(re)),l=i&&a.size>0?new Set([...i].filter(m=>!a.has(m))):i,c=Pl().host,u=!process.stdout.isTTY&&c==="shell",f=!r.enabled||!s||zn(c)||Zr(),d=jk(e,t);return{yolo:n,settings:r,state:s,plan:o,allowed:l,host:c,piped:u,bypass:f,passthrough:d}}function Bk(e,t){return new Promise(n=>{let r=o=>n({exitCode:o,filteredOut:"",filteredErr:"",filterId:null,rawBytes:0,filteredBytes:0}),s=(0,Ps.default)(e,t,{stdio:"inherit",shell:!1,windowsHide:!0,env:hs()});s.on("error",o=>{process.stderr.write(`tkr-shim: ${o.message}
106
- `),r(127)}),s.on("close",(o,i)=>r(typeof o=="number"?o:i==="SIGINT"?130:i==="SIGTERM"?143:1))})}async function yc(e){let{cmdName:t,args:n}=e;if(!t)return process.stderr.write(`tkr-shim: missing command name
107
- `),{exitCode:2,filteredOut:"",filteredErr:"",filterId:null,rawBytes:0,filteredBytes:0};let r=[t,...n].join(" "),s;try{s=await Hk(t,n)}catch{return Bk(t,n)}let{yolo:o,settings:i,state:a,plan:l,allowed:c,host:u,piped:f,bypass:d,passthrough:m}=s;a&&!d&&!f&&!m&&lc(l);let h,w;try{return await new Promise(b=>{let R=(0,Ps.default)(t,n,{stdio:m?"inherit":["inherit","pipe","pipe"],shell:!1,windowsHide:!0,env:hs()}),E=[],I=[],P=0,D=0,X=!1,Q=m,St=hc("TOKMIZER_SHIM_TIMEOUT_MS",Nk),O=Lk(),F,W,Gn=()=>{F&&clearTimeout(F),W&&clearTimeout(W),F=void 0,W=void 0},rn=()=>{if(!Q){Q=!0,F&&clearTimeout(F),F=void 0;for(let M of E)process.stdout.write(M);for(let M of I)process.stderr.write(M);E.length=0,I.length=0}},Kn=()=>{Q||O<=0||(W&&clearTimeout(W),W=setTimeout(rn,O),W.unref?.())};!Q&&St>0&&(F=setTimeout(()=>R.kill("SIGTERM"),St),F.unref?.()),Kn();let Ms=M=>{try{R.kill(M)}catch{}};h=()=>Ms("SIGINT"),w=()=>Ms("SIGTERM"),process.on("SIGINT",h),process.on("SIGTERM",w),R.stdout?.on("data",M=>{if(P+=M.length,Q){process.stdout.write(M);return}if(P>pc){if(!X){for(let et of E)process.stdout.write(et);E.length=0,X=!0}process.stdout.write(M);return}E.push(M),Kn()}),R.stderr?.on("data",M=>{if(D+=M.length,Q){process.stderr.write(M);return}if(D>pc){if(!X){for(let et of I)process.stderr.write(et);I.length=0,X=!0}process.stderr.write(M);return}I.push(M),Kn()}),R.on("error",M=>{Gn(),process.stderr.write(`tkr-shim: ${M.message}
108
- `),b({exitCode:127,filteredOut:"",filteredErr:"",filterId:null,rawBytes:0,filteredBytes:0})}),R.on("close",async(M,et)=>{Gn();let tt=typeof M=="number"?M:et==="SIGTERM"?143:et==="SIGINT"?130:1,Ae=Buffer.concat(E),Ce=Buffer.concat(I);if(X||Q||d||f){Ae.length&&process.stdout.write(Ae),Ce.length&&process.stderr.write(Ce),b({exitCode:tt,filteredOut:Ae.toString("utf8"),filteredErr:Ce.toString("utf8"),filterId:null,rawBytes:P+D,filteredBytes:P+D});return}let Et=Ae.toString("utf8"),Tt=Ce.toString("utf8");try{let z=await Lr(r,Et,c,{verbosity:i.outputVerbosity,yolo:o,exitCode:tt}),Vn=Tt&&(o||tt!==0&&Buffer.byteLength(Tt,"utf8")>=1024)?await Lr(r,Tt,c,{verbosity:i.outputVerbosity,yolo:o,exitCode:tt}):null,Ie=Vn&&(o||Vn.failureSummary)?Vn:null,Fs=z.filteredBytes<z.rawBytes,Ls=Fs||Ie!=null&&Ie.filteredBytes<Ie.rawBytes,$t=Ie?.output??Tt;if(Ie&&!o)try{$t=await Os(Ie.droppedTail??null,Ie.output)}catch{}let Rt=Et;if(Fs&&(Rt=z.output,!o))try{Rt=new RegExp(ai.source,"m").test(z.output)?await mc(Et,z.output,process.env,{label:Rn(r)}):await Os(z.droppedTail??null,z.output,process.env,{raw:Et,label:Rn(r)})}catch{}let js=Ae.length+Ce.length,At=Pa(js,Ls?Buffer.byteLength(Rt,"utf8")+Buffer.byteLength($t,"utf8"):js,Ol(u));Ia(At.raw,At.filtered,void 0,!1,u,"sh",Rn(r),process.cwd(),Oa(z));try{await ya({cmd:r,filterId:z.filterId,rawBytes:z.rawBytes,filteredBytes:z.filteredBytes,plan:l}),await ga({cmd:r,tokensSaved:Math.max(0,Math.round((At.raw-At.filtered)/4)),rawTokens:Math.round(At.raw/4),optimized:z.filterId!=null,telemetryOptIn:i.telemetryOptIn,sessionId:process.env.CLAUDE_CODE_SESSION_ID,host:u})}catch{}if(Ls){process.stdout.write(Rt),$t&&process.stderr.write($t),b({exitCode:tt,filteredOut:Rt,filteredErr:$t,filterId:z.filterId,rawBytes:z.rawBytes,filteredBytes:z.filteredBytes});return}}catch{}Ae.length&&process.stdout.write(Ae),Ce.length&&process.stderr.write(Ce),b({exitCode:tt,filteredOut:Et,filteredErr:Tt,filterId:null,rawBytes:P+D,filteredBytes:P+D})})})}finally{h&&process.off("SIGINT",h),w&&process.off("SIGTERM",w),cc()}}import{existsSync as kc,readFileSync as _c,rmSync as uT,statSync as fT,writeFileSync as zk,mkdirSync as Uk}from"node:fs";import{join as wc}from"node:path";import Ns from"node:os";function bc(){return wc(S(),"healed")}function Zk(e){if(!(e<=0))try{let t=Number(_c(bc(),"utf8"))||0;Uk(S(),{recursive:!0,mode:448}),zk(bc(),String(t+e),{mode:384})}catch{}}async function Jk(e){let t={staleShims:0,rewrittenShims:0,launcher:"absent",hookLauncher:"absent",globalPathRemoved:[],globalPathLines:0};if(Ns.platform()!=="win32"&&kc(Gt())){let r=Nn(Kt(Gt())),s=Pn(e.shimJs);!(!r||e.explicit===!0&&(s.single!==""||s.js!==""))||e.dryRun&&r?t.hookLauncher="ok":e.dryRun?t.hookLauncher="stale":t.hookLauncher=await Za(s)?"written":"failed"}let n=kc(V())&&Ul();if(n&&Ns.platform()!=="win32"){let r=Nn(Kt()),s=Pn(e.shimJs);!(!r||e.explicit===!0&&(s.single!==""||s.js!==""))||e.dryRun&&r?t.launcher="ok":e.dryRun?t.launcher="stale":t.launcher=await Wr(s)?"written":"failed"}if(n){let r=await Kl(e.shimJs,{dryRun:e.dryRun===!0});t.staleShims=r.stale,t.rewrittenShims=r.rewritten}return e.rc&&(e.dryRun||(t.globalPathRemoved=await Yl()),t.globalPathLines=await ql()),Zk(t.rewrittenShims+(t.launcher==="written"?1:0)+(t.hookLauncher==="written"?1:0)+t.globalPathRemoved.length),t}async function xc(e,t){if(Ns.platform()!=="win32"){try{if(gs(_c(wc(V(),t),"utf8"))&&Nn(Kt()))return}catch{return}await Jk({shimJs:e})}}function vc(e=process.stdout,t=n=>process.exit(n)){e.on("error",n=>{if(n.code==="EPIPE"){t(141);return}throw n})}vc();var Ds=gc(process.argv.slice(2));Ds.cmdName&&xc(Xl(),Ds.cmdName).catch(()=>{});yc(Ds).then(e=>{process.exitCode=e.exitCode}).catch(e=>{process.stderr.write(`tkr-shim: ${e.message}
103
+ `)}async function Dk(e,t,n=process.env,r={}){if(Qe()||!Ak.test(e))return!1;let s=Buffer.byteLength(t,"utf8");if(s>Ok("TOKMIZER_CCR_ENTRY_MAX_BYTES",Rk,n))return!1;let o=Tr(e),i=`${o}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{if(await dc(x()),await dc(Er()),Qe())return!1;if(await uc(i,t,{mode:384}),await mc(i,384),Qe())return await fc(i,{force:!0}),!1;await Sk(i,o)}catch{try{await fc(i)}catch{}return!1}let a={at:Date.now(),bytes:s,lines:Nk(t).length,partial:r.partial===!0,...r.label?{label:r.label.slice(0,40)}:{}};try{await uc(Pk(e),JSON.stringify(a),{mode:384})}catch{}return!0}function pc(e){let t=e.TOKMIZER_CCR_DISABLED;return t==="1"||t==="true"||Qe()||Ik().disabled===!0}var Mk=/^(?=\[tkr |\[tokmizer\])/gm;function hc(e){return e.replace(Mk,"> ")}async function Is(e,t,n,r){let s=Tk("sha256").update(e).digest("hex").slice(0,16);return await Dk(s,e,r,{partial:t,label:n})?s:null}async function Os(e,t,n=process.env,r={}){if(t=hc(t),pc(n)||!e)return t;let s=i=>`
104
+ [tkr restore ${i}]`;if(Buffer.byteLength(e,"utf8")<=Buffer.byteLength(s("0".repeat(16)),"utf8"))return t;if(r.raw){let i=await Is(r.raw,!1,r.label,n);if(i)return`${t}${s(i)}`}let o=await Is(e,!0,r.label,n);return o?`${t}${s(o)}`:t}async function gc(e,t,n=process.env,r={}){if(t=hc(t),pc(n)||!e)return t;let s=await Is(e,!1,r.label,n);return s?`${t}
105
+ [tkr restore ${s}]`:t}var yc=16*1024*1024,Fk=6e5,Lk=1500,jk=new Set(["npm","pnpm","yarn","bun"]),Hk=new Set(["dev","start","serve","preview","watch"]);function kc(e,t){let n=process.env[e];if(n==null||n==="")return t;let r=Number(n);return Number.isFinite(r)?r:t}function Bk(){return kc("TOKMIZER_SHIM_STREAM_AFTER_MS",process.stdout.isTTY?Lk:0)}function zk(e,t){let n=e.split(/[\\/]/).pop()??e;return jk.has(n)?t.some(r=>!r.startsWith("-")&&Hk.has(r)):!1}function bc(e){return e[0]==="--as"&&typeof e[1]=="string"?{cmdName:e[1],args:e.slice(2)}:e.length>0?{cmdName:e[0],args:e.slice(1)}:{cmdName:"",args:[]}}async function Uk(e,t){let n=Qe(),r=await gt(),s=await Ht(),o=s?la(s):null,i=s?En(s.allowedFilters,aa(s)):new Set,a=new Set(r.filters.disabled.map(re)),l=i&&a.size>0?new Set([...i].filter(m=>!a.has(m))):i,c=Pl().host,u=!process.stdout.isTTY&&c==="shell",d=!r.enabled||!s||zn(c)||Zr(),f=zk(e,t);return{yolo:n,settings:r,state:s,plan:o,allowed:l,host:c,piped:u,bypass:d,passthrough:f}}function Zk(e,t){return new Promise(n=>{let r=o=>n({exitCode:o,filteredOut:"",filteredErr:"",filterId:null,rawBytes:0,filteredBytes:0}),s=(0,Ps.default)(e,t,{stdio:"inherit",shell:!1,windowsHide:!0,env:hs()});s.on("error",o=>{process.stderr.write(`tkr-shim: ${o.message}
106
+ `),r(127)}),s.on("close",(o,i)=>r(typeof o=="number"?o:i==="SIGINT"?130:i==="SIGTERM"?143:1))})}async function _c(e){let{cmdName:t,args:n}=e;if(!t)return process.stderr.write(`tkr-shim: missing command name
107
+ `),{exitCode:2,filteredOut:"",filteredErr:"",filterId:null,rawBytes:0,filteredBytes:0};let r=[t,...n].join(" "),s;try{s=await Uk(t,n)}catch{return Zk(t,n)}let{yolo:o,settings:i,state:a,plan:l,allowed:c,host:u,piped:d,bypass:f,passthrough:m}=s;a&&!f&&!d&&!m&&lc(l);let h,w;try{return await new Promise(b=>{let R=(0,Ps.default)(t,n,{stdio:m?"inherit":["inherit","pipe","pipe"],shell:!1,windowsHide:!0,env:hs()}),E=[],I=[],P=0,D=0,X=!1,Q=m,St=kc("TOKMIZER_SHIM_TIMEOUT_MS",Fk),O=Bk(),F,W,Kn=()=>{F&&clearTimeout(F),W&&clearTimeout(W),F=void 0,W=void 0},rn=()=>{if(!Q){Q=!0,F&&clearTimeout(F),F=void 0;for(let M of E)process.stdout.write(M);for(let M of I)process.stderr.write(M);E.length=0,I.length=0}},Gn=()=>{Q||O<=0||(W&&clearTimeout(W),W=setTimeout(rn,O),W.unref?.())};!Q&&St>0&&(F=setTimeout(()=>R.kill("SIGTERM"),St),F.unref?.()),Gn();let Ms=M=>{try{R.kill(M)}catch{}};h=()=>Ms("SIGINT"),w=()=>Ms("SIGTERM"),process.on("SIGINT",h),process.on("SIGTERM",w),R.stdout?.on("data",M=>{if(P+=M.length,Q){process.stdout.write(M);return}if(P>yc){if(!X){for(let et of E)process.stdout.write(et);E.length=0,X=!0}process.stdout.write(M);return}E.push(M),Gn()}),R.stderr?.on("data",M=>{if(D+=M.length,Q){process.stderr.write(M);return}if(D>yc){if(!X){for(let et of I)process.stderr.write(et);I.length=0,X=!0}process.stderr.write(M);return}I.push(M),Gn()}),R.on("error",M=>{Kn(),process.stderr.write(`tkr-shim: ${M.message}
108
+ `),b({exitCode:127,filteredOut:"",filteredErr:"",filterId:null,rawBytes:0,filteredBytes:0})}),R.on("close",async(M,et)=>{Kn();let tt=typeof M=="number"?M:et==="SIGTERM"?143:et==="SIGINT"?130:1,Ae=Buffer.concat(E),Ce=Buffer.concat(I);if(X||Q||f||d){Ae.length&&process.stdout.write(Ae),Ce.length&&process.stderr.write(Ce),b({exitCode:tt,filteredOut:Ae.toString("utf8"),filteredErr:Ce.toString("utf8"),filterId:null,rawBytes:P+D,filteredBytes:P+D});return}let Et=Ae.toString("utf8"),Tt=Ce.toString("utf8");try{let z=await Lr(r,Et,c,{verbosity:i.outputVerbosity,yolo:o,exitCode:tt}),Vn=Tt&&(o||tt!==0&&Buffer.byteLength(Tt,"utf8")>=1024)?await Lr(r,Tt,c,{verbosity:i.outputVerbosity,yolo:o,exitCode:tt}):null,Ie=Vn&&(o||Vn.failureSummary)?Vn:null,Fs=z.filteredBytes<z.rawBytes,Ls=Fs||Ie!=null&&Ie.filteredBytes<Ie.rawBytes,$t=Ie?.output??Tt;if(Ie&&!o)try{$t=await Os(Ie.droppedTail??null,Ie.output)}catch{}let Rt=Et;if(Fs&&(Rt=z.output,!o))try{Rt=new RegExp(ai.source,"m").test(z.output)?await gc(Et,z.output,process.env,{label:Rn(r)}):await Os(z.droppedTail??null,z.output,process.env,{raw:Et,label:Rn(r)})}catch{}let js=Ae.length+Ce.length,At=Pa(js,Ls?Buffer.byteLength(Rt,"utf8")+Buffer.byteLength($t,"utf8"):js,Ol(u));Ia(At.raw,At.filtered,void 0,!1,u,"sh",Rn(r),process.cwd(),Oa(z));try{await ya({cmd:r,filterId:z.filterId,rawBytes:z.rawBytes,filteredBytes:z.filteredBytes,plan:l}),await ga({cmd:r,tokensSaved:Math.max(0,Math.round((At.raw-At.filtered)/4)),rawTokens:Math.round(At.raw/4),optimized:z.filterId!=null,telemetryOptIn:i.telemetryOptIn,sessionId:process.env.CLAUDE_CODE_SESSION_ID,host:u})}catch{}if(Ls){process.stdout.write(Rt),$t&&process.stderr.write($t),b({exitCode:tt,filteredOut:Rt,filteredErr:$t,filterId:z.filterId,rawBytes:z.rawBytes,filteredBytes:z.filteredBytes});return}}catch{}Ae.length&&process.stdout.write(Ae),Ce.length&&process.stderr.write(Ce),b({exitCode:tt,filteredOut:Et,filteredErr:Tt,filterId:null,rawBytes:P+D,filteredBytes:P+D})})})}finally{h&&process.off("SIGINT",h),w&&process.off("SIGTERM",w),cc()}}import{existsSync as wc,readFileSync as vc,rmSync as gT,statSync as yT,writeFileSync as Jk,mkdirSync as Kk}from"node:fs";import{join as Sc}from"node:path";import Ns from"node:os";function xc(){return Sc(x(),"healed")}function Gk(e){if(!(e<=0))try{let t=Number(vc(xc(),"utf8"))||0;Kk(x(),{recursive:!0,mode:448}),Jk(xc(),String(t+e),{mode:384})}catch{}}async function Vk(e){let t={staleShims:0,rewrittenShims:0,launcher:"absent",hookLauncher:"absent",globalPathRemoved:[],globalPathLines:0};if(Ns.platform()!=="win32"&&wc(Kt())){let r=Nn(Gt(Kt())),s=Pn(e.shimJs);!(!r||e.explicit===!0&&(s.single!==""||s.js!==""))||e.dryRun&&r?t.hookLauncher="ok":e.dryRun?t.hookLauncher="stale":t.hookLauncher=await Za(s)?"written":"failed"}let n=wc(V())&&Ul();if(n&&Ns.platform()!=="win32"){let r=Nn(Gt()),s=Pn(e.shimJs);!(!r||e.explicit===!0&&(s.single!==""||s.js!==""))||e.dryRun&&r?t.launcher="ok":e.dryRun?t.launcher="stale":t.launcher=await Wr(s)?"written":"failed"}if(n){let r=await Gl(e.shimJs,{dryRun:e.dryRun===!0});t.staleShims=r.stale,t.rewrittenShims=r.rewritten}return e.rc&&(e.dryRun||(t.globalPathRemoved=await Yl()),t.globalPathLines=await ql()),Gk(t.rewrittenShims+(t.launcher==="written"?1:0)+(t.hookLauncher==="written"?1:0)+t.globalPathRemoved.length),t}async function Ec(e,t){if(Ns.platform()!=="win32"){try{if(gs(vc(Sc(V(),t),"utf8"))&&Nn(Gt()))return}catch{return}await Vk({shimJs:e})}}function Tc(e=process.stdout,t=n=>process.exit(n)){e.on("error",n=>{if(n.code==="EPIPE"){t(141);return}throw n})}Tc();var Ds=bc(process.argv.slice(2));Ds.cmdName&&Ec(Xl(),Ds.cmdName).catch(()=>{});_c(Ds).then(e=>{process.exitCode=e.exitCode}).catch(e=>{process.stderr.write(`tkr-shim: ${e.message}
109
109
  `),process.exitCode=1});
110
110
  /*! Bundled license information:
111
111