@tokmizer/plugin 0.9.63 → 0.9.65

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.
Files changed (37) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codex-plugin/plugin.json +1 -1
  3. package/README.md +9 -8
  4. package/dist/bin/tkr-agent-hook.js +9 -9
  5. package/dist/bin/tkr-codex-hook.js +68 -68
  6. package/dist/bin/tkr-copilot-hook.js +8 -8
  7. package/dist/bin/tkr-crush-hook.js +8 -8
  8. package/dist/bin/tkr-cursor-hook.js +8 -8
  9. package/dist/bin/tkr-daemon.js +120 -116
  10. package/dist/bin/tkr-droid-hook.js +8 -8
  11. package/dist/bin/tkr-exec +75 -71
  12. package/dist/bin/tkr-exec.js +75 -71
  13. package/dist/bin/tkr-gemini-hook.js +8 -8
  14. package/dist/bin/tkr-grok-hook.js +8 -8
  15. package/dist/bin/tkr-junie-hook.js +8 -8
  16. package/dist/bin/tkr-processor.js +94 -90
  17. package/dist/bin/tkr-qwen-hook.js +8 -8
  18. package/dist/bin/tkr-shim.js +75 -73
  19. package/dist/bin/tkr-trae-hook.js +8 -8
  20. package/dist/bin/tkr-zcode-hook.js +8 -8
  21. package/dist/bin/tkr.js +230 -230
  22. package/dist/hooks-host/post-tool-use.js +86 -82
  23. package/dist/hooks-host/pre-tool-use.js +9 -9
  24. package/dist/hooks-host/reducer-stop.js +24 -24
  25. package/dist/hooks-host/session-recap.js +1 -1
  26. package/dist/index.js +84 -84
  27. package/dist/native/manifest.json +12 -12
  28. package/dist/native/single.json +12 -12
  29. package/dist/native/tkr-exec-darwin-arm64 +0 -0
  30. package/dist/native/tkr-exec-darwin-x64 +0 -0
  31. package/dist/native/tkr-exec-linux-arm64 +0 -0
  32. package/dist/native/tkr-exec-linux-x64 +0 -0
  33. package/dist/native/tkr-exec-win32-arm64.exe +0 -0
  34. package/dist/native/tkr-exec-win32-x64.exe +0 -0
  35. package/hooks/on-session-start.mjs +16 -5
  36. package/package.json +8 -8
  37. package/scripts/install-mac-linux.sh +1 -1
@@ -1,132 +1,136 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire as __tkrCreateRequire } from "node:module"; const require = __tkrCreateRequire(import.meta.url);
3
- var pd=Object.create;var ss=Object.defineProperty;var hd=Object.getOwnPropertyDescriptor;var gd=Object.getOwnPropertyNames;var yd=Object.getPrototypeOf,bd=Object.prototype.hasOwnProperty;var Le=(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 b=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var ae=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},on=(e,t)=>{for(var n in t)ss(e,n,{get:t[n],enumerable:!0})},kd=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of gd(t))!bd.call(e,s)&&s!==n&&ss(e,s,{get:()=>t[s],enumerable:!(r=hd(t,s))||r.enumerable});return e};var _d=(e,t,n)=>(n=e!=null?pd(yd(e)):{},kd(t||!e||!e.__esModule?ss(n,"default",{value:e,enumerable:!0}):n,e));var D,os,w,ve,an=b(()=>{(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})(D||(D={}));(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(os||(os={}));w=D.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ve=e=>{switch(typeof e){case"undefined":return w.undefined;case"string":return w.string;case"number":return Number.isNaN(e)?w.nan:w.number;case"boolean":return w.boolean;case"function":return w.function;case"bigint":return w.bigint;case"symbol":return w.symbol;case"object":return Array.isArray(e)?w.array:e===null?w.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?w.promise:typeof Map<"u"&&e instanceof Map?w.map:typeof Set<"u"&&e instanceof Set?w.set:typeof Date<"u"&&e instanceof Date?w.date:w.object;default:return w.unknown}}});var y,wd,ee,zn=b(()=>{an();y=D.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"]),wd=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ee=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,D.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()}};ee.create=e=>new ee(e)});var xd,Oe,is=b(()=>{zn();an();xd=(e,t)=>{let n;switch(e.code){case y.invalid_type:e.received===w.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case y.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,D.jsonStringifyReplacer)}`;break;case y.unrecognized_keys:n=`Unrecognized key(s) in object: ${D.joinValues(e.keys,", ")}`;break;case y.invalid_union:n="Invalid input";break;case y.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${D.joinValues(e.options)}`;break;case y.invalid_enum_value:n=`Invalid enum value. Expected ${D.joinValues(e.options)}, received '${e.received}'`;break;case y.invalid_arguments:n="Invalid function arguments";break;case y.invalid_return_type:n="Invalid function return type";break;case y.invalid_date:n="Invalid date";break;case y.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}"`:D.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case y.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 y.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 y.custom:n="Invalid input";break;case y.invalid_intersection_types:n="Intersection results could not be merged";break;case y.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case y.not_finite:n="Number must be finite";break;default:n=t.defaultError,D.assertNever(e)}return{message:n}},Oe=xd});function Sd(e){Ai=e}function xt(){return Ai}var Ai,Jn=b(()=>{is();Ai=Oe});function _(e,t){let n=xt(),r=ln({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Oe?void 0:Oe].filter(s=>!!s)});e.common.issues.push(r)}var ln,vd,Y,R,Xe,q,Gn,Zn,je,St,as=b(()=>{Jn();is();ln=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}},vd=[];Y=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 R;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 R;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}}},R=Object.freeze({status:"aborted"}),Xe=e=>({status:"dirty",value:e}),q=e=>({status:"valid",value:e}),Gn=e=>e.status==="aborted",Zn=e=>e.status==="dirty",je=e=>e.status==="valid",St=e=>typeof Promise<"u"&&e instanceof Promise});var $i=b(()=>{});var v,Ci=b(()=>{(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(v||(v={}))});function I(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}}function Ni(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 Bd(e){return new RegExp(`^${Ni(e)}$`)}function Di(e){let t=`${Pi}T${Ni(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 Ud(e,t){return!!((t==="v4"||!t)&&Nd.test(e)||(t==="v6"||!t)&&Md.test(e))}function zd(e,t){if(!Cd.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 Jd(e,t){return!!((t==="v4"||!t)&&Dd.test(e)||(t==="v6"||!t)&&Fd.test(e))}function Gd(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}function vt(e){if(e instanceof te){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=fe.create(vt(r))}return new te({...e._def,shape:()=>t})}else return e instanceof Ne?new Ne({...e._def,type:vt(e.element)}):e instanceof fe?fe.create(vt(e.unwrap())):e instanceof Te?Te.create(vt(e.unwrap())):e instanceof Ee?Ee.create(e.items.map(t=>vt(t))):e}function cs(e,t){let n=ve(e),r=ve(t);if(e===t)return{valid:!0,data:e};if(n===w.object&&r===w.object){let s=D.objectKeys(t),o=D.objectKeys(e).filter(a=>s.indexOf(a)!==-1),i={...e,...t};for(let a of o){let l=cs(e[a],t[a]);if(!l.valid)return{valid:!1};i[a]=l.data}return{valid:!0,data:i}}else if(n===w.array&&r===w.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=cs(i,a);if(!l.valid)return{valid:!1};s.push(l.data)}return{valid:!0,data:s}}else return n===w.date&&r===w.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}function Mi(e,t){return new ct({values:e,typeName:$.ZodEnum,...I(t)})}function Ii(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function Fi(e,t={},n){return e?Be.create().superRefine((r,s)=>{let o=e(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=Ii(t,r),l=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:l})}});if(!o){let i=Ii(t,r),a=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:a})}}):Be.create()}var de,Oi,P,Ed,Td,Rd,Ad,$d,Cd,Od,Id,Pd,ls,Nd,Dd,Md,Fd,Ld,jd,Pi,Hd,He,Qe,et,tt,nt,Et,rt,st,Be,Pe,be,Tt,Ne,te,ot,Ie,Wn,it,Ee,Kn,Rt,At,Vn,at,lt,ct,ut,Ue,me,fe,Te,ft,dt,$t,Zd,cn,un,mt,Wd,$,Kd,Li,ji,Vd,Yd,Hi,qd,Xd,Qd,em,tm,nm,rm,sm,om,im,am,lm,cm,um,fm,dm,mm,pm,hm,gm,ym,bm,km,_m,wm,xm,Sm,vm,Em,Tm,Rm,Am,$m,Cm,Bi=b(()=>{zn();Jn();Ci();as();an();de=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}},Oi=(e,t)=>{if(je(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 ee(e.common.issues);return this._error=n,this._error}}};P=class{get description(){return this._def.description}_getType(t){return ve(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ve(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Y,ctx:{common:t.parent.common,data:t.data,parsedType:ve(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(St(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:ve(t)},s=this._parseSync({data:t,path:r.path,parent:r});return Oi(r,s)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ve(t)};if(!this["~standard"].async)try{let r=this._parseSync({data:t,path:[],parent:n});return je(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=>je(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:ve(t)},s=this._parse({data:t,path:r.path,parent:r}),o=await(St(s)?s:Promise.resolve(s));return Oi(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:y.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 me({schema:this,typeName:$.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 fe.create(this,this._def)}nullable(){return Te.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ne.create(this)}promise(){return Ue.create(this,this._def)}or(t){return ot.create([this,t],this._def)}and(t){return it.create(this,t,this._def)}transform(t){return new me({...I(this._def),schema:this,typeName:$.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new ft({...I(this._def),innerType:this,defaultValue:n,typeName:$.ZodDefault})}brand(){return new cn({typeName:$.ZodBranded,type:this,...I(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new dt({...I(this._def),innerType:this,catchValue:n,typeName:$.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return un.create(this,t)}readonly(){return mt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Ed=/^c[^\s-]{8,}$/i,Td=/^[0-9a-z]+$/,Rd=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Ad=/^[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,$d=/^[a-z0-9_-]{21}$/i,Cd=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Od=/^[-+]?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)?)??$/,Id=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Pd="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Nd=/^(?:(?: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])$/,Dd=/^(?:(?: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])$/,Md=/^(([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]))$/,Fd=/^(([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])$/,Ld=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,jd=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Pi="((\\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])))",Hd=new RegExp(`^${Pi}$`);He=class e extends P{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==w.string){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_type,expected:w.string,received:o.parsedType}),R}let r=new Y,s;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:y.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),_(s,{code:y.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?_(s,{code:y.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&_(s,{code:y.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),r.dirty())}else if(o.kind==="email")Id.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"email",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="emoji")ls||(ls=new RegExp(Pd,"u")),ls.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"emoji",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="uuid")Ad.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"uuid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="nanoid")$d.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"nanoid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid")Ed.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cuid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid2")Td.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cuid2",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="ulid")Rd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"ulid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{s=this._getOrReturnCtx(t,s),_(s,{validation:"url",code:y.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),_(s,{validation:"regex",code:y.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),_(s,{code:y.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),_(s,{code:y.invalid_string,validation:{startsWith:o.value},message:o.message}),r.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:{endsWith:o.value},message:o.message}),r.dirty()):o.kind==="datetime"?Di(o).test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?Hd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?Bd(o).test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?Od.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"duration",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?Ud(t.data,o.version)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"ip",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?zd(t.data,o.alg)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"jwt",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?Jd(t.data,o.version)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cidr",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?Ld.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"base64",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?jd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"base64url",code:y.invalid_string,message:o.message}),r.dirty()):D.assertNever(o);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:y.invalid_string,...v.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...v.errToObj(t)})}url(t){return this._addCheck({kind:"url",...v.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...v.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...v.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...v.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...v.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...v.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...v.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...v.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...v.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...v.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...v.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...v.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,...v.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,...v.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...v.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...v.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...v.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...v.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...v.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...v.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...v.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...v.errToObj(n)})}nonempty(t){return this.min(1,v.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}};He.create=e=>new He({checks:[],typeName:$.ZodString,coerce:e?.coerce??!1,...I(e)});Qe=class e extends P{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)!==w.number){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_type,expected:w.number,received:o.parsedType}),R}let r,s=new Y;for(let o of this._def.checks)o.kind==="int"?D.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),_(r,{code:y.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),_(r,{code:y.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),_(r,{code:y.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?Gd(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),_(r,{code:y.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),_(r,{code:y.not_finite,message:o.message}),s.dirty()):D.assertNever(o);return{status:s.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,v.toString(n))}gt(t,n){return this.setLimit("min",t,!1,v.toString(n))}lte(t,n){return this.setLimit("max",t,!0,v.toString(n))}lt(t,n){return this.setLimit("max",t,!1,v.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:v.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:v.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:v.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:v.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:v.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:v.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:v.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:v.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:v.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:v.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"&&D.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)}};Qe.create=e=>new Qe({checks:[],typeName:$.ZodNumber,coerce:e?.coerce||!1,...I(e)});et=class e extends P{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)!==w.bigint)return this._getInvalidInput(t);let r,s=new Y;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),_(r,{code:y.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),_(r,{code:y.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),_(r,{code:y.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):D.assertNever(o);return{status:s.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return _(n,{code:y.invalid_type,expected:w.bigint,received:n.parsedType}),R}gte(t,n){return this.setLimit("min",t,!0,v.toString(n))}gt(t,n){return this.setLimit("min",t,!1,v.toString(n))}lte(t,n){return this.setLimit("max",t,!0,v.toString(n))}lt(t,n){return this.setLimit("max",t,!1,v.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:v.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:v.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:v.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:v.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:v.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:v.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}};et.create=e=>new et({checks:[],typeName:$.ZodBigInt,coerce:e?.coerce??!1,...I(e)});tt=class extends P{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==w.boolean){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.boolean,received:r.parsedType}),R}return q(t.data)}};tt.create=e=>new tt({typeName:$.ZodBoolean,coerce:e?.coerce||!1,...I(e)});nt=class e extends P{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==w.date){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_type,expected:w.date,received:o.parsedType}),R}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_date}),R}let r=new Y,s;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:y.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),_(s,{code:y.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):D.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:v.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:v.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}};nt.create=e=>new nt({checks:[],coerce:e?.coerce||!1,typeName:$.ZodDate,...I(e)});Et=class extends P{_parse(t){if(this._getType(t)!==w.symbol){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.symbol,received:r.parsedType}),R}return q(t.data)}};Et.create=e=>new Et({typeName:$.ZodSymbol,...I(e)});rt=class extends P{_parse(t){if(this._getType(t)!==w.undefined){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.undefined,received:r.parsedType}),R}return q(t.data)}};rt.create=e=>new rt({typeName:$.ZodUndefined,...I(e)});st=class extends P{_parse(t){if(this._getType(t)!==w.null){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.null,received:r.parsedType}),R}return q(t.data)}};st.create=e=>new st({typeName:$.ZodNull,...I(e)});Be=class extends P{constructor(){super(...arguments),this._any=!0}_parse(t){return q(t.data)}};Be.create=e=>new Be({typeName:$.ZodAny,...I(e)});Pe=class extends P{constructor(){super(...arguments),this._unknown=!0}_parse(t){return q(t.data)}};Pe.create=e=>new Pe({typeName:$.ZodUnknown,...I(e)});be=class extends P{_parse(t){let n=this._getOrReturnCtx(t);return _(n,{code:y.invalid_type,expected:w.never,received:n.parsedType}),R}};be.create=e=>new be({typeName:$.ZodNever,...I(e)});Tt=class extends P{_parse(t){if(this._getType(t)!==w.undefined){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.void,received:r.parsedType}),R}return q(t.data)}};Tt.create=e=>new Tt({typeName:$.ZodVoid,...I(e)});Ne=class e extends P{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==w.array)return _(n,{code:y.invalid_type,expected:w.array,received:n.parsedType}),R;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(i||a)&&(_(n,{code:i?y.too_big:y.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&&(_(n,{code:y.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&&(_(n,{code:y.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 de(n,i,n.path,a)))).then(i=>Y.mergeArray(r,i));let o=[...n.data].map((i,a)=>s.type._parseSync(new de(n,i,n.path,a)));return Y.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:v.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:v.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:v.toString(n)}})}nonempty(t){return this.min(1,t)}};Ne.create=(e,t)=>new Ne({type:e,minLength:null,maxLength:null,exactLength:null,typeName:$.ZodArray,...I(t)});te=class e extends P{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=D.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==w.object){let c=this._getOrReturnCtx(t);return _(c,{code:y.invalid_type,expected:w.object,received:c.parsedType}),R}let{status:r,ctx:s}=this._processInputParams(t),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof be&&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 de(s,f,s.path,c)),alwaysSet:c in s.data})}if(this._def.catchall instanceof be){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&&(_(s,{code:y.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 de(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=>Y.mergeObjectSync(r,c)):Y.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return v.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:v.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:$.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 D.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 D.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return vt(this)}partial(t){let n={};for(let r of D.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 D.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof fe;)o=o._def.innerType;n[r]=o}return new e({...this._def,shape:()=>n})}keyof(){return Mi(D.objectKeys(this.shape))}};te.create=(e,t)=>new te({shape:()=>e,unknownKeys:"strip",catchall:be.create(),typeName:$.ZodObject,...I(t)});te.strictCreate=(e,t)=>new te({shape:()=>e,unknownKeys:"strict",catchall:be.create(),typeName:$.ZodObject,...I(t)});te.lazycreate=(e,t)=>new te({shape:e,unknownKeys:"strip",catchall:be.create(),typeName:$.ZodObject,...I(t)});ot=class extends P{_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 ee(a.ctx.common.issues));return _(n,{code:y.invalid_union,unionErrors:i}),R}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 ee(l));return _(n,{code:y.invalid_union,unionErrors:a}),R}}get options(){return this._def.options}};ot.create=(e,t)=>new ot({options:e,typeName:$.ZodUnion,...I(t)});Ie=e=>e instanceof at?Ie(e.schema):e instanceof me?Ie(e.innerType()):e instanceof lt?[e.value]:e instanceof ct?e.options:e instanceof ut?D.objectValues(e.enum):e instanceof ft?Ie(e._def.innerType):e instanceof rt?[void 0]:e instanceof st?[null]:e instanceof fe?[void 0,...Ie(e.unwrap())]:e instanceof Te?[null,...Ie(e.unwrap())]:e instanceof cn||e instanceof mt?Ie(e.unwrap()):e instanceof dt?Ie(e._def.innerType):[],Wn=class e extends P{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==w.object)return _(n,{code:y.invalid_type,expected:w.object,received:n.parsedType}),R;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}):(_(n,{code:y.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),R)}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=Ie(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:$.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...I(r)})}};it=class extends P{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(o,i)=>{if(Gn(o)||Gn(i))return R;let a=cs(o.value,i.value);return a.valid?((Zn(o)||Zn(i))&&n.dirty(),{status:n.value,value:a.data}):(_(r,{code:y.invalid_intersection_types}),R)};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}))}};it.create=(e,t,n)=>new it({left:e,right:t,typeName:$.ZodIntersection,...I(n)});Ee=class e extends P{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.array)return _(r,{code:y.invalid_type,expected:w.array,received:r.parsedType}),R;if(r.data.length<this._def.items.length)return _(r,{code:y.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),R;!this._def.rest&&r.data.length>this._def.items.length&&(_(r,{code:y.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 de(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(o).then(i=>Y.mergeArray(n,i)):Y.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};Ee.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ee({items:e,typeName:$.ZodTuple,rest:null,...I(t)})};Kn=class e extends P{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!==w.object)return _(r,{code:y.invalid_type,expected:w.object,received:r.parsedType}),R;let s=[],o=this._def.keyType,i=this._def.valueType;for(let a in r.data)s.push({key:o._parse(new de(r,a,r.path,a)),value:i._parse(new de(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?Y.mergeObjectAsync(n,s):Y.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof P?new e({keyType:t,valueType:n,typeName:$.ZodRecord,...I(r)}):new e({keyType:He.create(),valueType:t,typeName:$.ZodRecord,...I(n)})}},Rt=class extends P{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!==w.map)return _(r,{code:y.invalid_type,expected:w.map,received:r.parsedType}),R;let s=this._def.keyType,o=this._def.valueType,i=[...r.data.entries()].map(([a,l],c)=>({key:s._parse(new de(r,a,r.path,[c,"key"])),value:o._parse(new de(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 R;(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 R;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}}}};Rt.create=(e,t,n)=>new Rt({valueType:t,keyType:e,typeName:$.ZodMap,...I(n)});At=class e extends P{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.set)return _(r,{code:y.invalid_type,expected:w.set,received:r.parsedType}),R;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(_(r,{code:y.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&&(_(r,{code:y.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 R;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 de(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:v.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:v.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};At.create=(e,t)=>new At({valueType:e,minSize:null,maxSize:null,typeName:$.ZodSet,...I(t)});Vn=class e extends P{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==w.function)return _(n,{code:y.invalid_type,expected:w.function,received:n.parsedType}),R;function r(a,l){return ln({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,xt(),Oe].filter(c=>!!c),issueData:{code:y.invalid_arguments,argumentsError:l}})}function s(a,l){return ln({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,xt(),Oe].filter(c=>!!c),issueData:{code:y.invalid_return_type,returnTypeError:l}})}let o={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof Ue){let a=this;return q(async function(...l){let c=new ee([]),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 q(function(...l){let c=a._def.args.safeParse(l,o);if(!c.success)throw new ee([r(l,c.error)]);let u=Reflect.apply(i,this,c.data),f=a._def.returns.safeParse(u,o);if(!f.success)throw new ee([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:Ee.create(t).rest(Pe.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||Ee.create([]).rest(Pe.create()),returns:n||Pe.create(),typeName:$.ZodFunction,...I(r)})}},at=class extends P{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})}};at.create=(e,t)=>new at({getter:e,typeName:$.ZodLazy,...I(t)});lt=class extends P{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return _(n,{received:n.data,code:y.invalid_literal,expected:this._def.value}),R}return{status:"valid",value:t.data}}get value(){return this._def.value}};lt.create=(e,t)=>new lt({value:e,typeName:$.ZodLiteral,...I(t)});ct=class e extends P{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return _(n,{expected:D.joinValues(r),received:n.parsedType,code:y.invalid_type}),R}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 _(n,{received:n.data,code:y.invalid_enum_value,options:r}),R}return q(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})}};ct.create=Mi;ut=class extends P{_parse(t){let n=D.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==w.string&&r.parsedType!==w.number){let s=D.objectValues(n);return _(r,{expected:D.joinValues(s),received:r.parsedType,code:y.invalid_type}),R}if(this._cache||(this._cache=new Set(D.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=D.objectValues(n);return _(r,{received:r.data,code:y.invalid_enum_value,options:s}),R}return q(t.data)}get enum(){return this._def.values}};ut.create=(e,t)=>new ut({values:e,typeName:$.ZodNativeEnum,...I(t)});Ue=class extends P{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==w.promise&&n.common.async===!1)return _(n,{code:y.invalid_type,expected:w.promise,received:n.parsedType}),R;let r=n.parsedType===w.promise?n.data:Promise.resolve(n.data);return q(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};Ue.create=(e,t)=>new Ue({type:e,typeName:$.ZodPromise,...I(t)});me=class extends P{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===$.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=>{_(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 R;let l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?R:l.status==="dirty"?Xe(l.value):n.value==="dirty"?Xe(l.value):l});{if(n.value==="aborted")return R;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?R:a.status==="dirty"?Xe(a.value):n.value==="dirty"?Xe(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"?R:(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"?R:(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(!je(i))return R;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=>je(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:n.value,value:a})):R);D.assertNever(s)}};me.create=(e,t,n)=>new me({schema:e,typeName:$.ZodEffects,effect:t,...I(n)});me.createWithPreprocess=(e,t,n)=>new me({schema:t,effect:{type:"preprocess",transform:e},typeName:$.ZodEffects,...I(n)});fe=class extends P{_parse(t){return this._getType(t)===w.undefined?q(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};fe.create=(e,t)=>new fe({innerType:e,typeName:$.ZodOptional,...I(t)});Te=class extends P{_parse(t){return this._getType(t)===w.null?q(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Te.create=(e,t)=>new Te({innerType:e,typeName:$.ZodNullable,...I(t)});ft=class extends P{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===w.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};ft.create=(e,t)=>new ft({innerType:e,typeName:$.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...I(t)});dt=class extends P{_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 St(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new ee(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new ee(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};dt.create=(e,t)=>new dt({innerType:e,typeName:$.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...I(t)});$t=class extends P{_parse(t){if(this._getType(t)!==w.nan){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.nan,received:r.parsedType}),R}return{status:"valid",value:t.data}}};$t.create=e=>new $t({typeName:$.ZodNaN,...I(e)});Zd=Symbol("zod_brand"),cn=class extends P{_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}},un=class e extends P{_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"?R:o.status==="dirty"?(n.dirty(),Xe(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"?R: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:$.ZodPipeline})}},mt=class extends P{_parse(t){let n=this._def.innerType._parse(t),r=s=>(je(s)&&(s.value=Object.freeze(s.value)),s);return St(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};mt.create=(e,t)=>new mt({innerType:e,typeName:$.ZodReadonly,...I(t)});Wd={object:te.lazycreate};(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"})($||($={}));Kd=(e,t={message:`Input not instance of ${e.name}`})=>Fi(n=>n instanceof e,t),Li=He.create,ji=Qe.create,Vd=$t.create,Yd=et.create,Hi=tt.create,qd=nt.create,Xd=Et.create,Qd=rt.create,em=st.create,tm=Be.create,nm=Pe.create,rm=be.create,sm=Tt.create,om=Ne.create,im=te.create,am=te.strictCreate,lm=ot.create,cm=Wn.create,um=it.create,fm=Ee.create,dm=Kn.create,mm=Rt.create,pm=At.create,hm=Vn.create,gm=at.create,ym=lt.create,bm=ct.create,km=ut.create,_m=Ue.create,wm=me.create,xm=fe.create,Sm=Te.create,vm=me.createWithPreprocess,Em=un.create,Tm=()=>Li().optional(),Rm=()=>ji().optional(),Am=()=>Hi().optional(),$m={string:(e=>He.create({...e,coerce:!0})),number:(e=>Qe.create({...e,coerce:!0})),boolean:(e=>tt.create({...e,coerce:!0})),bigint:(e=>et.create({...e,coerce:!0})),date:(e=>nt.create({...e,coerce:!0}))},Cm=R});var h={};on(h,{BRAND:()=>Zd,DIRTY:()=>Xe,EMPTY_PATH:()=>vd,INVALID:()=>R,NEVER:()=>Cm,OK:()=>q,ParseStatus:()=>Y,Schema:()=>P,ZodAny:()=>Be,ZodArray:()=>Ne,ZodBigInt:()=>et,ZodBoolean:()=>tt,ZodBranded:()=>cn,ZodCatch:()=>dt,ZodDate:()=>nt,ZodDefault:()=>ft,ZodDiscriminatedUnion:()=>Wn,ZodEffects:()=>me,ZodEnum:()=>ct,ZodError:()=>ee,ZodFirstPartyTypeKind:()=>$,ZodFunction:()=>Vn,ZodIntersection:()=>it,ZodIssueCode:()=>y,ZodLazy:()=>at,ZodLiteral:()=>lt,ZodMap:()=>Rt,ZodNaN:()=>$t,ZodNativeEnum:()=>ut,ZodNever:()=>be,ZodNull:()=>st,ZodNullable:()=>Te,ZodNumber:()=>Qe,ZodObject:()=>te,ZodOptional:()=>fe,ZodParsedType:()=>w,ZodPipeline:()=>un,ZodPromise:()=>Ue,ZodReadonly:()=>mt,ZodRecord:()=>Kn,ZodSchema:()=>P,ZodSet:()=>At,ZodString:()=>He,ZodSymbol:()=>Et,ZodTransformer:()=>me,ZodTuple:()=>Ee,ZodType:()=>P,ZodUndefined:()=>rt,ZodUnion:()=>ot,ZodUnknown:()=>Pe,ZodVoid:()=>Tt,addIssueToContext:()=>_,any:()=>tm,array:()=>om,bigint:()=>Yd,boolean:()=>Hi,coerce:()=>$m,custom:()=>Fi,date:()=>qd,datetimeRegex:()=>Di,defaultErrorMap:()=>Oe,discriminatedUnion:()=>cm,effect:()=>wm,enum:()=>bm,function:()=>hm,getErrorMap:()=>xt,getParsedType:()=>ve,instanceof:()=>Kd,intersection:()=>um,isAborted:()=>Gn,isAsync:()=>St,isDirty:()=>Zn,isValid:()=>je,late:()=>Wd,lazy:()=>gm,literal:()=>ym,makeIssue:()=>ln,map:()=>mm,nan:()=>Vd,nativeEnum:()=>km,never:()=>rm,null:()=>em,nullable:()=>Sm,number:()=>ji,object:()=>im,objectUtil:()=>os,oboolean:()=>Am,onumber:()=>Rm,optional:()=>xm,ostring:()=>Tm,pipeline:()=>Em,preprocess:()=>vm,promise:()=>_m,quotelessJson:()=>wd,record:()=>dm,set:()=>pm,setErrorMap:()=>Sd,strictObject:()=>am,string:()=>Li,symbol:()=>Xd,transformer:()=>wm,tuple:()=>fm,undefined:()=>Qd,union:()=>lm,unknown:()=>nm,util:()=>D,void:()=>sm});var us=b(()=>{Jn();as();$i();an();Bi();zn()});var pt=b(()=>{us();us()});var ze,fn=b(()=>{"use strict";pt();ze=h.object({slug:h.string().min(1).max(64),description:h.string().max(255).optional(),match_command:h.string().min(1),priority:h.number().int().default(50),strip_ansi:h.boolean().default(!1),strip_lines_matching:h.array(h.string()).default([]),keep_failures:h.boolean().default(!1),strip_on_failure:h.boolean().default(!1),fold_passing:h.boolean().default(!1),fold_passing_threshold:h.number().int().positive().max(1e3).optional(),mask_abs_paths:h.boolean().default(!1),preserve_exact:h.boolean().default(!1),truncate_lines_at:h.number().int().positive().max(1e4).optional(),max_lines:h.number().int().positive().max(1e5).optional(),scale_with_level:h.boolean().default(!0),transform:h.string().max(64).optional(),on_empty:h.string().max(255).optional()})});var Gi={};on(Gi,{OutputVerbosity:()=>zi,ReducerLevel:()=>Ji,Settings:()=>Ct,slugKey:()=>le});import{createHash as Om}from"node:crypto";function le(e){let t=Ui.get(e);return t||(t=Om("sha256").update(`tkr:${e}`).digest("hex").slice(0,16),Ui.set(e,t)),t}var zi,Ji,Ct,Ui,Je=b(()=>{"use strict";pt();zi=h.enum(["normal","compact","minimal"]),Ji=h.enum(["off","light","balanced","max"]),Ct=h.object({enabled:h.boolean().default(!0),telemetryOptIn:h.boolean().default(!0),outputVerbosity:zi.default("compact"),reducer:Ji.default("off"),filters:h.object({enableAll:h.boolean().default(!0),disabled:h.array(h.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),Ui=new Map});function Ot(e,t,n,r=t){let s=Zi.get(r);s||(s=new Map,Zi.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(le(l.slug))||l.matchRegex.test(e)&&(!a||l.priority>a.priority)&&(a=l);if(s.size>=Im){let l=s.keys().next().value;l&&s.delete(l)}return s.set(o,a),a}var Zi,Im,Yn=b(()=>{"use strict";Je();Zi=new WeakMap,Im=256});import Pm from"node:os";import{join as dn}from"node:path";function S(){return process.env.TOKMIZER_HOME||dn(Pm.homedir(),".tokmizer")}function mn(){return dn(S(),"install-id")}function fs(){return dn(S(),"content-cache")}function Wi(){return dn(S(),"restore.json")}function ds(e){return dn(fs(),e)}var H=b(()=>{"use strict"});import{join as Nm}from"node:path";import{mkdir as bv,readFile as Dm,writeFile as kv,unlink as _v,rename as wv}from"node:fs/promises";function Fm(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e&&e.length>0?e:"Etc/UTC"}catch{return"Etc/UTC"}}function Lm(e){return e?.dir??S()}async function ht(e){let t=Lm(e);try{let n=await Dm(Nm(t,Mm),"utf8"),r=JSON.parse(n),s=r.timeZone;return{...r,lastSettingsRevision:r.lastSettingsRevision??0,get timeZone(){return s??=Fm()},bonusActive:r.bonusActive??!1,...r.bonusResetAt!==void 0?{bonusResetAt:r.bonusResetAt}:{}}}catch{return null}}var Mm,pn=b(()=>{"use strict";H();Mm="state.json"});import{createRequire as jm}from"node:module";function Bm(){let e="0.9.63";if(e)return e;for(let t of["../package.json","../../package.json"])try{let n=Hm(t).version;if(typeof n=="string"&&n)return n}catch{}return"0.0.0"}function Ki(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 Hm,pe,It=b(()=>{"use strict";Hm=jm(import.meta.url);pe=Bm()});var Vi,Yi=b(()=>{"use strict";Vi=`-----BEGIN PUBLIC KEY-----
3
+ var Ed=Object.create;var cs=Object.defineProperty;var Td=Object.getOwnPropertyDescriptor;var Rd=Object.getOwnPropertyNames;var Ad=Object.getPrototypeOf,$d=Object.prototype.hasOwnProperty;var He=(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 b=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var ae=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},ln=(e,t)=>{for(var n in t)cs(e,n,{get:t[n],enumerable:!0})},Cd=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Rd(t))!$d.call(e,s)&&s!==n&&cs(e,s,{get:()=>t[s],enumerable:!(r=Td(t,s))||r.enumerable});return e};var Od=(e,t,n)=>(n=e!=null?Ed(Ad(e)):{},Cd(t||!e||!e.__esModule?cs(n,"default",{value:e,enumerable:!0}):n,e));var M,us,w,ve,cn=b(()=>{(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})(M||(M={}));(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(us||(us={}));w=M.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ve=e=>{switch(typeof e){case"undefined":return w.undefined;case"string":return w.string;case"number":return Number.isNaN(e)?w.nan:w.number;case"boolean":return w.boolean;case"function":return w.function;case"bigint":return w.bigint;case"symbol":return w.symbol;case"object":return Array.isArray(e)?w.array:e===null?w.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?w.promise:typeof Map<"u"&&e instanceof Map?w.map:typeof Set<"u"&&e instanceof Set?w.set:typeof Date<"u"&&e instanceof Date?w.date:w.object;default:return w.unknown}}});var y,Id,ee,Gn=b(()=>{cn();y=M.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"]),Id=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ee=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,M.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()}};ee.create=e=>new ee(e)});var Pd,Ie,fs=b(()=>{Gn();cn();Pd=(e,t)=>{let n;switch(e.code){case y.invalid_type:e.received===w.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case y.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,M.jsonStringifyReplacer)}`;break;case y.unrecognized_keys:n=`Unrecognized key(s) in object: ${M.joinValues(e.keys,", ")}`;break;case y.invalid_union:n="Invalid input";break;case y.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${M.joinValues(e.options)}`;break;case y.invalid_enum_value:n=`Invalid enum value. Expected ${M.joinValues(e.options)}, received '${e.received}'`;break;case y.invalid_arguments:n="Invalid function arguments";break;case y.invalid_return_type:n="Invalid function return type";break;case y.invalid_date:n="Invalid date";break;case y.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}"`:M.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case y.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 y.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 y.custom:n="Invalid input";break;case y.invalid_intersection_types:n="Intersection results could not be merged";break;case y.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case y.not_finite:n="Number must be finite";break;default:n=t.defaultError,M.assertNever(e)}return{message:n}},Ie=Pd});function Nd(e){Pi=e}function vt(){return Pi}var Pi,Kn=b(()=>{fs();Pi=Ie});function _(e,t){let n=vt(),r=un({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Ie?void 0:Ie].filter(s=>!!s)});e.common.issues.push(r)}var un,Dd,V,R,et,Y,Wn,Vn,Be,Et,ds=b(()=>{Kn();fs();un=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}},Dd=[];V=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 R;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 R;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}}},R=Object.freeze({status:"aborted"}),et=e=>({status:"dirty",value:e}),Y=e=>({status:"valid",value:e}),Wn=e=>e.status==="aborted",Vn=e=>e.status==="dirty",Be=e=>e.status==="valid",Et=e=>typeof Promise<"u"&&e instanceof Promise});var Ni=b(()=>{});var v,Di=b(()=>{(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(v||(v={}))});function I(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}}function ji(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 Xd(e){return new RegExp(`^${ji(e)}$`)}function Hi(e){let t=`${Li}T${ji(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 Qd(e,t){return!!((t==="v4"||!t)&&Zd.test(e)||(t==="v6"||!t)&&Kd.test(e))}function ep(e,t){if(!Bd.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 tp(e,t){return!!((t==="v4"||!t)&&Gd.test(e)||(t==="v6"||!t)&&Wd.test(e))}function np(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}function Tt(e){if(e instanceof te){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=de.create(Tt(r))}return new te({...e._def,shape:()=>t})}else return e instanceof De?new De({...e._def,type:Tt(e.element)}):e instanceof de?de.create(Tt(e.unwrap())):e instanceof Te?Te.create(Tt(e.unwrap())):e instanceof Ee?Ee.create(e.items.map(t=>Tt(t))):e}function ms(e,t){let n=ve(e),r=ve(t);if(e===t)return{valid:!0,data:e};if(n===w.object&&r===w.object){let s=M.objectKeys(t),o=M.objectKeys(e).filter(a=>s.indexOf(a)!==-1),i={...e,...t};for(let a of o){let l=ms(e[a],t[a]);if(!l.valid)return{valid:!1};i[a]=l.data}return{valid:!0,data:i}}else if(n===w.array&&r===w.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=ms(i,a);if(!l.valid)return{valid:!1};s.push(l.data)}return{valid:!0,data:s}}else return n===w.date&&r===w.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}function Bi(e,t){return new ft({values:e,typeName:$.ZodEnum,...I(t)})}function Fi(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function Ui(e,t={},n){return e?ze.create().superRefine((r,s)=>{let o=e(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=Fi(t,r),l=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:l})}});if(!o){let i=Fi(t,r),a=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:a})}}):ze.create()}var pe,Mi,N,Md,Fd,Ld,jd,Hd,Bd,Ud,zd,Jd,ps,Zd,Gd,Kd,Wd,Vd,Yd,Li,qd,Ue,tt,nt,rt,st,Rt,ot,it,ze,Ne,ke,At,De,te,at,Pe,Yn,lt,Ee,qn,$t,Ct,Xn,ct,ut,ft,dt,Je,me,de,Te,pt,mt,Ot,rp,fn,dn,ht,sp,$,op,zi,Ji,ip,ap,Zi,lp,cp,up,fp,dp,pp,mp,hp,gp,yp,bp,kp,_p,wp,xp,Sp,vp,Ep,Tp,Rp,Ap,$p,Cp,Op,Ip,Pp,Np,Dp,Mp,Fp,Lp,jp,Hp,Bp,Gi=b(()=>{Gn();Kn();Di();ds();cn();pe=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}},Mi=(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 ee(e.common.issues);return this._error=n,this._error}}};N=class{get description(){return this._def.description}_getType(t){return ve(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ve(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new V,ctx:{common:t.parent.common,data:t.data,parsedType:ve(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(Et(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:ve(t)},s=this._parseSync({data:t,path:r.path,parent:r});return Mi(r,s)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ve(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:ve(t)},s=this._parse({data:t,path:r.path,parent:r}),o=await(Et(s)?s:Promise.resolve(s));return Mi(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:y.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 me({schema:this,typeName:$.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 de.create(this,this._def)}nullable(){return Te.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return De.create(this)}promise(){return Je.create(this,this._def)}or(t){return at.create([this,t],this._def)}and(t){return lt.create(this,t,this._def)}transform(t){return new me({...I(this._def),schema:this,typeName:$.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new pt({...I(this._def),innerType:this,defaultValue:n,typeName:$.ZodDefault})}brand(){return new fn({typeName:$.ZodBranded,type:this,...I(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new mt({...I(this._def),innerType:this,catchValue:n,typeName:$.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return dn.create(this,t)}readonly(){return ht.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Md=/^c[^\s-]{8,}$/i,Fd=/^[0-9a-z]+$/,Ld=/^[0-9A-HJKMNP-TV-Z]{26}$/i,jd=/^[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,Hd=/^[a-z0-9_-]{21}$/i,Bd=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Ud=/^[-+]?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)?)??$/,zd=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Jd="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Zd=/^(?:(?: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])$/,Gd=/^(?:(?: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])$/,Kd=/^(([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]))$/,Wd=/^(([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])$/,Vd=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Yd=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Li="((\\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])))",qd=new RegExp(`^${Li}$`);Ue=class e extends N{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==w.string){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_type,expected:w.string,received:o.parsedType}),R}let r=new V,s;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:y.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),_(s,{code:y.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?_(s,{code:y.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&_(s,{code:y.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),r.dirty())}else if(o.kind==="email")zd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"email",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="emoji")ps||(ps=new RegExp(Jd,"u")),ps.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"emoji",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="uuid")jd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"uuid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="nanoid")Hd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"nanoid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid")Md.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cuid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid2")Fd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cuid2",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="ulid")Ld.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"ulid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{s=this._getOrReturnCtx(t,s),_(s,{validation:"url",code:y.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),_(s,{validation:"regex",code:y.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),_(s,{code:y.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),_(s,{code:y.invalid_string,validation:{startsWith:o.value},message:o.message}),r.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:{endsWith:o.value},message:o.message}),r.dirty()):o.kind==="datetime"?Hi(o).test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?qd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?Xd(o).test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?Ud.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"duration",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?Qd(t.data,o.version)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"ip",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?ep(t.data,o.alg)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"jwt",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?tp(t.data,o.version)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cidr",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?Vd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"base64",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?Yd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"base64url",code:y.invalid_string,message:o.message}),r.dirty()):M.assertNever(o);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:y.invalid_string,...v.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...v.errToObj(t)})}url(t){return this._addCheck({kind:"url",...v.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...v.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...v.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...v.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...v.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...v.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...v.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...v.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...v.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...v.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...v.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...v.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,...v.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,...v.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...v.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...v.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...v.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...v.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...v.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...v.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...v.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...v.errToObj(n)})}nonempty(t){return this.min(1,v.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}};Ue.create=e=>new Ue({checks:[],typeName:$.ZodString,coerce:e?.coerce??!1,...I(e)});tt=class e extends N{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)!==w.number){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_type,expected:w.number,received:o.parsedType}),R}let r,s=new V;for(let o of this._def.checks)o.kind==="int"?M.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),_(r,{code:y.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),_(r,{code:y.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),_(r,{code:y.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?np(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),_(r,{code:y.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),_(r,{code:y.not_finite,message:o.message}),s.dirty()):M.assertNever(o);return{status:s.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,v.toString(n))}gt(t,n){return this.setLimit("min",t,!1,v.toString(n))}lte(t,n){return this.setLimit("max",t,!0,v.toString(n))}lt(t,n){return this.setLimit("max",t,!1,v.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:v.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:v.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:v.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:v.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:v.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:v.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:v.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:v.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:v.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:v.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"&&M.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)}};tt.create=e=>new tt({checks:[],typeName:$.ZodNumber,coerce:e?.coerce||!1,...I(e)});nt=class e extends N{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)!==w.bigint)return this._getInvalidInput(t);let r,s=new V;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),_(r,{code:y.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),_(r,{code:y.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),_(r,{code:y.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):M.assertNever(o);return{status:s.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return _(n,{code:y.invalid_type,expected:w.bigint,received:n.parsedType}),R}gte(t,n){return this.setLimit("min",t,!0,v.toString(n))}gt(t,n){return this.setLimit("min",t,!1,v.toString(n))}lte(t,n){return this.setLimit("max",t,!0,v.toString(n))}lt(t,n){return this.setLimit("max",t,!1,v.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:v.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:v.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:v.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:v.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:v.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:v.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}};nt.create=e=>new nt({checks:[],typeName:$.ZodBigInt,coerce:e?.coerce??!1,...I(e)});rt=class extends N{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==w.boolean){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.boolean,received:r.parsedType}),R}return Y(t.data)}};rt.create=e=>new rt({typeName:$.ZodBoolean,coerce:e?.coerce||!1,...I(e)});st=class e extends N{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==w.date){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_type,expected:w.date,received:o.parsedType}),R}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_date}),R}let r=new V,s;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:y.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),_(s,{code:y.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):M.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:v.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:v.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}};st.create=e=>new st({checks:[],coerce:e?.coerce||!1,typeName:$.ZodDate,...I(e)});Rt=class extends N{_parse(t){if(this._getType(t)!==w.symbol){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.symbol,received:r.parsedType}),R}return Y(t.data)}};Rt.create=e=>new Rt({typeName:$.ZodSymbol,...I(e)});ot=class extends N{_parse(t){if(this._getType(t)!==w.undefined){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.undefined,received:r.parsedType}),R}return Y(t.data)}};ot.create=e=>new ot({typeName:$.ZodUndefined,...I(e)});it=class extends N{_parse(t){if(this._getType(t)!==w.null){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.null,received:r.parsedType}),R}return Y(t.data)}};it.create=e=>new it({typeName:$.ZodNull,...I(e)});ze=class extends N{constructor(){super(...arguments),this._any=!0}_parse(t){return Y(t.data)}};ze.create=e=>new ze({typeName:$.ZodAny,...I(e)});Ne=class extends N{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Y(t.data)}};Ne.create=e=>new Ne({typeName:$.ZodUnknown,...I(e)});ke=class extends N{_parse(t){let n=this._getOrReturnCtx(t);return _(n,{code:y.invalid_type,expected:w.never,received:n.parsedType}),R}};ke.create=e=>new ke({typeName:$.ZodNever,...I(e)});At=class extends N{_parse(t){if(this._getType(t)!==w.undefined){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.void,received:r.parsedType}),R}return Y(t.data)}};At.create=e=>new At({typeName:$.ZodVoid,...I(e)});De=class e extends N{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==w.array)return _(n,{code:y.invalid_type,expected:w.array,received:n.parsedType}),R;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(i||a)&&(_(n,{code:i?y.too_big:y.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&&(_(n,{code:y.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&&(_(n,{code:y.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 pe(n,i,n.path,a)))).then(i=>V.mergeArray(r,i));let o=[...n.data].map((i,a)=>s.type._parseSync(new pe(n,i,n.path,a)));return V.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:v.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:v.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:v.toString(n)}})}nonempty(t){return this.min(1,t)}};De.create=(e,t)=>new De({type:e,minLength:null,maxLength:null,exactLength:null,typeName:$.ZodArray,...I(t)});te=class e extends N{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=M.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==w.object){let c=this._getOrReturnCtx(t);return _(c,{code:y.invalid_type,expected:w.object,received:c.parsedType}),R}let{status:r,ctx:s}=this._processInputParams(t),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof ke&&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 pe(s,f,s.path,c)),alwaysSet:c in s.data})}if(this._def.catchall instanceof ke){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&&(_(s,{code:y.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 pe(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=>V.mergeObjectSync(r,c)):V.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return v.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:v.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:$.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 M.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 M.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return Tt(this)}partial(t){let n={};for(let r of M.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 M.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof de;)o=o._def.innerType;n[r]=o}return new e({...this._def,shape:()=>n})}keyof(){return Bi(M.objectKeys(this.shape))}};te.create=(e,t)=>new te({shape:()=>e,unknownKeys:"strip",catchall:ke.create(),typeName:$.ZodObject,...I(t)});te.strictCreate=(e,t)=>new te({shape:()=>e,unknownKeys:"strict",catchall:ke.create(),typeName:$.ZodObject,...I(t)});te.lazycreate=(e,t)=>new te({shape:e,unknownKeys:"strip",catchall:ke.create(),typeName:$.ZodObject,...I(t)});at=class extends N{_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 ee(a.ctx.common.issues));return _(n,{code:y.invalid_union,unionErrors:i}),R}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 ee(l));return _(n,{code:y.invalid_union,unionErrors:a}),R}}get options(){return this._def.options}};at.create=(e,t)=>new at({options:e,typeName:$.ZodUnion,...I(t)});Pe=e=>e instanceof ct?Pe(e.schema):e instanceof me?Pe(e.innerType()):e instanceof ut?[e.value]:e instanceof ft?e.options:e instanceof dt?M.objectValues(e.enum):e instanceof pt?Pe(e._def.innerType):e instanceof ot?[void 0]:e instanceof it?[null]:e instanceof de?[void 0,...Pe(e.unwrap())]:e instanceof Te?[null,...Pe(e.unwrap())]:e instanceof fn||e instanceof ht?Pe(e.unwrap()):e instanceof mt?Pe(e._def.innerType):[],Yn=class e extends N{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==w.object)return _(n,{code:y.invalid_type,expected:w.object,received:n.parsedType}),R;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}):(_(n,{code:y.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),R)}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:$.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...I(r)})}};lt=class extends N{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(o,i)=>{if(Wn(o)||Wn(i))return R;let a=ms(o.value,i.value);return a.valid?((Vn(o)||Vn(i))&&n.dirty(),{status:n.value,value:a.data}):(_(r,{code:y.invalid_intersection_types}),R)};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}))}};lt.create=(e,t,n)=>new lt({left:e,right:t,typeName:$.ZodIntersection,...I(n)});Ee=class e extends N{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.array)return _(r,{code:y.invalid_type,expected:w.array,received:r.parsedType}),R;if(r.data.length<this._def.items.length)return _(r,{code:y.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),R;!this._def.rest&&r.data.length>this._def.items.length&&(_(r,{code:y.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 pe(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(o).then(i=>V.mergeArray(n,i)):V.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};Ee.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ee({items:e,typeName:$.ZodTuple,rest:null,...I(t)})};qn=class e extends N{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!==w.object)return _(r,{code:y.invalid_type,expected:w.object,received:r.parsedType}),R;let s=[],o=this._def.keyType,i=this._def.valueType;for(let a in r.data)s.push({key:o._parse(new pe(r,a,r.path,a)),value:i._parse(new pe(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?V.mergeObjectAsync(n,s):V.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof N?new e({keyType:t,valueType:n,typeName:$.ZodRecord,...I(r)}):new e({keyType:Ue.create(),valueType:t,typeName:$.ZodRecord,...I(n)})}},$t=class extends N{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!==w.map)return _(r,{code:y.invalid_type,expected:w.map,received:r.parsedType}),R;let s=this._def.keyType,o=this._def.valueType,i=[...r.data.entries()].map(([a,l],c)=>({key:s._parse(new pe(r,a,r.path,[c,"key"])),value:o._parse(new pe(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 R;(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 R;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}}}};$t.create=(e,t,n)=>new $t({valueType:t,keyType:e,typeName:$.ZodMap,...I(n)});Ct=class e extends N{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.set)return _(r,{code:y.invalid_type,expected:w.set,received:r.parsedType}),R;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(_(r,{code:y.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&&(_(r,{code:y.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 R;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 pe(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:v.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:v.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};Ct.create=(e,t)=>new Ct({valueType:e,minSize:null,maxSize:null,typeName:$.ZodSet,...I(t)});Xn=class e extends N{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==w.function)return _(n,{code:y.invalid_type,expected:w.function,received:n.parsedType}),R;function r(a,l){return un({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,vt(),Ie].filter(c=>!!c),issueData:{code:y.invalid_arguments,argumentsError:l}})}function s(a,l){return un({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,vt(),Ie].filter(c=>!!c),issueData:{code:y.invalid_return_type,returnTypeError:l}})}let o={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof Je){let a=this;return Y(async function(...l){let c=new ee([]),u=await a._def.args.parseAsync(l,o).catch(p=>{throw c.addIssue(r(l,p)),c}),f=await Reflect.apply(i,this,u);return await a._def.returns._def.type.parseAsync(f,o).catch(p=>{throw c.addIssue(s(f,p)),c})})}else{let a=this;return Y(function(...l){let c=a._def.args.safeParse(l,o);if(!c.success)throw new ee([r(l,c.error)]);let u=Reflect.apply(i,this,c.data),f=a._def.returns.safeParse(u,o);if(!f.success)throw new ee([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:Ee.create(t).rest(Ne.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||Ee.create([]).rest(Ne.create()),returns:n||Ne.create(),typeName:$.ZodFunction,...I(r)})}},ct=class extends N{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})}};ct.create=(e,t)=>new ct({getter:e,typeName:$.ZodLazy,...I(t)});ut=class extends N{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return _(n,{received:n.data,code:y.invalid_literal,expected:this._def.value}),R}return{status:"valid",value:t.data}}get value(){return this._def.value}};ut.create=(e,t)=>new ut({value:e,typeName:$.ZodLiteral,...I(t)});ft=class e extends N{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return _(n,{expected:M.joinValues(r),received:n.parsedType,code:y.invalid_type}),R}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 _(n,{received:n.data,code:y.invalid_enum_value,options:r}),R}return Y(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})}};ft.create=Bi;dt=class extends N{_parse(t){let n=M.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==w.string&&r.parsedType!==w.number){let s=M.objectValues(n);return _(r,{expected:M.joinValues(s),received:r.parsedType,code:y.invalid_type}),R}if(this._cache||(this._cache=new Set(M.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=M.objectValues(n);return _(r,{received:r.data,code:y.invalid_enum_value,options:s}),R}return Y(t.data)}get enum(){return this._def.values}};dt.create=(e,t)=>new dt({values:e,typeName:$.ZodNativeEnum,...I(t)});Je=class extends N{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==w.promise&&n.common.async===!1)return _(n,{code:y.invalid_type,expected:w.promise,received:n.parsedType}),R;let r=n.parsedType===w.promise?n.data:Promise.resolve(n.data);return Y(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};Je.create=(e,t)=>new Je({type:e,typeName:$.ZodPromise,...I(t)});me=class extends N{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===$.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=>{_(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 R;let l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?R:l.status==="dirty"?et(l.value):n.value==="dirty"?et(l.value):l});{if(n.value==="aborted")return R;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?R:a.status==="dirty"?et(a.value):n.value==="dirty"?et(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"?R:(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"?R:(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 R;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})):R);M.assertNever(s)}};me.create=(e,t,n)=>new me({schema:e,typeName:$.ZodEffects,effect:t,...I(n)});me.createWithPreprocess=(e,t,n)=>new me({schema:t,effect:{type:"preprocess",transform:e},typeName:$.ZodEffects,...I(n)});de=class extends N{_parse(t){return this._getType(t)===w.undefined?Y(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};de.create=(e,t)=>new de({innerType:e,typeName:$.ZodOptional,...I(t)});Te=class extends N{_parse(t){return this._getType(t)===w.null?Y(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Te.create=(e,t)=>new Te({innerType:e,typeName:$.ZodNullable,...I(t)});pt=class extends N{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===w.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};pt.create=(e,t)=>new pt({innerType:e,typeName:$.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...I(t)});mt=class extends N{_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 Et(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new ee(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new ee(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};mt.create=(e,t)=>new mt({innerType:e,typeName:$.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...I(t)});Ot=class extends N{_parse(t){if(this._getType(t)!==w.nan){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.nan,received:r.parsedType}),R}return{status:"valid",value:t.data}}};Ot.create=e=>new Ot({typeName:$.ZodNaN,...I(e)});rp=Symbol("zod_brand"),fn=class extends N{_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}},dn=class e extends N{_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"?R:o.status==="dirty"?(n.dirty(),et(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"?R: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:$.ZodPipeline})}},ht=class extends N{_parse(t){let n=this._def.innerType._parse(t),r=s=>(Be(s)&&(s.value=Object.freeze(s.value)),s);return Et(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};ht.create=(e,t)=>new ht({innerType:e,typeName:$.ZodReadonly,...I(t)});sp={object:te.lazycreate};(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"})($||($={}));op=(e,t={message:`Input not instance of ${e.name}`})=>Ui(n=>n instanceof e,t),zi=Ue.create,Ji=tt.create,ip=Ot.create,ap=nt.create,Zi=rt.create,lp=st.create,cp=Rt.create,up=ot.create,fp=it.create,dp=ze.create,pp=Ne.create,mp=ke.create,hp=At.create,gp=De.create,yp=te.create,bp=te.strictCreate,kp=at.create,_p=Yn.create,wp=lt.create,xp=Ee.create,Sp=qn.create,vp=$t.create,Ep=Ct.create,Tp=Xn.create,Rp=ct.create,Ap=ut.create,$p=ft.create,Cp=dt.create,Op=Je.create,Ip=me.create,Pp=de.create,Np=Te.create,Dp=me.createWithPreprocess,Mp=dn.create,Fp=()=>zi().optional(),Lp=()=>Ji().optional(),jp=()=>Zi().optional(),Hp={string:(e=>Ue.create({...e,coerce:!0})),number:(e=>tt.create({...e,coerce:!0})),boolean:(e=>rt.create({...e,coerce:!0})),bigint:(e=>nt.create({...e,coerce:!0})),date:(e=>st.create({...e,coerce:!0}))},Bp=R});var h={};ln(h,{BRAND:()=>rp,DIRTY:()=>et,EMPTY_PATH:()=>Dd,INVALID:()=>R,NEVER:()=>Bp,OK:()=>Y,ParseStatus:()=>V,Schema:()=>N,ZodAny:()=>ze,ZodArray:()=>De,ZodBigInt:()=>nt,ZodBoolean:()=>rt,ZodBranded:()=>fn,ZodCatch:()=>mt,ZodDate:()=>st,ZodDefault:()=>pt,ZodDiscriminatedUnion:()=>Yn,ZodEffects:()=>me,ZodEnum:()=>ft,ZodError:()=>ee,ZodFirstPartyTypeKind:()=>$,ZodFunction:()=>Xn,ZodIntersection:()=>lt,ZodIssueCode:()=>y,ZodLazy:()=>ct,ZodLiteral:()=>ut,ZodMap:()=>$t,ZodNaN:()=>Ot,ZodNativeEnum:()=>dt,ZodNever:()=>ke,ZodNull:()=>it,ZodNullable:()=>Te,ZodNumber:()=>tt,ZodObject:()=>te,ZodOptional:()=>de,ZodParsedType:()=>w,ZodPipeline:()=>dn,ZodPromise:()=>Je,ZodReadonly:()=>ht,ZodRecord:()=>qn,ZodSchema:()=>N,ZodSet:()=>Ct,ZodString:()=>Ue,ZodSymbol:()=>Rt,ZodTransformer:()=>me,ZodTuple:()=>Ee,ZodType:()=>N,ZodUndefined:()=>ot,ZodUnion:()=>at,ZodUnknown:()=>Ne,ZodVoid:()=>At,addIssueToContext:()=>_,any:()=>dp,array:()=>gp,bigint:()=>ap,boolean:()=>Zi,coerce:()=>Hp,custom:()=>Ui,date:()=>lp,datetimeRegex:()=>Hi,defaultErrorMap:()=>Ie,discriminatedUnion:()=>_p,effect:()=>Ip,enum:()=>$p,function:()=>Tp,getErrorMap:()=>vt,getParsedType:()=>ve,instanceof:()=>op,intersection:()=>wp,isAborted:()=>Wn,isAsync:()=>Et,isDirty:()=>Vn,isValid:()=>Be,late:()=>sp,lazy:()=>Rp,literal:()=>Ap,makeIssue:()=>un,map:()=>vp,nan:()=>ip,nativeEnum:()=>Cp,never:()=>mp,null:()=>fp,nullable:()=>Np,number:()=>Ji,object:()=>yp,objectUtil:()=>us,oboolean:()=>jp,onumber:()=>Lp,optional:()=>Pp,ostring:()=>Fp,pipeline:()=>Mp,preprocess:()=>Dp,promise:()=>Op,quotelessJson:()=>Id,record:()=>Sp,set:()=>Ep,setErrorMap:()=>Nd,strictObject:()=>bp,string:()=>zi,symbol:()=>cp,transformer:()=>Ip,tuple:()=>xp,undefined:()=>up,union:()=>kp,unknown:()=>pp,util:()=>M,void:()=>hp});var hs=b(()=>{Kn();ds();Ni();cn();Gi();Gn()});var gt=b(()=>{hs();hs()});var Ze,pn=b(()=>{"use strict";gt();Ze=h.object({slug:h.string().min(1).max(64),description:h.string().max(255).optional(),match_command:h.string().min(1),priority:h.number().int().default(50),strip_ansi:h.boolean().default(!1),strip_lines_matching:h.array(h.string()).default([]),keep_failures:h.boolean().default(!1),strip_on_failure:h.boolean().default(!1),fold_passing:h.boolean().default(!1),fold_passing_threshold:h.number().int().positive().max(1e3).optional(),mask_abs_paths:h.boolean().default(!1),preserve_exact:h.boolean().default(!1),truncate_lines_at:h.number().int().positive().max(1e4).optional(),max_lines:h.number().int().positive().max(1e5).optional(),scale_with_level:h.boolean().default(!0),transform:h.string().max(64).optional(),on_empty:h.string().max(255).optional()})});var Yi={};ln(Yi,{OutputVerbosity:()=>Wi,ReducerLevel:()=>Vi,Settings:()=>It,slugKey:()=>le});import{createHash as Up}from"node:crypto";function le(e){let t=Ki.get(e);return t||(t=Up("sha256").update(`tkr:${e}`).digest("hex").slice(0,16),Ki.set(e,t)),t}var Wi,Vi,It,Ki,Ge=b(()=>{"use strict";gt();Wi=h.enum(["normal","compact","minimal"]),Vi=h.enum(["off","light","balanced","max"]),It=h.object({enabled:h.boolean().default(!0),telemetryOptIn:h.boolean().default(!0),outputVerbosity:Wi.default("compact"),reducer:Vi.default("off"),filters:h.object({enableAll:h.boolean().default(!0),disabled:h.array(h.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),Ki=new Map});function Pt(e,t,n,r=t){let s=qi.get(r);s||(s=new Map,qi.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(le(l.slug))||l.matchRegex.test(e)&&(!a||l.priority>a.priority)&&(a=l);if(s.size>=zp){let l=s.keys().next().value;l&&s.delete(l)}return s.set(o,a),a}var qi,zp,Qn=b(()=>{"use strict";Ge();qi=new WeakMap,zp=256});import Jp from"node:os";import{join as mn}from"node:path";function x(){return process.env.TOKMIZER_HOME||mn(Jp.homedir(),".tokmizer")}function hn(){return mn(x(),"install-id")}function gs(){return mn(x(),"content-cache")}function Xi(){return mn(x(),"restore.json")}function ys(e){return mn(gs(),e)}var B=b(()=>{"use strict"});import{join as Zp}from"node:path";import{mkdir as Bv,readFile as Gp,writeFile as Uv,unlink as zv,rename as Jv}from"node:fs/promises";function Wp(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e&&e.length>0?e:"Etc/UTC"}catch{return"Etc/UTC"}}function Vp(e){return e?.dir??x()}async function yt(e){let t=Vp(e);try{let n=await Gp(Zp(t,Kp),"utf8"),r=JSON.parse(n),s=r.timeZone;return{...r,lastSettingsRevision:r.lastSettingsRevision??0,get timeZone(){return s??=Wp()},bonusActive:r.bonusActive??!1,...r.bonusResetAt!==void 0?{bonusResetAt:r.bonusResetAt}:{}}}catch{return null}}var Kp,gn=b(()=>{"use strict";B();Kp="state.json"});import{createRequire as Yp}from"node:module";function Xp(){let e="0.9.65";if(e)return e;for(let t of["../package.json","../../package.json"])try{let n=qp(t).version;if(typeof n=="string"&&n)return n}catch{}return"0.0.0"}function Qi(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 qp,he,Nt=b(()=>{"use strict";qp=Yp(import.meta.url);he=Xp()});var ea,ta=b(()=>{"use strict";ea=`-----BEGIN PUBLIC KEY-----
4
4
  MCowBQYDK2VwAyEAj/kMlXlhTIGHRKxOKMuGFa1S1ybxxwgdYcAE0YM9fgU=
5
5
  -----END PUBLIC KEY-----
6
- `});import{existsSync as Um,mkdirSync as Av,rmSync as $v,writeFileSync as Cv}from"node:fs";import{join as zm}from"node:path";function Gm(){return zm(S(),"network-off")}function Zm(){let e=process.env.TOKMIZER_NETWORK;return e!==void 0&&Jm.has(e.trim().toLowerCase())}function hn(){return Zm()?!1:!Um(Gm())}var Jm,Pv,gn=b(()=>{"use strict";H();Jm=new Set(["0","off","false","no"]),Pv=["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(`
7
- `)});function qi(){return((process.env.TOKMIZER_DEV==="1"?process.env.TOKMIZER_RESP_SIGNING_PUBLIC_KEY_PEM:void 0)??Vi).replace(/\\n/g,`
8
- `)}var jv,ms=b(()=>{"use strict";It();Yi();gn();jv=300*1e3});import{createCipheriv as Uv,createDecipheriv as Wm,hkdfSync as Km,randomBytes as zv}from"node:crypto";function qm(e){return Buffer.from(Km("sha256",Buffer.from(e,"utf8"),Vm,Ym,32))}function qn(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=Wm("aes-256-gcm",n,s);return a.setAuthTag(o),Buffer.concat([a.update(i),a.final()]).toString("utf8")}var Vm,Ym,ps=b(()=>{"use strict";Vm=Buffer.from("tokmizer-bundle-enc-v1"),Ym=Buffer.from("rules-bundle")});import{chmodSync as Zv,readFileSync as Xm,writeFileSync as Wv,mkdirSync as Kv,renameSync as Vv}from"node:fs";import{join as Qm}from"node:path";function tp(){return Qm(S(),"bundle-cache.json")}function Xi(){try{let e=Xm(tp(),"utf8"),t=ep.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}var ep,Qi=b(()=>{"use strict";pt();H();ep=h.object({payload:h.string().min(1),signature:h.string().min(1),enc:h.literal("v1"),fetchedAt:h.number().int().nonnegative()})});import{createPublicKey as rp,verify as sp}from"node:crypto";function gs(){let e=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(e)&&e>0?e:op}function ip(e,t){let n=qi();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=rp({key:n,format:"pem"});if(!sp(null,Buffer.from(e.payload,"utf8"),r,Buffer.from(e.signature,"base64url")))throw new Error("tkr-daemon: rules bundle signature invalid");return JSON.parse(qn(e.payload,t))}function ap(e,t){let n=ip(e,t),r=hs.parse(n);if(Date.now()-r.signedAt>gs())throw new Error("tkr-daemon: rules bundle is stale");return ys(r,{signedAt:r.signedAt,fetchedAt:Date.now()})}function ys(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)=>Ot(r,n.values(),o?new Set(o):null,n)}}async function Xn(){try{let e=Xi();if(!e)return null;let t=await ht();return t?.signingSecret?ap(e,t.signingSecret):null}catch{return null}}var hs,cE,op,yn=b(()=>{"use strict";pt();fn();Yn();pn();ms();ps();Qi();hs=h.object({bundleVersion:h.number().int().nonnegative(),signedAt:h.number().int(),filters:h.array(ze)}),cE=h.object({payload:h.string().min(1),signature:h.string().min(1),enc:h.literal("v1")}),op=10080*60*1e3});function lp(e,t){let n=e.slice(0,t).split(/\r?\n/);return[n.length,n.pop().length+1]}function cp(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+=`
6
+ `});import{existsSync as Qp,mkdirSync as qv,rmSync as Xv,writeFileSync as Qv}from"node:fs";import{join as em}from"node:path";function nm(){return em(x(),"network-off")}function rm(){let e=process.env.TOKMIZER_NETWORK;return e!==void 0&&tm.has(e.trim().toLowerCase())}function yn(){return rm()?!1:!Qp(nm())}var tm,nE,bn=b(()=>{"use strict";B();tm=new Set(["0","off","false","no"]),nE=["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(`
7
+ `)});function na(){return ea.replace(/\\n/g,`
8
+ `)}var lE,bs=b(()=>{"use strict";Nt();ta();bn();lE=300*1e3});import{createCipheriv as fE,createDecipheriv as sm,hkdfSync as om,randomBytes as dE}from"node:crypto";function lm(e){return Buffer.from(om("sha256",Buffer.from(e,"utf8"),im,am,32))}function er(e,t){let n=lm(t),r=Buffer.from(e,"base64url"),s=r.subarray(0,12),o=r.subarray(12,28),i=r.subarray(28),a=sm("aes-256-gcm",n,s);return a.setAuthTag(o),Buffer.concat([a.update(i),a.final()]).toString("utf8")}var im,am,ks=b(()=>{"use strict";im=Buffer.from("tokmizer-bundle-enc-v1"),am=Buffer.from("rules-bundle")});import{chmodSync as hE,readFileSync as cm,writeFileSync as gE,mkdirSync as yE,renameSync as bE}from"node:fs";import{join as um}from"node:path";function dm(){return um(x(),"bundle-cache.json")}function ra(){try{let e=cm(dm(),"utf8"),t=fm.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}var fm,sa=b(()=>{"use strict";gt();B();fm=h.object({payload:h.string().min(1),signature:h.string().min(1),enc:h.literal("v1"),fetchedAt:h.number().int().nonnegative()})});import{createPublicKey as mm,verify as hm}from"node:crypto";function ws(){let e=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(e)&&e>0?e:gm}function ym(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=mm({key:n,format:"pem"});if(!hm(null,Buffer.from(e.payload,"utf8"),r,Buffer.from(e.signature,"base64url")))throw new Error("tkr-daemon: rules bundle signature invalid");return JSON.parse(er(e.payload,t))}function bm(e,t){let n=ym(e,t),r=_s.parse(n);if(Date.now()-r.signedAt>ws())throw new Error("tkr-daemon: rules bundle is stale");return xs(r,{signedAt:r.signedAt,fetchedAt:Date.now()})}function xs(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)=>Pt(r,n.values(),o?new Set(o):null,n)}}async function tr(){try{let e=ra();if(!e)return null;let t=await yt();return t?.signingSecret?bm(e,t.signingSecret):null}catch{return null}}var _s,IE,gm,kn=b(()=>{"use strict";gt();pn();Qn();gn();bs();ks();sa();_s=h.object({bundleVersion:h.number().int().nonnegative(),signedAt:h.number().int(),filters:h.array(Ze)}),IE=h.object({payload:h.string().min(1),signature:h.string().min(1),enc:h.literal("v1")}),gm=10080*60*1e3});function km(e,t){let n=e.slice(0,t).split(/\r?\n/);return[n.length,n.pop().length+1]}function _m(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+=`
9
9
  `,i===t&&(s+=" ".repeat(o+n+2),s+=`^
10
- `))}return s}var A,gt=b(()=>{A=class e extends Error{line;column;codeblock;constructor(t,n){let[r,s]=lp(n.toml,n.ptr),o=cp(n.toml,r,s);super(`Invalid TOML document: ${t}
10
+ `))}return s}var A,bt=b(()=>{A=class e extends Error{line;column;codeblock;constructor(t,n){let[r,s]=km(n.toml,n.ptr),o=_m(n.toml,r,s);super(`Invalid TOML document: ${t}
11
11
 
12
- ${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 Qn(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)A.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),p=m>=48&&m<=57?m-48:m>=65&&m<=70?m-65+10:m>=97&&m<=102?m-97+10:-1;p<0&&A.x("invalid non-hex character in unicode escape",e),u=u<<4|p}(u<0||u>1114111||u>=55296&&u<=57343)&&A.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+=`
13
- `:n===102?i+="\f":n===114?i+="\r":n===101?i+="\x1B":n===34?i+='"':n===92?i+="\\":A.x("unrecognised escape sequence",e),a=e.p+1,l=0);else n!==32&&n!==9&&(l===2&&A.x("invalid escape: only line-ending whitespace may be escaped",e,a),l=!s&&n===92?1:0,a=e.p);A.x("unfinished string",e,t)}var bs=b(()=>{gt();});var up,yt,ks=b(()=>{up=/^(\d{4}-\d{2}-\d{2})?[Tt ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|z|[-+]\d{2}:\d{2})?$/i,yt=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(up);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 ce(e,t=10){return t===16?e>47&&e<58||e>64&&e<71||e>96&&e<103:e>47&&e<48+t}function ws(e,t){return e===32||e===9||e===10||e===13||t&&(e===t||e===44)||e===35}function kn(e,t){let n=e.p,r=e.s.charCodeAt(e.p);if(r===91||r===123){e.d--||A.x("document contains excessively nested structures. aborting.",e);let s=r===91?na(e):ta(e);return e.d++,s}return r===34||r===39?Qn(e):r===116?((e.s.charCodeAt(++e.p)!==114||e.s.charCodeAt(++e.p)!==117||e.s.charCodeAt(++e.p)!==101)&&A.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)&&A.x("invalid value",e,n),e.p++,!1):r===43||r===45?er(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?fp(e,r,t):e.s.charCodeAt(e.p+2)===58?dp(e,r,t):er(e,e.p,r,0,t)}function er(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)&&A.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)&&A.x("invalid value",e,t),e.p++,NaN;if(o===48){if(++e.p>=e.s.length||ws(o=e.s.charCodeAt(e.p),s))return e.bi===!0?0n:0;if(!r){if(o===120)return _s(e,t,16,s);if(o===98)return _s(e,t,2,s);if(o===111)return _s(e,t,8,s)}o===46?i=2:o===101||o===69?i=4:A.x("illegal leading zero",e,t)}else ce(o)||A.x("invalid value",e,t);for(;++e.p<e.s.length&&(o=e.s.charCodeAt(e.p),!ws(o,s));)i||(i=1),o===95?(i&1||A.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)||(ce(o)?i>9?i-=11:i&1||i++:A.x("illegal character in numeric literal",e));if(!i){let c=(n-48)*(r||1);return e.bi===!0?BigInt(c):c}i&1||A.x("unfinished numeric value",e,t);let l=e.s.slice(t,e.p);return a&&(l=l.replaceAll("_","")),i>1?parseFloat(l):ea(e,l,10,t)}function _s(e,t,n,r){let s,o=1;for(;++e.p<e.s.length&&(s=e.s.charCodeAt(e.p),!ws(s,r));)s===95?(o&1&&A.x("illegal underscore",e),o=3):ce(s,n)?o&1&&o--:A.x("illegal character in numeric literal",e);o&1&&A.x("unfinished numeric value",e);let i=e.s.slice(t+2,e.p);return o&&(i=i.replaceAll("_","")),ea(e,i,n,t)}function ea(e,t,n,r){if(e.bi!==!0)e:{let s=parseInt(t,n);if(!Number.isSafeInteger(s)){if(e.bi)break e;A.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 fp(e,t,n){let r=e.p++,s;if(!ce(t)||!ce(e.s.charCodeAt(e.p++))||!ce(e.s.charCodeAt(e.p++))||!ce(e.s.charCodeAt(e.p++)))return er(e,e.p=r,t,0,n);if(e.p+=5,ce(e.s.charCodeAt(e.p++))||A.x("invalid date-time: date part is malformed",e,r),e.p>=e.s.length||((t=e.s.charCodeAt(e.p))!==32||(s=!0,!ce(e.s.charCodeAt(e.p+1))))&&t!==84&&t!==116){let i=e.s.slice(r,e.p);return bn(e,i,3,!1,r)}if(e.s.charCodeAt(e.p+=3)!==58&&A.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(;ce(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 bn(e,i,1,s,r,"[+00:00]")}if(t===43||t===45){let i=e.s.slice(r,e.p+=6);return bn(e,i,1,s,r,!e.ld&&"["+e.s.slice(e.p-6,e.p)+"]")}}let o=e.s.slice(r,e.p);return bn(e,o,2,s,r)}function dp(e,t,n){let r=e.p;if(!ce(t)||!ce(e.s.charCodeAt(++e.p)))return er(e,--e.p,t,0,n);if(e.s.charCodeAt(e.p+=4)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;ce(e.s.charCodeAt(++e.p)););let s=e.s.slice(r,e.p);return bn(e,s,4,!1,r)}function bn(e,t,n,r,s,o){if(e.ld){let i=new yt(t,n,r);return i.isValid()||A.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){A.x(i instanceof Error?i.message:""+i,e,s)}}var xs=b(()=>{bs();Ss();gt();ks();});function mp(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)&&A.x("control characters are not allowed in comments",e)}}function ke(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;mp(e)}}var vs=b(()=>{gt();});function tr(e,t=61){let n,r=0,s=[],o,i=e.s.charCodeAt(n=e.p);do{if(i===t)return r||A.x("unexpected end of key",e),r===1&&s.push(e.s.slice(o,e.p)),e.p++,s;i===46?(r||A.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)&&A.x("illegal quoted key: multiline strings are not allowed",e),s.push(Qn(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?A.x("illegal character in key",e):r||(r=1,o=e.p)}while(i=e.s.charCodeAt(++e.p));A.x("incomplete key-value: cannot find end of key",e,n)}function ta(e){let t=e.p++,n=Object.create(null),r=new Set,s;for(;e.p<e.s.length;){if(ke(e),(s=e.s.charCodeAt(e.p))===125)return e.p++,n;let o,i=n,a=!1,l=e.p,c=tr(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]))&&A.x("trying to redefine an already defined value",e,l);let d=o==="__proto__";if(e.uk&&(d||o==="constructor")){i=e.uk!==1&&A.x("document contains an unsafe property",e,l);break}!a&&d&&Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0})}a&&A.x("trying to redefine an already defined value",e,l),ke(e,!0,!0);let u=kn(e,125);if(i&&typeof(i[o]=u)=="object"&&r.add(u),ke(e),(s=e.s.charCodeAt(e.p++))===125)return n;s!==44&&A.x("expected comma or end of structure",e,e.p-1)}A.x("unfinished table",e,t)}function na(e){let t=e.p++,n=[],r;for(;e.p<e.s.length;){if(ke(e),(r=e.s.charCodeAt(e.p))===93)return e.p++,n;if(n.push(kn(e,93)),ke(e),(r=e.s.charCodeAt(e.p++))===93)return n;r!==44&&A.x("expected comma or end of structure",e,e.p-1)}A.x("unfinished array",e,t)}var Ss=b(()=>{bs();xs();vs();gt();});function ra(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 sa(e,t,n){(t===null||e.uk===2)&&A.x(t===null?"trying to redefine an already defined table or value":"document contains an unsafe property",e,n)}function Es(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++,ke(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=tr(n,93);c&&(e.charCodeAt(n.p)!==93&&A.x("expected end of table array declaration",n),n.p++);let f=ra(n,u,r,s,c?2:1);f?(l=f[2],a=f[1]):(sa(n,f,o),i=!0)}else{o=n.p;let c=tr(n),u=ra(n,c,a,l,0);!u&&!i&&sa(n,u,o),ke(n,!0,!0);let f=kn(n,void 0);u&&!i&&(u[1][u[0]]=f)}ke(n,!0),n.p<e.length&&(o=e.charCodeAt(n.p))!==10&&(o!==13||e.charCodeAt(n.p+1)!==10)&&A.x("each key-value declaration must be followed by an end-of-line",n),ke(n)}return r}var oa=b(()=>{Ss();xs();vs();gt();});function _n(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 hp(e){for(let t=0;t<e.length;t++)if(_n(e[t])!=="object")return!1;return e.length!=0}function aa(e){return JSON.stringify(e).replaceAll("\x7F","\\u007f")}function gp(e){return aa(ia?e.toWellFormed():e)}function la(e){if(pp.test(e))return e;if(ia&&!e.isWellFormed())throw new RangeError("key contains illegal lone surrogates");return aa(e)}function Ts(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 gp(e);case"date":if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString();case"object":return yp(e,n,r,s);case"array":return bp(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 yp(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+=la(a)+" = "+Ts(e[a],_n(e[a]),t-1,n,r)}return o+" }"}function bp(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+=Ts(e[o],_n(e[o]),t-1,n,r)}return s+" ]"}function kp(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&&`
12
+ ${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 nr(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)A.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 p=e.s.charCodeAt(e.p),m=p>=48&&p<=57?p-48:p>=65&&p<=70?p-65+10:p>=97&&p<=102?p-97+10:-1;m<0&&A.x("invalid non-hex character in unicode escape",e),u=u<<4|m}(u<0||u>1114111||u>=55296&&u<=57343)&&A.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+=`
13
+ `:n===102?i+="\f":n===114?i+="\r":n===101?i+="\x1B":n===34?i+='"':n===92?i+="\\":A.x("unrecognised escape sequence",e),a=e.p+1,l=0);else n!==32&&n!==9&&(l===2&&A.x("invalid escape: only line-ending whitespace may be escaped",e,a),l=!s&&n===92?1:0,a=e.p);A.x("unfinished string",e,t)}var Ss=b(()=>{bt();});var wm,kt,vs=b(()=>{wm=/^(\d{4}-\d{2}-\d{2})?[Tt ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|z|[-+]\d{2}:\d{2})?$/i,kt=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(wm);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 ce(e,t=10){return t===16?e>47&&e<58||e>64&&e<71||e>96&&e<103:e>47&&e<48+t}function Ts(e,t){return e===32||e===9||e===10||e===13||t&&(e===t||e===44)||e===35}function wn(e,t){let n=e.p,r=e.s.charCodeAt(e.p);if(r===91||r===123){e.d--||A.x("document contains excessively nested structures. aborting.",e);let s=r===91?aa(e):ia(e);return e.d++,s}return r===34||r===39?nr(e):r===116?((e.s.charCodeAt(++e.p)!==114||e.s.charCodeAt(++e.p)!==117||e.s.charCodeAt(++e.p)!==101)&&A.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)&&A.x("invalid value",e,n),e.p++,!1):r===43||r===45?rr(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?xm(e,r,t):e.s.charCodeAt(e.p+2)===58?Sm(e,r,t):rr(e,e.p,r,0,t)}function rr(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)&&A.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)&&A.x("invalid value",e,t),e.p++,NaN;if(o===48){if(++e.p>=e.s.length||Ts(o=e.s.charCodeAt(e.p),s))return e.bi===!0?0n:0;if(!r){if(o===120)return Es(e,t,16,s);if(o===98)return Es(e,t,2,s);if(o===111)return Es(e,t,8,s)}o===46?i=2:o===101||o===69?i=4:A.x("illegal leading zero",e,t)}else ce(o)||A.x("invalid value",e,t);for(;++e.p<e.s.length&&(o=e.s.charCodeAt(e.p),!Ts(o,s));)i||(i=1),o===95?(i&1||A.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)||(ce(o)?i>9?i-=11:i&1||i++:A.x("illegal character in numeric literal",e));if(!i){let c=(n-48)*(r||1);return e.bi===!0?BigInt(c):c}i&1||A.x("unfinished numeric value",e,t);let l=e.s.slice(t,e.p);return a&&(l=l.replaceAll("_","")),i>1?parseFloat(l):oa(e,l,10,t)}function Es(e,t,n,r){let s,o=1;for(;++e.p<e.s.length&&(s=e.s.charCodeAt(e.p),!Ts(s,r));)s===95?(o&1&&A.x("illegal underscore",e),o=3):ce(s,n)?o&1&&o--:A.x("illegal character in numeric literal",e);o&1&&A.x("unfinished numeric value",e);let i=e.s.slice(t+2,e.p);return o&&(i=i.replaceAll("_","")),oa(e,i,n,t)}function oa(e,t,n,r){if(e.bi!==!0)e:{let s=parseInt(t,n);if(!Number.isSafeInteger(s)){if(e.bi)break e;A.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 xm(e,t,n){let r=e.p++,s;if(!ce(t)||!ce(e.s.charCodeAt(e.p++))||!ce(e.s.charCodeAt(e.p++))||!ce(e.s.charCodeAt(e.p++)))return rr(e,e.p=r,t,0,n);if(e.p+=5,ce(e.s.charCodeAt(e.p++))||A.x("invalid date-time: date part is malformed",e,r),e.p>=e.s.length||((t=e.s.charCodeAt(e.p))!==32||(s=!0,!ce(e.s.charCodeAt(e.p+1))))&&t!==84&&t!==116){let i=e.s.slice(r,e.p);return _n(e,i,3,!1,r)}if(e.s.charCodeAt(e.p+=3)!==58&&A.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(;ce(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 _n(e,i,1,s,r,"[+00:00]")}if(t===43||t===45){let i=e.s.slice(r,e.p+=6);return _n(e,i,1,s,r,!e.ld&&"["+e.s.slice(e.p-6,e.p)+"]")}}let o=e.s.slice(r,e.p);return _n(e,o,2,s,r)}function Sm(e,t,n){let r=e.p;if(!ce(t)||!ce(e.s.charCodeAt(++e.p)))return rr(e,--e.p,t,0,n);if(e.s.charCodeAt(e.p+=4)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;ce(e.s.charCodeAt(++e.p)););let s=e.s.slice(r,e.p);return _n(e,s,4,!1,r)}function _n(e,t,n,r,s,o){if(e.ld){let i=new kt(t,n,r);return i.isValid()||A.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){A.x(i instanceof Error?i.message:""+i,e,s)}}var Rs=b(()=>{Ss();As();bt();vs();});function vm(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)&&A.x("control characters are not allowed in comments",e)}}function _e(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;vm(e)}}var $s=b(()=>{bt();});function sr(e,t=61){let n,r=0,s=[],o,i=e.s.charCodeAt(n=e.p);do{if(i===t)return r||A.x("unexpected end of key",e),r===1&&s.push(e.s.slice(o,e.p)),e.p++,s;i===46?(r||A.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)&&A.x("illegal quoted key: multiline strings are not allowed",e),s.push(nr(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?A.x("illegal character in key",e):r||(r=1,o=e.p)}while(i=e.s.charCodeAt(++e.p));A.x("incomplete key-value: cannot find end of key",e,n)}function ia(e){let t=e.p++,n=Object.create(null),r=new Set,s;for(;e.p<e.s.length;){if(_e(e),(s=e.s.charCodeAt(e.p))===125)return e.p++,n;let o,i=n,a=!1,l=e.p,c=sr(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]))&&A.x("trying to redefine an already defined value",e,l);let d=o==="__proto__";if(e.uk&&(d||o==="constructor")){i=e.uk!==1&&A.x("document contains an unsafe property",e,l);break}!a&&d&&Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0})}a&&A.x("trying to redefine an already defined value",e,l),_e(e,!0,!0);let u=wn(e,125);if(i&&typeof(i[o]=u)=="object"&&r.add(u),_e(e),(s=e.s.charCodeAt(e.p++))===125)return n;s!==44&&A.x("expected comma or end of structure",e,e.p-1)}A.x("unfinished table",e,t)}function aa(e){let t=e.p++,n=[],r;for(;e.p<e.s.length;){if(_e(e),(r=e.s.charCodeAt(e.p))===93)return e.p++,n;if(n.push(wn(e,93)),_e(e),(r=e.s.charCodeAt(e.p++))===93)return n;r!==44&&A.x("expected comma or end of structure",e,e.p-1)}A.x("unfinished array",e,t)}var As=b(()=>{Ss();Rs();$s();bt();});function la(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 ca(e,t,n){(t===null||e.uk===2)&&A.x(t===null?"trying to redefine an already defined table or value":"document contains an unsafe property",e,n)}function Cs(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++,_e(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=sr(n,93);c&&(e.charCodeAt(n.p)!==93&&A.x("expected end of table array declaration",n),n.p++);let f=la(n,u,r,s,c?2:1);f?(l=f[2],a=f[1]):(ca(n,f,o),i=!0)}else{o=n.p;let c=sr(n),u=la(n,c,a,l,0);!u&&!i&&ca(n,u,o),_e(n,!0,!0);let f=wn(n,void 0);u&&!i&&(u[1][u[0]]=f)}_e(n,!0),n.p<e.length&&(o=e.charCodeAt(n.p))!==10&&(o!==13||e.charCodeAt(n.p+1)!==10)&&A.x("each key-value declaration must be followed by an end-of-line",n),_e(n)}return r}var ua=b(()=>{As();Rs();$s();bt();});function xn(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 Tm(e){for(let t=0;t<e.length;t++)if(xn(e[t])!=="object")return!1;return e.length!=0}function da(e){return JSON.stringify(e).replaceAll("\x7F","\\u007f")}function Rm(e){return da(fa?e.toWellFormed():e)}function pa(e){if(Em.test(e))return e;if(fa&&!e.isWellFormed())throw new RangeError("key contains illegal lone surrogates");return da(e)}function Os(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 Rm(e);case"date":if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString();case"object":return Am(e,n,r,s);case"array":return $m(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 Am(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+=pa(a)+" = "+Os(e[a],xn(e[a]),t-1,n,r)}return o+" }"}function $m(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+=Os(e[o],xn(e[o]),t-1,n,r)}return s+" ]"}function Cm(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&&`
14
14
  `}[[${t}]]
15
- `,o+=Rs(0,e[i],t,n,r,s);return o}function Rs(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=_n(t[u]);if(f==="symbol"||f==="function")throw new TypeError(`cannot serialize values of type '${f}'`);let d=la(u);if(f==="array"&&hp(t[u]))a+=(a&&`
16
- `)+kp(t[u],n?`${n}.${d}`:d,r-1,s,o);else if(f==="object"){let m=n?`${n}.${d}`:d;a+=(a&&`
17
- `)+Rs(m,t[u],m,r-1,s,o)}else i+=d,i+=" = ",i+=Ts(t[u],f,r,s,o),i+=`
15
+ `,o+=Is(0,e[i],t,n,r,s);return o}function Is(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=xn(t[u]);if(f==="symbol"||f==="function")throw new TypeError(`cannot serialize values of type '${f}'`);let d=pa(u);if(f==="array"&&Tm(t[u]))a+=(a&&`
16
+ `)+Cm(t[u],n?`${n}.${d}`:d,r-1,s,o);else if(f==="object"){let p=n?`${n}.${d}`:d;a+=(a&&`
17
+ `)+Is(p,t[u],p,r-1,s,o)}else i+=d,i+=" = ",i+=Os(t[u],f,r,s,o),i+=`
18
18
  `}}return e&&(i||!a)&&(i=i?`[${e}]
19
19
  ${i}`:`[${e}]`),i&&a?`${i}
20
- ${a}`:i||a}function As(e,{maxDepth:t=1e3,numbersAsFloat:n=!1,strictTemporal:r=!1}={}){if(_n(e)!=="object")throw new TypeError("stringify can only be called with an object");let s=Rs(0,e,"",t,n,r);return s[s.length-1]!==`
20
+ ${a}`:i||a}function Ps(e,{maxDepth:t=1e3,numbersAsFloat:n=!1,strictTemporal:r=!1}={}){if(xn(e)!=="object")throw new TypeError("stringify can only be called with an object");let s=Is(0,e,"",t,n,r);return s[s.length-1]!==`
21
21
  `?s+`
22
- `:s}var pp,ia,ca=b(()=>{pp=/^[a-z0-9-_]+$/i,ia=!!"".isWellFormed});var $s={};on($s,{TomlDate:()=>yt,TomlError:()=>A,default:()=>_p,parse:()=>Es,stringify:()=>As});var _p,Cs=b(()=>{oa();ca();ks();gt();_p={parse:Es,stringify:As,TomlDate:yt,TomlError:A}});import{readdir as wp,readFile as xp}from"node:fs/promises";import{join as fa,dirname as Sp}from"node:path";import{fileURLToPath as vp}from"node:url";function Rp(){return process.env.TOKMIZER_DEV==="1"||process.env.TOKMIZER_DEV==="true"}async function da(){return Pt||(Rp()?(Pt=await Ap(Tp),Pt):(!ua&&process.env.TOKMIZER_DEBUG==="1"&&(process.stderr.write(`tokmizer: disk loader disabled (set TOKMIZER_DEV=1 to re-enable for local dev).
23
- `),ua=!0),Pt=new Map,Pt))}async function Ap(e){let t=new Map,n,r;try{n=(await Promise.resolve().then(()=>(Cs(),$s))).parse,r=(await wp(e)).filter(s=>s.endsWith(".toml"))}catch{return t}for(let s of r){let o=await xp(fa(e,s),"utf8"),a=n(o).filters;if(a)for(let[l,c]of Object.entries(a)){let u=ze.parse({slug:l,...c});t.set(l,{...u,matchRegex:new RegExp(u.match_command)})}}return t}var Ep,Tp,Pt,ua,ma=b(()=>{"use strict";fn();Ep=Sp(vp(import.meta.url)),Tp=process.env.TOKMIZER_FILTERS_DIR||fa(Ep,"..","..","filters"),Pt=null,ua=!1});function Re(e){return e.replace($p,"").replace(Cp,"")}var $p,Cp,wn=b(()=>{"use strict";$p=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,Cp=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g});function pa(e,t){return t.length===0?e:e.filter(n=>!t.some(r=>r.test(n)))}var ha=b(()=>{"use strict"});function ga(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`})}var ya=b(()=>{"use strict"});function Nt(e){return`\u2026 (${e} more lines omitted)`}function ba(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),Nt(s.length),...e.slice(e.length-r)],dropped:s}}var Os=b(()=>{"use strict"});function ka(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)Op.test(a)&&!Ge.test(a)?(i.push(a),s+=1):(o(i),i=[],s=0,r.push(a));return o(i),r}var Op,Ge,Is=b(()=>{"use strict";Op=/^\s*(?:[✓✔√]|ok )/,Ge=/✕|✗|×|\bFAIL\b|\bERROR\b|\bFATAL\b|\bError|\berror|Expected|Received|\bfailed\b|^\s*Tests?:|^\s*Test Suites?:/});function _a(e){return e.map(t=>t.replace(Ip,n=>{let r=n.split("/").filter(Boolean);return r.length<=2?n:`\u2026/${r.slice(-2).join("/")}`}))}var Ip,wa=b(()=>{"use strict";Ip=/(?:\/[\w.@+-]+){3,}/g});function Fp(e){let t=Dp.exec(e);return!t||Mp.has(t[1])?!1:!/=>|\bfunction\b/.test(t[2])}function jp(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 Hp(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==="&"))&&jp(e,s+1,o)&&(r=o),s+=1;continue}o==="{"||o==="("||o==="["?n+=1:(o==="}"||o===")"||o==="]")&&(n-=1),s+=1}return n}function Up(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 Ps(e){let t=new Array(e.length).fill(!1);for(let n=0;n<e.length;n+=1){let r=Bp.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 xn(e,t=3,n=!1){let r=[],s=0;for(;s<e.length;){let o=e[s];if(Pp.test(o)&&Np.test(o)||Fp(o)||Lp.test(o)){let i={inBlockComment:!1,inTemplate:!1},a=0,l=s,c=!1;for(;l<e.length&&l-s<200;)if(a+=Hp(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(Up(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}function rr(e){let t=e.slice(0,4096);return!(!zp.test(t)||t.split(`
24
- `).length<6)}var Pp,Np,Dp,Mp,Lp,nr,Bp,zp,Dt=b(()=>{"use strict";Pp=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,Np=/\{\s*$/,Dp=/^\s*(?:(?:public|private|protected|static|async|get|set|readonly|override)\s+)*([\w$]+)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\{\s*$/,Mp=new Set(["if","for","while","switch","catch","do","with","return","else","function","await","yield"]);Lp=/^\s*(?:if|for|while|switch|try|do)\b[^{}]*\{\s*$/;nr=/^\s*… \d+ lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/,Bp=/^\s*… (\d+) lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/;zp=/\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 $a(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(Ta.test(s.replace(Ea,""))&&!Ra.test(s)&&!Aa.test(s)){n+=1;continue}r(),t.push(s)}return r(),t}function va(e){if(e.trim()===""||/^\s/.test(e)||Ra.test(e)||Aa.test(e)||Gp.test(e))return null;let t=e.replace(Ea,"");return Ta.test(t)||Jp.test(t)?"\0verbose":e.replace(/\d+/g,"#")}function Ca(e){let t=[],n=0;for(;n<e.length;){let r=va(e[n]),s=n+1;if(r!==null)for(;s<e.length&&va(e[s])===r;)s+=1;let o=s-n;r===null||o<Zp?t.push(...e.slice(n,s)):(t.push(...e.slice(n,n+xa)),t.push(`\u2026 ${o-xa-Sa} similar log lines dropped \u2026`),t.push(...e.slice(s-Sa,s))),n=s}return t}function sr(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 Oa(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 Ea,Ta,Ra,Aa,Jp,Gp,Zp,xa,Sa,or=b(()=>{"use strict";Is();Ea=/^\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*/,Ta=/^\s*(?:\[(?:DEBUG|TRACE|INFO|VERBOSE)\]|(?:DEBUG|TRACE|INFO|VERBOSE)(?!\s*:))(?=\s|:|$)(?!\s*[+\-*\/%&|^?]*=)/,Ra=new RegExp(Ge.source,"i"),Aa=/\bWARN(?:ING)?\b/i;Jp=/^(?:DEBUG|INFO):[\w.-]+:/,Gp=/Error|Exception|Traceback|panic|fail|FAIL|Fail|SEVERE|CRITICAL/,Zp=8,xa=1,Sa=2});function ne(e,t){Ia.set(e,t)}function Pa(e){return Ia.get(e)}var Ia,De=b(()=>{"use strict";Ia=new Map});function Xp(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 Qp(e){let t=/^(\d+(?:[.,]\d+)?)([KMGTPkmgtp])?/.exec(e),n=t[2]?qp[t[2].toLowerCase()]:0;return Number(t[1].replace(",","."))*1024**n}function eh(e){let t=Yp.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)?Xp(Number(r)):r,o=e.charCodeAt(0)===100;return{name:n,size:s,sizeKey:Qp(r),isDir:o}}function th(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 nh(e){let t=[],n=[],r=!1;for(let f of e){if(f.trim()===""||/^total\s+\d+/.test(f))continue;if(Kp.test(f.trim())||!Wp.test(f))return e;let d=eh(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>Ns){let f=i.length-Ns;i=[...i.slice(0,Ns),`\u2026 ${f} more lines omitted`]}let a=n.length===1?"file":"files",l=t.length===1?"dir":"dirs",c=th(n),u=`${n.length} ${a}, ${t.length} ${l}`+(c?` (${c})`:"");return i.push(u),i}var Wp,Kp,Vp,Yp,qp,Ns,Na=b(()=>{"use strict";De();Wp=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/,Kp=/^[./~][^\s]*:$/,Vp=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})?`,Yp=new RegExp(String.raw`^\S+\s+\d+\s+\S+\s+(?:\S+\s+)?(\d+(?:[.,]\d+)?[KMGTPkmgtp]?i?B?)\s+(?:${Vp})\s+(.+)$`),qp={k:1,m:2,g:3,t:4,p:5},Ns=1e3;ne("smart-ls",nh)});var Da=b(()=>{"use strict";Dt();De();ne("smart-read",e=>xn(e))});function rh(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 sh(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 oh(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):"",p=d>=0?f.slice(d+1):f;if(!p)continue;let k=r.get(m)??[];k.push(/\s/.test(p)?`"${p}"`:p),r.set(m,k),o+=1}if(o===0)return e;let i=[...r.keys()].sort(),a=i.every(c=>c!=="")?rh(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=sh(f),m=d?f.map(p=>p.slice(0,-d.length)):f;l.push(`${u?`${u}/`:"./"} (${f.length}${d?`, *${d}`:""}): ${m.join(" ")}`)}if(l.length+s.length>Ma){let c=Math.max(0,Ma-s.length),u=l.length-c;return[...l.slice(0,c),`\u2026 ${u} more lines omitted`,...s]}return[...l,...s]}var Ma,Fa=b(()=>{"use strict";De();Ma=1e3;ne("smart-find",oh)});function Ha(e){let t=e.trim();return t.length>La?`${t.slice(0,La)}\u2026`:t}function fh(e){let t=[],n="";for(let r of e){let s=n?`${n}, ${r}`:r;s.length>=ah&&n?(t.push(`${n},`),n=r):n=s}return n&&t.push(n),t}function dh(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 mh(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 p=lh.exec(m),k=ch.exec(m);if(p&&k)return e;let g=p||k?null:uh.exec(m),T=(p??k??g)?.[1];if(!T)return e;let x=p?{line:p[2],content:p[3],context:!1}:k?{line:k[2],content:k[3],context:!0}:{line:"",content:g[2],context:!1},C=n.get(T)??[];C.push(x),n.set(T,C),x.context||(o+=1,r.set(T,(r.get(T)??0)+1)),i+=1,s=T}if(n.size===i)return e;let a=[...n.keys()].sort((m,p)=>{let k=ja.test(m)?1:0,g=ja.test(p)?1:0;return k-g||(m<p?-1:m>p?1:0)}),l=a.length>1?dh(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 p of n.get(m))"separator"in p?u.push(" --"):p.line?u.push(` ${p.line}${p.context?"-":":"} ${Ha(p.content)}`):u.push(` ${Ha(p.content)}`)}let f=a.length>1&&u.length>ih?fh(a.map(m=>`${c(m)} (${r.get(m)??0})`)):[],d=[`${o}m ${a.length}f${l?` in ${l}/`:""}:`,...f,"",...u];if(d.length>Ds){let m=d.length-Ds;return[...d.slice(0,Ds),`\u2026 ${m} more lines omitted`]}return d}var Ds,La,ih,ah,lh,ch,uh,ja,Ba=b(()=>{"use strict";De();Ds=1e3,La=200,ih=60,ah=190,lh=/^([^\s:]+):(\d+):(.*)$/,ch=/^([^:]+?)-(\d+)-(.*)$/,uh=/^([^\s:]+):(.*)$/,ja=/(?:^|\/)(?:__tests__|tests?|spec|fixtures?|__mocks__|__snapshots__)\/|\.(?:test|spec)\.[^/]+$/i;ne("smart-grep",mh)});function yh(e){if(!e.some(c=>Ua.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=ph.test(u),d=f?c.slice(s):c,m=hh.test(d),p=i&&m?null:Ua.exec(c);if(p){l(),n=0,s=p[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<=gh?t.push(c):(r+=1,o=f?u:"");continue}l(),t.push(c)}return l(),t}var Ua,ph,hh,gh,za=b(()=>{"use strict";De();Ua=/^(?:([|\\/ ._-]*\*[|\\/* ._-]* ))?commit [0-9a-f]{7,40}\b/,ph=/^[|\\/* ._-]*$/,hh=/^ {4}/,gh=2;ne("smart-log",yh)});var bh,kh,_h,Ja=b(()=>{"use strict";De();bh=/^[\s=]+$/,kh=/^\s*=+\s+(.*?)\s+=+\s*$/,_h=512;ne("strip-banners",e=>{let t=[];for(let n of e){if(bh.test(n))continue;let r=n.length<=_h?kh.exec(n):null;t.push(r?r[1]:n)}return t})});function wh(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}var Ga=b(()=>{"use strict";De();ne("squeeze-output",wh)});function xh(e){return e==="compact"?.6:e==="minimal"?.3:1}function vh(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}function Eh(e){let t=Za.get(e);if(t)return t;let n=e.strip_lines_matching.map(s=>new RegExp(s)),r={def:e,stripRegexes:n};return Za.set(e,r),r}function ir(e,t,n={}){return Ms(e,t,n).text}function Ms(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=Eh(t),o=e;t.strip_ansi&&(o=Re(o));let i=o.endsWith(`
22
+ `:s}var Em,fa,ma=b(()=>{Em=/^[a-z0-9-_]+$/i,fa=!!"".isWellFormed});var Ns={};ln(Ns,{TomlDate:()=>kt,TomlError:()=>A,default:()=>Om,parse:()=>Cs,stringify:()=>Ps});var Om,Ds=b(()=>{ua();ma();vs();bt();Om={parse:Cs,stringify:Ps,TomlDate:kt,TomlError:A}});import{readdir as Im,readFile as Pm}from"node:fs/promises";import{join as ga,dirname as Nm}from"node:path";import{fileURLToPath as Dm}from"node:url";function Lm(){return!1}async function ya(){return Dt||(Lm()?(Dt=await jm(Fm),Dt):(!ha&&process.env.TOKMIZER_DEBUG==="1"&&(process.stderr.write(`tokmizer: disk loader disabled (set TOKMIZER_DEV=1 to re-enable for local dev).
23
+ `),ha=!0),Dt=new Map,Dt))}async function jm(e){let t=new Map,n,r;try{n=(await Promise.resolve().then(()=>(Ds(),Ns))).parse,r=(await Im(e)).filter(s=>s.endsWith(".toml"))}catch{return t}for(let s of r){let o=await Pm(ga(e,s),"utf8"),a=n(o).filters;if(a)for(let[l,c]of Object.entries(a)){let u=Ze.parse({slug:l,...c});t.set(l,{...u,matchRegex:new RegExp(u.match_command)})}}return t}var Mm,Fm,Dt,ha,ba=b(()=>{"use strict";pn();Mm=Nm(Dm(import.meta.url)),Fm=process.env.TOKMIZER_FILTERS_DIR||ga(Mm,"..","..","filters"),Dt=null,ha=!1});function Re(e){return e.replace(Hm,"").replace(Bm,"")}var Hm,Bm,Sn=b(()=>{"use strict";Hm=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,Bm=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g});function ka(e,t){return t.length===0?e:e.filter(n=>!t.some(r=>r.test(n)))}var _a=b(()=>{"use strict"});function wa(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`})}var xa=b(()=>{"use strict"});function Mt(e){return`\u2026 (${e} more lines omitted)`}function Sa(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),Mt(s.length),...e.slice(e.length-r)],dropped:s}}var Ms=b(()=>{"use strict"});function va(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)Um.test(a)&&!Ke.test(a)?(i.push(a),s+=1):(o(i),i=[],s=0,r.push(a));return o(i),r}var Um,Ke,Fs=b(()=>{"use strict";Um=/^\s*(?:[✓✔√]|ok )/,Ke=/✕|✗|×|\bFAIL\b|\bERROR\b|\bFATAL\b|\bError|\berror|Expected|Received|\bfailed\b|^\s*Tests?:|^\s*Test Suites?:/});function Ea(e){return e.map(t=>t.replace(zm,n=>{let r=n.split("/").filter(Boolean);return r.length<=2?n:`\u2026/${r.slice(-2).join("/")}`}))}var zm,Ta=b(()=>{"use strict";zm=/(?:\/[\w.@+-]+){3,}/g});function Wm(e){let t=Gm.exec(e);return!t||Km.has(t[1])?!1:!/=>|\bfunction\b/.test(t[2])}function Ym(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 qm(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==="&"))&&Ym(e,s+1,o)&&(r=o),s+=1;continue}o==="{"||o==="("||o==="["?n+=1:(o==="}"||o===")"||o==="]")&&(n-=1),s+=1}return n}function Qm(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 Ls(e){let t=new Array(e.length).fill(!1);for(let n=0;n<e.length;n+=1){let r=Xm.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 vn(e,t=3,n=!1){let r=[],s=0;for(;s<e.length;){let o=e[s];if(Jm.test(o)&&Zm.test(o)||Wm(o)||Vm.test(o)){let i={inBlockComment:!1,inTemplate:!1},a=0,l=s,c=!1;for(;l<e.length&&l-s<200;)if(a+=qm(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(Qm(d,f,n?s+2:null));for(let p=0;p<f-1;p++)r.push("");r.push(e[l-1]),s=l;continue}}r.push(o),s+=1}return r}function ir(e){let t=e.slice(0,4096);return!(!eh.test(t)||t.split(`
24
+ `).length<6)}var Jm,Zm,Gm,Km,Vm,or,Xm,eh,Ft=b(()=>{"use strict";Jm=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,Zm=/\{\s*$/,Gm=/^\s*(?:(?:public|private|protected|static|async|get|set|readonly|override)\s+)*([\w$]+)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\{\s*$/,Km=new Set(["if","for","while","switch","catch","do","with","return","else","function","await","yield"]);Vm=/^\s*(?:if|for|while|switch|try|do)\b[^{}]*\{\s*$/;or=/^\s*… \d+ lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/,Xm=/^\s*… (\d+) lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/;eh=/\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 Na(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(Oa.test(s.replace(Ca,""))&&!Ia.test(s)&&!Pa.test(s)){n+=1;continue}r(),t.push(s)}return r(),t}function $a(e){if(e.trim()===""||/^\s/.test(e)||Ia.test(e)||Pa.test(e)||nh.test(e))return null;let t=e.replace(Ca,"");return Oa.test(t)||th.test(t)?"\0verbose":e.replace(/\d+/g,"#")}function Da(e){let t=[],n=0;for(;n<e.length;){let r=$a(e[n]),s=n+1;if(r!==null)for(;s<e.length&&$a(e[s])===r;)s+=1;let o=s-n;r===null||o<rh?t.push(...e.slice(n,s)):(t.push(...e.slice(n,n+Ra)),t.push(`\u2026 ${o-Ra-Aa} similar log lines dropped \u2026`),t.push(...e.slice(s-Aa,s))),n=s}return t}function ar(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.trim()?`${r} \xD7${n}`:r),r=e[s],n=1}return t.push(n>1&&r.trim()?`${r} \xD7${n}`:r),t}function Ma(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 Ca,Oa,Ia,Pa,th,nh,rh,Ra,Aa,lr=b(()=>{"use strict";Fs();Ca=/^\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*/,Oa=/^\s*(?:\[(?:DEBUG|TRACE|INFO|VERBOSE)\]|(?:DEBUG|TRACE|INFO|VERBOSE)(?!\s*:))(?=\s|:|$)(?!\s*[+\-*\/%&|^?]*=)/,Ia=new RegExp(Ke.source,"i"),Pa=/\bWARN(?:ING)?\b/i;th=/^(?:DEBUG|INFO):[\w.-]+:/,nh=/Error|Exception|Traceback|panic|fail|FAIL|Fail|SEVERE|CRITICAL/,rh=8,Ra=1,Aa=2});function ne(e,t){Fa.set(e,t)}function La(e){return Fa.get(e)}var Fa,Me=b(()=>{"use strict";Fa=new Map});function ch(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 uh(e){let t=/^(\d+(?:[.,]\d+)?)([KMGTPkmgtp])?/.exec(e),n=t[2]?lh[t[2].toLowerCase()]:0;return Number(t[1].replace(",","."))*1024**n}function fh(e){let t=ah.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)?ch(Number(r)):r,o=e.charCodeAt(0)===100;return{name:n,size:s,sizeKey:uh(r),isDir:o,mode:t[1],owner:t[2].replace(/\s+/g," ")}}function dh(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 ph(e){let t=[],n=[],r=!1;for(let d of e){if(d.trim()===""||/^total\s+\d+/.test(d))continue;if(oh.test(d.trim())||!sh.test(d))return e;let p=fh(d);if(!p){if(/\s\.\.?$/.test(d))continue;return e}r=!0,(p.isDir?t:n).push(p)}if(!r)return e;let s=(d,p)=>d.name.localeCompare(p.name);t.sort(s),n.sort((d,p)=>p.sizeKey-d.sizeKey||s(d,p));let o=[...t,...n],i=o.every(d=>d.owner===o[0].owner)?o[0].owner:null,a=[];for(let d of o){let p=`${d.mode} ${i===null?`${d.owner} `:""}${d.isDir?`${d.name}/`:d.name}`;a.push(d.isDir?p:`${p} ${d.size}`)}if(a.length>js){let d=a.length-js;a=[...a.slice(0,js),`\u2026 ${d} more lines omitted`]}let l=n.length===1?"file":"files",c=t.length===1?"dir":"dirs",u=dh(n),f=`${n.length} ${l}, ${t.length} ${c}`+(u?` (${u})`:"")+(i===null?"":`, owner ${i.replace(" ",":")}`);return a.push(f),a}var sh,oh,ih,ah,lh,js,ja=b(()=>{"use strict";Me();sh=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/,oh=/^[./~][^\s]*:$/,ih=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})?`,ah=new RegExp(String.raw`^(\S+)\s+\d+\s+(\S+(?:\s+\S+)??)\s+(\d+(?:[.,]\d+)?[KMGTPkmgtp]?i?B?)\s+(?:${ih})\s+(.+)$`),lh={k:1,m:2,g:3,t:4,p:5},js=1e3;ne("smart-ls",ph)});var Ha=b(()=>{"use strict";Ft();Me();ne("smart-read",e=>vn(e))});function mh(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 hh(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 gh(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("/"),p=d>=0?f.slice(0,d):"",m=d>=0?f.slice(d+1):f;if(!m)continue;let k=r.get(p)??[];k.push(/\s/.test(m)?`"${m}"`:m),r.set(p,k),o+=1}if(o===0)return e;let i=[...r.keys()].sort(),a=i.every(c=>c!=="")?mh(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=hh(f),p=d?f.map(m=>m.slice(0,-d.length)):f;l.push(`${u?`${u}/`:"./"} (${f.length}${d?`, *${d}`:""}): ${p.join(" ")}`)}if(l.length+s.length>Ba){let c=Math.max(0,Ba-s.length),u=l.length-c;return[...l.slice(0,c),`\u2026 ${u} more lines omitted`,...s]}return[...l,...s]}var Ba,Ua=b(()=>{"use strict";Me();Ba=1e3;ne("smart-find",gh)});function Za(e){let t=e.trim();return t.length>za?`${t.slice(0,za)}\u2026`:t}function xh(e){let t=[],n="";for(let r of e){let s=n?`${n}, ${r}`:r;s.length>=bh&&n?(t.push(`${n},`),n=r):n=s}return n&&t.push(n),t}function Sh(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 vh(e){let t=e.filter(p=>p.trim()!=="");if(t.length===0)return e;let n=new Map,r=new Map,s=null,o=0,i=0;for(let p of t){if(p==="--"){s&&n.get(s).push({separator:!0});continue}if(/^[A-Za-z]:[\\/]/.test(p))return e;let m=kh.exec(p),k=_h.exec(p);if(m&&k)return e;let g=m||k?null:wh.exec(p),T=(m??k??g)?.[1];if(!T)return e;let S=m?{line:m[2],content:m[3],context:!1}:k?{line:k[2],content:k[3],context:!0}:{line:"",content:g[2],context:!1},C=n.get(T)??[];C.push(S),n.set(T,C),S.context||(o+=1,r.set(T,(r.get(T)??0)+1)),i+=1,s=T}if(n.size===i)return e;let a=[...n.keys()].sort((p,m)=>{let k=Ja.test(p)?1:0,g=Ja.test(m)?1:0;return k-g||(p<m?-1:p>m?1:0)}),l=a.length>1?Sh(a):"",c=p=>l?p.slice(l.length+1):p,u=[];for(let p of a){u.push(`${c(p)} (${r.get(p)??0}):`);for(let m of n.get(p))"separator"in m?u.push(" --"):m.line?u.push(` ${m.line}${m.context?"-":":"} ${Za(m.content)}`):u.push(` ${Za(m.content)}`)}let f=a.length>1&&u.length>yh?xh(a.map(p=>`${c(p)} (${r.get(p)??0})`)):[],d=[`${o}m ${a.length}f${l?` in ${l}/`:""}:`,...f,"",...u];if(d.length>Hs){let p=d.length-Hs;return[...d.slice(0,Hs),`\u2026 ${p} more lines omitted`]}return d}var Hs,za,yh,bh,kh,_h,wh,Ja,Ga=b(()=>{"use strict";Me();Hs=1e3,za=200,yh=60,bh=190,kh=/^([^\s:]+):(\d+):(.*)$/,_h=/^([^:]+?)-(\d+)-(.*)$/,wh=/^([^\s:]+):(.*)$/,Ja=/(?:^|\/)(?:__tests__|tests?|spec|fixtures?|__mocks__|__snapshots__)\/|\.(?:test|spec)\.[^/]+$/i;ne("smart-grep",vh)});function Ah(e){if(!e.some(c=>Ka.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=Eh.test(u),d=f?c.slice(s):c,p=Th.test(d),m=i&&p?null:Ka.exec(c);if(m){l(),n=0,s=m[1]?.length??0,i=!0,a=!1,t.push(c);continue}if(/^diff --(?:git|cc|combined) /.test(d)&&(a=!0),p&&!a&&!(s>0&&d.trim().length===0)){n+=1,n<=Rh?t.push(c):(r+=1,o=f?u:"");continue}l(),t.push(c)}return l(),t}var Ka,Eh,Th,Rh,Wa=b(()=>{"use strict";Me();Ka=/^(?:([|\\/ ._-]*\*[|\\/* ._-]* ))?commit [0-9a-f]{7,40}\b/,Eh=/^[|\\/* ._-]*$/,Th=/^ {4}/,Rh=2;ne("smart-log",Ah)});var $h,Ch,Oh,Va=b(()=>{"use strict";Me();$h=/^[\s=]+$/,Ch=/^\s*=+\s+(.*?)\s+=+\s*$/,Oh=512;ne("strip-banners",e=>{let t=[];for(let n of e){if($h.test(n))continue;let r=n.length<=Oh?Ch.exec(n):null;t.push(r?r[1]:n)}return t})});function Ih(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}var Ya=b(()=>{"use strict";Me();ne("squeeze-output",Ih)});function Ph(e){return e==="compact"?.6:e==="minimal"?.3:1}function Dh(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}function Mh(e){let t=qa.get(e);if(t)return t;let n=e.strip_lines_matching.map(s=>new RegExp(s)),r={def:e,stripRegexes:n};return qa.set(e,r),r}function cr(e,t,n={}){return Bs(e,t,n).text}function Bs(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=Mh(t),o=e;t.strip_ansi&&(o=Re(o));let i=o.endsWith(`
25
25
  `),a=(i?o.slice(0,-1):o).split(`
26
- `);s.stripRegexes.length&&(a=t.keep_failures?a.filter(d=>Ge.test(d)||!s.stripRegexes.some(m=>m.test(d))):pa(a,s.stripRegexes)),r!=="normal"&&!t.preserve_exact&&(a=sr(a),a=Oa(a)),r==="minimal"&&!t.preserve_exact&&(a=$a(a),(t.slug==="vitest"||t.slug==="npm-test")&&(a=vh(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"&&rr(o))&&(a=xn(a,l)),t.transform){let d=Pa(t.transform);t.transform==="smart-read"?a=xn(a,l,t.slug==="read-tool"):d&&(a=d(a))}let c=t.slug==="read-tool";if(!c){let d=Ps(a);d.some(Boolean)&&(a=a.filter((m,p)=>!d[p]))}t.mask_abs_paths&&(a=_a(a)),t.fold_passing&&(a=ka(a,t.fold_passing_threshold??5)),t.truncate_lines_at&&(a=ga(a,t.truncate_lines_at));let u=null;if(t.max_lines){let d=t.scale_with_level?xh(n.verbosity):1,m=Math.min(t.max_lines,Math.max(Sh,Math.round(t.max_lines*d))),p=c?Ps(a):null,k=p?p.filter(g=>!g).length:a.length;if(k>m){let g=m;if(p){let x=0;for(g=0;g<a.length&&x<m;)p[g]||(x+=1),g+=1}let T=k-m;if(t.keep_failures){let x=a.slice(g),C=x.filter(O=>!Ge.test(O)),E=x.reduce((O,N,F)=>O+(!Ge.test(N)&&!p?.[g+F]?1:0),0);u=C.length>0?C.join(`
27
- `):null,a=[...a.slice(0,g),...E>0?[Nt(E)]:[],...x.filter(O=>Ge.test(O))]}else if(c)u=a.slice(g).join(`
28
- `),a=[...a.slice(0,g),Nt(T)];else{let{kept:x,dropped:C}=ba(a,m);u=C.length>0?C.join(`
29
- `):null,a=x}}}let f=a.join(`
26
+ `);s.stripRegexes.length&&(a=t.keep_failures?a.filter(d=>Ke.test(d)||!s.stripRegexes.some(p=>p.test(d))):ka(a,s.stripRegexes)),r!=="normal"&&!t.preserve_exact&&(a=ar(a),a=Ma(a)),r==="minimal"&&!t.preserve_exact&&(a=Na(a),(t.slug==="vitest"||t.slug==="npm-test")&&(a=Dh(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"&&ir(o))&&(a=vn(a,l)),t.transform){let d=La(t.transform);t.transform==="smart-read"?a=vn(a,l,t.slug==="read-tool"):d&&(a=d(a))}let c=t.slug==="read-tool";if(!c){let d=Ls(a);d.some(Boolean)&&(a=a.filter((p,m)=>!d[m]))}t.mask_abs_paths&&(a=Ea(a)),t.fold_passing&&(a=va(a,t.fold_passing_threshold??5)),t.truncate_lines_at&&(a=wa(a,t.truncate_lines_at));let u=null;if(t.max_lines){let d=t.scale_with_level?Ph(n.verbosity):1,p=Math.min(t.max_lines,Math.max(Nh,Math.round(t.max_lines*d))),m=c?Ls(a):null,k=m?m.filter(g=>!g).length:a.length;if(k>p){let g=p;if(m){let S=0;for(g=0;g<a.length&&S<p;)m[g]||(S+=1),g+=1}let T=k-p;if(t.keep_failures){let S=a.slice(g),C=S.filter(O=>!Ke.test(O)),E=S.reduce((O,P,F)=>O+(!Ke.test(P)&&!m?.[g+F]?1:0),0);u=C.length>0?C.join(`
27
+ `):null,a=[...a.slice(0,g),...E>0?[Mt(E)]:[],...S.filter(O=>Ke.test(O))]}else if(c)u=a.slice(g).join(`
28
+ `),a=[...a.slice(0,g),Mt(T)];else{let{kept:S,dropped:C}=Sa(a,p);u=C.length>0?C.join(`
29
+ `):null,a=S}}}let f=a.join(`
30
30
  `);return i&&f.length>0&&(f+=`
31
- `),f.trim().length===0&&t.on_empty&&(f=t.on_empty),{text:f,droppedTail:u}}var Sh,Za,Fs=b(()=>{"use strict";wn();ha();ya();Os();Is();wa();Dt();or();De();Na();Da();Fa();Ba();za();Ja();Ga();Sh=20;Za=new WeakMap});import{readdir as Th,readFile as Ya,writeFile as $T,mkdir as CT,rename as OT}from"node:fs/promises";import{readdirSync as Rh,statSync as Wa}from"node:fs";import{createHash as Ah}from"node:crypto";import{basename as DT,join as ur}from"node:path";function cr(){return ur(S(),"filters")}function Xa(){return ur(S(),"filters-trust.json")}function Qa(e){return typeof e=="string"&&e.startsWith(qa)}function Ch(e){return Ah("sha256").update(e).digest("hex")}async function Oh(){try{let e=JSON.parse(await Ya(Xa(),"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 Ih(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 Ph(e,t){let n=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},{tests:r,...s}=n,o=Ih(e,r);if("message"in o)return o;let i=ze.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:`${qa}${i.data.slug}`,matchRegex:a},tests:o.tests}}function Nh(e){return e===void 0||e===ar?null:typeof e=="number"&&Number.isInteger(e)?`schema_version ${e} is not supported: this tkr reads schema_version = ${ar}. Update tkr, or write the file for version ${ar}`:`schema_version must be the number ${ar}`}async function Dh(e){try{return(await Th(e)).filter(t=>t.endsWith(".toml")).sort()}catch{return[]}}async function Mh(e={}){let t=e.requireTrust!==!1,n=cr(),r=new Map,s=new Map,o=[],i=await Dh(n);if(i.length===0)return{dir:n,filters:r,tests:s,issues:o};let a=t?await Oh():null;for(let l of i){let c;try{c=await Ya(ur(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!==Ch(c)){o.push({file:l,message:`changed since it was trusted. Review it, then run: tkr filters trust ${l}`});continue}}let u=await Fh(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 Fh(e,t){let n=new Map,r=new Map,s=[],{parse:o}=await Promise.resolve().then(()=>(Cs(),$s)),i;try{i=o(e)}catch(c){return s.push({file:t,message:`not valid TOML (${String(c.message).split(`
32
- `)[0]})`}),{filters:n,tests:r,issues:s}}let a=Nh(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=Ph(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 Lh(){let e=[];for(let t of[Xa(),cr()])try{let n=Wa(t);e.push(`${n.mtimeMs}:${n.size}`)}catch{e.push("-")}try{for(let t of Rh(cr()).filter(n=>n.endsWith(".toml")).sort()){let n=Wa(ur(cr(),t));e.push(`${t}:${n.mtimeMs}:${n.size}`)}}catch{}return e.join("|")}function jh(){let e=Date.now();if(!lr||e-Va>=$h){Va=e;let t=Lh();(!lr||t!==Ka)&&(Ka=t,lr=Mh())}return lr}async function Hh(e){let{filters:t}=await jh();return t.size===0?null:Ot(e,t.values(),null,t)}function el(e){return async(t,n)=>await Hh(t)??e(t,n)}var qa,ar,lr,Ka,Va,$h,Ls=b(()=>{"use strict";fn();Yn();Fs();H();qa="user/",ar=1,lr=null,Ka="",Va=0,$h=1e3});function tl(e){if(!e)return!1;for(let t of Re(e).split(`
33
- `))if(!/^\s*[✓✔√]\s/.test(t)&&Bh.some(n=>n.test(t)))return!0;return!1}var Bh,nl=b(()=>{"use strict";wn();Bh=[/\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 bt(e){let t=e.trim(),n=t.split(/\s+/),r=0;for(;r<n.length;){let a=n[r];if(zh.test(a)){r++;continue}if(Uh.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}function rl(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 Gh(e){let t=rl(e,!1);for(let n=t.length-1;n>=0;n--){let r=t[n].trim();if(r)return r}return e.trim()}function Hs(e){let t=rl(e,!0).map(n=>n.trim()).filter(Boolean);if(t.length===0)return null;for(let n of t.slice(0,-1)){let r=bt(n).split(/\s+/)[0]??"";if(!Jh.has(r))return null}return Gh(t[t.length-1])}function sl(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()}function Bs(e){let t=Zh.exec(e);return t?bt(e.slice(t[0].length)):null}function ol(e){let t=js.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=Hs(n),s=r?bt(r):null,i=[s?Bs(s):null,s,e].filter(a=>!!a);return[...new Set(i)]}var Uh,zh,js,Jh,Zh,il=b(()=>{"use strict";Uh=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),zh=/^[A-Za-z_][A-Za-z0-9_]*=/,js=/^([a-z]+)-tool(?::\s|$)/;Jh=new Set(["cd","export","source","set","unset","mkdir","true",":","pushd","popd","alias","ulimit","umask","echo","printf","sleep","touch","rm","cp","mv","chmod","ln"]);Zh=/^(?: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 Us(e){let t=Buffer.from(e,"utf8");if(t.length<=256)return e;let n=256-Buffer.byteLength(al,"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")+al+t.subarray(s).toString("utf8")}var al,ll=b(()=>{"use strict";al=`
31
+ `),f.trim().length===0&&t.on_empty&&(f=t.on_empty),{text:f,droppedTail:u}}var Nh,qa,Us=b(()=>{"use strict";Sn();_a();xa();Ms();Fs();Ta();Ft();lr();Me();ja();Ha();Ua();Ga();Wa();Va();Ya();Nh=20;qa=new WeakMap});import{readdir as Fh,readFile as tl,writeFile as XT,mkdir as QT,rename as eR}from"node:fs/promises";import{readdirSync as Lh,statSync as Xa}from"node:fs";import{createHash as jh}from"node:crypto";import{basename as sR,join as pr}from"node:path";function dr(){return pr(x(),"filters")}function rl(){return pr(x(),"filters-trust.json")}function sl(e){return typeof e=="string"&&e.startsWith(nl)}function Bh(e){return jh("sha256").update(e).digest("hex")}async function Uh(){try{let e=JSON.parse(await tl(rl(),"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 zh(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 Jh(e,t){let n=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},{tests:r,...s}=n,o=zh(e,r);if("message"in o)return o;let i=Ze.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:`${nl}${i.data.slug}`,matchRegex:a},tests:o.tests}}function Zh(e){return e===void 0||e===ur?null:typeof e=="number"&&Number.isInteger(e)?`schema_version ${e} is not supported: this tkr reads schema_version = ${ur}. Update tkr, or write the file for version ${ur}`:`schema_version must be the number ${ur}`}async function Gh(e){try{return(await Fh(e)).filter(t=>t.endsWith(".toml")).sort()}catch{return[]}}async function Kh(e={}){let t=e.requireTrust!==!1,n=dr(),r=new Map,s=new Map,o=[],i=await Gh(n);if(i.length===0)return{dir:n,filters:r,tests:s,issues:o};let a=t?await Uh():null;for(let l of i){let c;try{c=await tl(pr(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!==Bh(c)){o.push({file:l,message:`changed since it was trusted. Review it, then run: tkr filters trust ${l}`});continue}}let u=await Wh(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 Wh(e,t){let n=new Map,r=new Map,s=[],{parse:o}=await Promise.resolve().then(()=>(Ds(),Ns)),i;try{i=o(e)}catch(c){return s.push({file:t,message:`not valid TOML (${String(c.message).split(`
32
+ `)[0]})`}),{filters:n,tests:r,issues:s}}let a=Zh(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=Jh(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 Vh(){let e=[];for(let t of[rl(),dr()])try{let n=Xa(t);e.push(`${n.mtimeMs}:${n.size}`)}catch{e.push("-")}try{for(let t of Lh(dr()).filter(n=>n.endsWith(".toml")).sort()){let n=Xa(pr(dr(),t));e.push(`${t}:${n.mtimeMs}:${n.size}`)}}catch{}return e.join("|")}function Yh(){let e=Date.now();if(!fr||e-el>=Hh){el=e;let t=Vh();(!fr||t!==Qa)&&(Qa=t,fr=Kh())}return fr}async function qh(e){let{filters:t}=await Yh();return t.size===0?null:Pt(e,t.values(),null,t)}function ol(e){return async(t,n)=>await qh(t)??e(t,n)}var nl,ur,fr,Qa,el,Hh,zs=b(()=>{"use strict";pn();Qn();Us();B();nl="user/",ur=1,fr=null,Qa="",el=0,Hh=1e3});function il(e){if(!e)return!1;for(let t of Re(e).split(`
33
+ `))if(!/^\s*[✓✔√]\s/.test(t)&&Xh.some(n=>n.test(t)))return!0;return!1}var Xh,al=b(()=>{"use strict";Sn();Xh=[/\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 Fe(e){let t=e.trim(),n=t.split(/\s+/),r=0;for(;r<n.length;){let a=n[r];if(eg.test(a)){r++;continue}if(Qh.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}function ll(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 ng(e){let t=ll(e,!1);for(let n=t.length-1;n>=0;n--){let r=t[n].trim();if(r)return r}return e.trim()}function En(e){let t=ll(e,!0).map(n=>n.trim()).filter(Boolean);if(t.length===0)return null;for(let n of t.slice(0,-1)){let r=Fe(n).split(/\s+/)[0]??"";if(!tg.has(r))return null}return ng(t[t.length-1])}function cl(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()}function Zs(e){let t=rg.exec(e);return t?Fe(e.slice(t[0].length)):null}function ul(e){let t=Js.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=En(n),s=r?Fe(r):null,i=[s?Zs(s):null,s,e].filter(a=>!!a);return[...new Set(i)]}var Qh,eg,Js,tg,rg,Gs=b(()=>{"use strict";Qh=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),eg=/^[A-Za-z_][A-Za-z0-9_]*=/,Js=/^([a-z]+)-tool(?::\s|$)/;tg=new Set(["cd","export","source","set","unset","mkdir","true",":","pushd","popd","alias","ulimit","umask","echo","printf","sleep","touch","rm","cp","mv","chmod","ln"]);rg=/^(?: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 Ks(e){let t=Buffer.from(e,"utf8");if(t.length<=256)return e;let n=256-Buffer.byteLength(fl,"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")+fl+t.subarray(s).toString("utf8")}var fl,dl=b(()=>{"use strict";fl=`
34
34
  [YOLO: omitted]
35
- `});function Vh(e,t){if(!t)return e.split(`
35
+ `});function ig(e,t){if(!t)return e.split(`
36
36
  `).map(o=>o.replace(/^[ \t]+|[ \t]+(?=\r?$)/g,"")).join(`
37
37
  `);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!==`
38
38
  `&&(n+=o);return n+(e.endsWith(`
39
39
  `)?`
40
- `:"")}function Yh(e,t){if(/@(?:p)?\d|\r/.test(e))return e;let n=e.endsWith(`
40
+ `:"")}function ag(e,t){if(/@(?:p)?\d|\r/.test(e))return e;let n=e.endsWith(`
41
41
  `)?`
42
42
  `:"",r=(n?e.slice(0,-1):e).split(`
43
- `),s=r.findIndex(g=>Wh.test(g));if(s>=0&&r.slice(0,s).some(g=>g!==""&&!/^Showing \d+ of \d+ (?:open|closed|all) pull requests in \S+$/.test(g)))return e;let o=s>=0?[...r[s].matchAll(/\S+/g)].map(g=>g.index):[],i=[];for(let g=s+1;g<r.length;g+=1){let T=r[g];if(Kh.test(T))continue;if(/…|\.\.\./.test(T))return e;let x;if(s>=0){if(/[^\x20-\x7e]/.test(T))return e;let C=o.map((E,O)=>T.slice(E,o[O+1]));if(C.slice(0,-1).some(E=>E[0]===" "||!E.endsWith(" "))||(x=C.map(E=>E.replace(/ +$/,"")),!/^#\d+$/.test(x[0])||!/^\S+$/.test(x[2])||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(x[3])||!/^\d+(?:s|m|h|d|w|mo|y)$/.test(x[4])))return e}else if(x=T.split(" "),x.length!==5||!/^\d+$/.test(x[0])||!x[1]||!x[2]||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(x[3])||!zs.test(x[4])||!Number.isFinite(Date.parse(x[4])))return e;if(x.some(C=>/[\u0000-\u001f\u007f]/.test(C)))return e;i.push({index:g,cells:x})}if(i.length===0)return e;s>=0&&(r[s]="ID TITLE BRANCH STATE CREATED");for(let g of i)r[g.index]=g.cells.join(" ");let a=r.join(`
44
- `)+n;if(!t)return a;let l=new Map;for(let{cells:g}of i)l.set(g[1],(l.get(g[1])??0)+1);let c=new Map,u=[];for(let[g,T]of l){if(g.length<40||T<3||g.trim().split(/\s+/).length<8)continue;let x=`@${c.size+1}`,C=JSON.stringify(g).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),E=`TITLE ${x} = ${C}`;T*(Buffer.byteLength(g)-Buffer.byteLength(x))<=Buffer.byteLength(E)+1||(c.set(g,x),u.push(E))}let f=new Map;for(let{cells:g}of i){if(c.has(g[1]))continue;let T=/^((?:\S+\s+){4})\S/.exec(g[1])?.[1];T&&T.length>=24&&f.set(T,(f.get(T)??0)+1)}let d=new Map;for(let[g,T]of f){if(T<3)continue;let x=`@p${d.size+1}`,C=`TITLE prefix ${x} = ${JSON.stringify(g).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}`;T*(Buffer.byteLength(g)-Buffer.byteLength(x)-1)<=Buffer.byteLength(C)+1||(d.set(g,x),u.push(C))}let m=i[0].cells[4].slice(10),p=i.length>=3&&zs.test(i[0].cells[4])&&i.every(({cells:g})=>zs.test(g[4])&&g[4].slice(10)===m)&&i.length*m.length>`CREATED suffix = ${JSON.stringify(m)}`.length+1;if(p&&u.push(`CREATED suffix = ${JSON.stringify(m)}`),u.length===0)return a;for(let{index:g,cells:T}of i){let x=c.get(T[1]),C=/^((?:\S+\s+){4})\S/.exec(T[1])?.[1],E=C?d.get(C):void 0;r[g]=T.map((O,N)=>N===1?x??(E?`${E}:${O.slice(C.length)}`:O):N===4&&p?O.slice(0,10):O).join(" ")}let k=[...r,"",...u].join(`
45
- `)+n;return Buffer.byteLength(k)<Buffer.byteLength(a)?k:a}function tg(e){let t=Qh.exec(e[0]??"");if(!t)return e;let n=eg.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 ng(e){let t=e.endsWith(`
43
+ `),s=r.findIndex(g=>sg.test(g));if(s>=0&&r.slice(0,s).some(g=>g!==""&&!/^Showing \d+ of \d+ (?:open|closed|all) pull requests in \S+$/.test(g)))return e;let o=s>=0?[...r[s].matchAll(/\S+/g)].map(g=>g.index):[],i=[];for(let g=s+1;g<r.length;g+=1){let T=r[g];if(og.test(T))continue;if(/…|\.\.\./.test(T))return e;let S;if(s>=0){if(/[^\x20-\x7e]/.test(T))return e;let C=o.map((E,O)=>T.slice(E,o[O+1]));if(C.slice(0,-1).some(E=>E[0]===" "||!E.endsWith(" "))||(S=C.map(E=>E.replace(/ +$/,"")),!/^#\d+$/.test(S[0])||!/^\S+$/.test(S[2])||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(S[3])||!/^\d+(?:s|m|h|d|w|mo|y)$/.test(S[4])))return e}else if(S=T.split(" "),S.length!==5||!/^\d+$/.test(S[0])||!S[1]||!S[2]||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(S[3])||!Ws.test(S[4])||!Number.isFinite(Date.parse(S[4])))return e;if(S.some(C=>/[\u0000-\u001f\u007f]/.test(C)))return e;i.push({index:g,cells:S})}if(i.length===0)return e;s>=0&&(r[s]="ID TITLE BRANCH STATE CREATED");for(let g of i)r[g.index]=g.cells.join(" ");let a=r.join(`
44
+ `)+n;if(!t)return a;let l=new Map;for(let{cells:g}of i)l.set(g[1],(l.get(g[1])??0)+1);let c=new Map,u=[];for(let[g,T]of l){if(g.length<40||T<3||g.trim().split(/\s+/).length<8)continue;let S=`@${c.size+1}`,C=JSON.stringify(g).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),E=`TITLE ${S} = ${C}`;T*(Buffer.byteLength(g)-Buffer.byteLength(S))<=Buffer.byteLength(E)+1||(c.set(g,S),u.push(E))}let f=new Map;for(let{cells:g}of i){if(c.has(g[1]))continue;let T=/^((?:\S+\s+){4})\S/.exec(g[1])?.[1];T&&T.length>=24&&f.set(T,(f.get(T)??0)+1)}let d=new Map;for(let[g,T]of f){if(T<3)continue;let S=`@p${d.size+1}`,C=`TITLE prefix ${S} = ${JSON.stringify(g).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}`;T*(Buffer.byteLength(g)-Buffer.byteLength(S)-1)<=Buffer.byteLength(C)+1||(d.set(g,S),u.push(C))}let p=i[0].cells[4].slice(10),m=i.length>=3&&Ws.test(i[0].cells[4])&&i.every(({cells:g})=>Ws.test(g[4])&&g[4].slice(10)===p)&&i.length*p.length>`CREATED suffix = ${JSON.stringify(p)}`.length+1;if(m&&u.push(`CREATED suffix = ${JSON.stringify(p)}`),u.length===0)return a;for(let{index:g,cells:T}of i){let S=c.get(T[1]),C=/^((?:\S+\s+){4})\S/.exec(T[1])?.[1],E=C?d.get(C):void 0;r[g]=T.map((O,P)=>P===1?S??(E?`${E}:${O.slice(C.length)}`:O):P===4&&m?O.slice(0,10):O).join(" ")}let k=[...r,"",...u].join(`
45
+ `)+n;return Buffer.byteLength(k)<Buffer.byteLength(a)?k:a}function dg(e){let t=ug.exec(e[0]??"");if(!t)return e;let n=fg.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 pg(e){let t=e.endsWith(`
46
46
  `)?`
47
- `:"",n=tg((t?e.slice(0,-1):e).split(`
48
- `)),r=null,s=[];for(let o of n){if(Object.hasOwn(cl,o)){r=cl[o];continue}if(!o.startsWith(" ")){r=null,s.push(o);continue}if(r==="untracked"){s.push(`?? ${o.slice(1)}`);continue}let i=r?Xh.exec(o):null;if(!i)return e;let a=qh[i[1]];s.push(r==="staged"?`${a} ${i[2]}`:` ${a} ${i[2]}`)}return s.join(`
49
- `)+t}function sg(e){let t=e.split(`
50
- `);for(let n=0;n<t.length;n+=1){if(!rg.test(t[n]))continue;let r=n;for(;r>0&&ul.test(t[r-1]);)r-=1;for(let s=r;s<n;s+=1)t[s]=t[s].replace(ul," $1 | $2")}return t.join(`
51
- `)}function ig(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 ag(e){let t=e.endsWith(`
47
+ `:"",n=dg((t?e.slice(0,-1):e).split(`
48
+ `)),r=null,s=[];for(let o of n){if(Object.hasOwn(pl,o)){r=pl[o];continue}if(!o.startsWith(" ")){r=null,s.push(o);continue}if(r==="untracked"){s.push(`?? ${o.slice(1)}`);continue}let i=r?cg.exec(o):null;if(!i)return e;let a=lg[i[1]];s.push(r==="staged"?`${a} ${i[2]}`:` ${a} ${i[2]}`)}return s.join(`
49
+ `)+t}function hg(e){let t=e.split(`
50
+ `);for(let n=0;n<t.length;n+=1){if(!mg.test(t[n]))continue;let r=n;for(;r>0&&ml.test(t[r-1]);)r-=1;for(let s=r;s<n;s+=1)t[s]=t[s].replace(ml," $1 | $2")}return t.join(`
51
+ `)}function yg(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 bg(e){let t=e.endsWith(`
52
52
  `)?`
53
53
  `:"",n=(t?e.slice(0,-1):e).split(`
54
- `),r=[],s=[];for(let c of n)c.startsWith("WARNING:")?r.includes(c)||r.push(c):s.push(c);let o=s.findIndex(c=>fl.test(c));if(o<0)return[...r,...s].join(`
55
- `)+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(dl.test(c)){l.push(c);continue}let u=c.startsWith(" ")||/[^\x20-\x7e]/.test(c)?null:ig(c,a);if(!u)return[...r,...s].join(`
54
+ `),r=[],s=[];for(let c of n)c.startsWith("WARNING:")?r.includes(c)||r.push(c):s.push(c);let o=s.findIndex(c=>hl.test(c));if(o<0)return[...r,...s].join(`
55
+ `)+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(gl.test(c)){l.push(c);continue}let u=c.startsWith(" ")||/[^\x20-\x7e]/.test(c)?null:yg(c,a);if(!u)return[...r,...s].join(`
56
56
  `)+t;l.push(u.join(" "))}return l.join(`
57
- `)+t}function lg(e){let t=e.endsWith(`
57
+ `)+t}function kg(e){let t=e.endsWith(`
58
58
  `)?`
59
59
  `:"",n=(t?e.slice(0,-1):e).split(`
60
- `),r=n.findIndex(i=>fl.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(dl.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(`
61
- `)+t}function Js(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=Vh(e,t==="minimal")}else n==="gh"?r=Yh(e,t==="minimal"):n==="git-status"?r=ng(e):n==="gcloud"?r=ag(e):n==="oc"?r=lg(e):n==="git-diff"?r=sg(e):n==="tofu-plan"&&(r=e.replace(og,"$1 = "));return Buffer.byteLength(r)<Buffer.byteLength(e)?r:e}var Wh,Kh,zs,cl,qh,Xh,Qh,eg,ul,rg,og,fl,dl,ml=b(()=>{"use strict";Wh=/^ID {2,}TITLE {2,}BRANCH {2,}STATE {2,}CREATED *$/,Kh=/^… \([1-9]\d* more lines omitted\)$/,zs=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/;cl={"Changes to be committed:":"staged","Changes not staged for commit:":"unstaged","Untracked files:":"untracked"},qh={modified:"M",deleted:"D","new file":"A",renamed:"R",copied:"C",typechange:"T"},Xh=/^\t(modified|deleted|new file|renamed|copied|typechange):\s+(.+)$/,Qh=/^On branch (\S+)$/,eg=/^Your branch is (?:up to date with '([^']+)'|(ahead|behind)(?: of)? '([^']+)' by (\d+) commits?(?:, and can be fast-forwarded)?)\.$/;ul=/^ (\S.*?) +\| +(\d+(?: [+-]+)?|Bin .*)$/,rg=/^ \d+ files? changed(?:, \d+ insertions?\(\+\))?(?:, \d+ deletions?\(-\))?$/;og=/^( *(?:[~+-] +)?(?:[\w.-]+|"[^"\n]*")) {2,}= /gm,fl=/^[A-Z][A-Z0-9_]*(?: +[A-Z][A-Z0-9_]*)+$/,dl=/^… \(\d+ more lines omitted\)$/});function pl(e){if(Buffer.byteLength(e)<2048||rr(e)||ug.test(e))return e;let t=e.split(`
62
- `),n=[];for(let r=0;r<t.length;){let s=t[r],o=r+1;if(cg.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(`
63
- `)}var cg,ug,hl=b(()=>{"use strict";Dt();cg=/^(?:\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|$)/,ug=/^\[tkr: previous log line repeated \d+ additional times\]$/m});function gl(e){return dg.test(e)}function yl(e){let t=e.endsWith(`
60
+ `),r=n.findIndex(i=>hl.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(gl.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(`
61
+ `)+t}function Vs(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=ig(e,t==="minimal")}else n==="gh"?r=ag(e,t==="minimal"):n==="git-status"?r=pg(e):n==="gcloud"?r=bg(e):n==="oc"?r=kg(e):n==="git-diff"?r=hg(e):n==="tofu-plan"&&(r=e.replace(gg,"$1 = "));return Buffer.byteLength(r)<Buffer.byteLength(e)?r:e}var sg,og,Ws,pl,lg,cg,ug,fg,ml,mg,gg,hl,gl,yl=b(()=>{"use strict";sg=/^ID {2,}TITLE {2,}BRANCH {2,}STATE {2,}CREATED *$/,og=/^… \([1-9]\d* more lines omitted\)$/,Ws=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/;pl={"Changes to be committed:":"staged","Changes not staged for commit:":"unstaged","Untracked files:":"untracked"},lg={modified:"M",deleted:"D","new file":"A",renamed:"R",copied:"C",typechange:"T"},cg=/^\t(modified|deleted|new file|renamed|copied|typechange):\s+(.+)$/,ug=/^On branch (\S+)$/,fg=/^Your branch is (?:up to date with '([^']+)'|(ahead|behind)(?: of)? '([^']+)' by (\d+) commits?(?:, and can be fast-forwarded)?)\.$/;ml=/^ (\S.*?) +\| +(\d+(?: [+-]+)?|Bin .*)$/,mg=/^ \d+ files? changed(?:, \d+ insertions?\(\+\))?(?:, \d+ deletions?\(-\))?$/;gg=/^( *(?:[~+-] +)?(?:[\w.-]+|"[^"\n]*")) {2,}= /gm,hl=/^[A-Z][A-Z0-9_]*(?: +[A-Z][A-Z0-9_]*)+$/,gl=/^… \(\d+ more lines omitted\)$/});function bl(e){if(Buffer.byteLength(e)<2048||ir(e)||wg.test(e))return e;let t=e.split(`
62
+ `),n=[];for(let r=0;r<t.length;){let s=t[r],o=r+1;if(_g.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(`
63
+ `)}var _g,wg,kl=b(()=>{"use strict";Ft();_g=/^(?:\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|$)/,wg=/^\[tkr: previous log line repeated \d+ additional times\]$/m});function _l(e){return Sg.test(e)}function wl(e){let t=e.endsWith(`
64
64
  `),n=(t?e.slice(0,-1):e).split(`
65
- `),r=0;for(let s of n)if(s.trim()!==""){if(!fg.test(s))return null;r+=1}return r<2?null:`tsc: 0 errors, ${r} files${t?`
66
- `:""}`}var fg,dg,bl=b(()=>{"use strict";fg=/^(?:[A-Za-z]:)?[^\s"'<>|]+\.(?:[cm]?[jt]sx?|json)$/,dg=/--(?:listFiles|listFilesOnly|listEmittedFiles|showConfig|explainFiles|traceResolution)(?:\s|=|$)/});function Mt(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 fr(e){return mg.test(e)}function dr(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 Gs(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||yg.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 p=pg.exec(d)??hg.exec(d);if(p){s=-1;let g=p[1].replace(/^file:\/\//,"");fr(g)||(r=dr(n,`${g}:${p[2]}${p[3]?`:${p[3]}`:""}`,r));continue}let k=gg.exec(d);if(k){s=-1,n.push({kind:"code",text:m,num:Number(k[2]),pointed:k[1]===">"});continue}if(bg.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 re(e,t=!1){return{text:e.trim().replace(/\s{2,}/g," "),minor:t}}function kg(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=Mt(e,/^\s*Tests\s+(\d+) failed/),n=[];for(let l of e)/^\s*Test Files\s{2,}\S/.test(l)?n.push(re(l,!0)):/^\s*(?:Tests|Errors|Type Errors)\s{2,}\S/.test(l)&&n.push(re(l));let r=[],s=0,o=[],i=[],a=()=>{if(o.length){let{body:l,loc:c}=Gs(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(g=>g.trim())&&a();let d=u[1],m=/^(\S+) \[ \S+ \]$/.exec(d),p=d.split(" > "),k=m?{file:m[1],name:"(suite)",loc:null,body:[]}:p.length>1?{file:p[0],name:p.slice(1).join(" > "),loc:null,body:[]}:{file:null,name:d,loc:null,body:[]};m||(s+=1),r.push(k),o.push(k);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 _g(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=Mt(e,/^Tests:\s+(\d+) failed/),n=[];for(let u of e)/^Test Suites:\s/.test(u)?n.push(re(u,!0)):(/^Tests:\s/.test(u)||/^Snapshots:\s/.test(u)&&/failed|obsolete/.test(u))&&n.push(re(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}=Gs(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 vl(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}=Gs(i.get(l.name),s);l.body=c,l.loc=u}return o}function wg(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=>re(o.replace(/ \(\S+\)\s*$/,""))),s=vl(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 xg(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=Mt(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=>re(a.replace(/ \([\d.]+m?s\)\s*$/,""))),i=vl(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 Sg(e){if(!e.some(i=>/^test result: /.test(i))||!e.some(i=>/^---- .+ stdout ----$/.test(i)))return null;let t=Mt(e,/^test result: FAILED\. \d+ passed; (\d+) failed/),n=[];for(let i of e)/^test result: FAILED/.test(i)?n.push(re(i.replace(/; finished in [\d.]+m?s\s*$/,""))):/^test result: ok/.test(i)?n.push(re(i.replace(/; finished in [\d.]+m?s\s*$/,""),!0)):/^error(?:\[\w+\])?: /.test(i)&&n.push(re(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 p=/^at\s+(\S+?):(\d+):(\d+)$/.exec(d);p&&!fr(p[1])&&(i.loc=dr(i.body,`${p[1]}:${p[2]}:${p[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 vg(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(re(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(re(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(re(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){fr(u[1])||(a.loc=dr(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}}function _l(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(!fr(f[1])){let d=f[3]?.startsWith("in ")?` ${f[3]}`:"";r=dr(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 wl(e,t){return t.push(re(e.replace(/ in [\d.]+s(?: \([\d:]+\))?$/,""))),(Mt([e],/(\d+) failed/)??0)+(Mt([e],/(\d+) errors?\b/)??0)}function Eg(e){if(!e.some(f=>/^={3,} (?:FAILURES|ERRORS|short test summary info) ={3,}$/.test(f)||kl.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=wl(s,r));continue}if(/^(?:\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)(?:, |\s|$))+(?:in [\d.]+s(?: \([\d:]+\))?)?$/.test(f.trim())){a=wl(f.trim(),r);continue}if(/^!{3,} .+ !{3,}$/.test(f)){r.push(re(f.replace(/^!+ | !+$/g,"")));continue}let m=/^_{3,} (.+?) _{3,}$/.exec(f);if(m&&(s==="FAILURES"||s==="ERRORS")){o=[],t.set(m[1],o);continue}let p=kl.exec(f);if(p&&s!=="FAILURES"&&s!=="ERRORS"){o=null;let k={kind:p[1],id:p[2],msg:p[3]??null,inline:[]};n.push(k),i=k;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("::"),p=m.join("."),k=[p,`ERROR collecting ${f.id}`,`ERROR at setup of ${p}`,`ERROR at teardown of ${p}`].find(C=>C&&t.has(C)&&!l.has(C));k&&l.add(k);let{body:g,loc:T}=_l(k?t.get(k):f.inline,f.msg),x=m.length?m.join("::"):"(collection)";c.push({file:d,name:f.kind==="ERROR"?`${x} [error]`:x,loc:T,body:g})}for(let[f,d]of t){if(l.has(f))continue;let{body:m,loc:p}=_l(d,null);c.push({file:p?p.replace(/:\d+$/,""):null,name:f,loc:p,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}}function Rg(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 Ag(e,t,n){let r=Sl[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&&Rg(o,s.map(d=>d.text).join(`
67
- `)),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(` ${Nt(f)}`),u}function $g(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 Cg(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 Og(e,t){let n=Sl[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:Ag(c,d,t).join(`
68
- `)}}),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 ${$g(o.slice(c,f+1).map(m=>m.f.name))}`:Cg(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(`
65
+ `),r=0;for(let s of n)if(s.trim()!==""){if(!xg.test(s))return null;r+=1}return r<2?null:`tsc: 0 errors, ${r} files${t?`
66
+ `:""}`}var xg,Sg,xl=b(()=>{"use strict";xg=/^(?:[A-Za-z]:)?[^\s"'<>|]+\.(?:[cm]?[jt]sx?|json)$/,Sg=/--(?:listFiles|listFilesOnly|listEmittedFiles|showConfig|explainFiles|traceResolution)(?:\s|=|$)/});function Lt(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 mr(e){return vg.test(e)}function hr(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 Ys(e,t=()=>!1){let n=[],r=null,s=-1,o=!1;for(let f of e){let d=f.trimEnd(),p=d.trim();if(!p||Ag.test(d)||/^─+$/.test(p))continue;if(t(p)){o=!0,n.push({kind:"out",text:p.replace(/\s*─+$/,"")});continue}if(o){n.push({kind:"out",text:p});continue}let m=Eg.exec(d)??Tg.exec(d);if(m){s=-1;let g=m[1].replace(/^file:\/\//,"");mr(g)||(r=hr(n,`${g}:${m[2]}${m[3]?`:${m[3]}`:""}`,r));continue}let k=Rg.exec(d);if(k){s=-1,n.push({kind:"code",text:p,num:Number(k[2]),pointed:k[1]===">"});continue}if($g.test(p)){s=n.length,n.push({kind:"legend",text:p});continue}n.push(s>=0?{kind:"diff",text:d,segment:s}:{kind:"msg",text:p})}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.kind="source",f.text=f.text.replace(/^>\s*/,""));return{body:c,loc:r}}function re(e,t=!1){return{text:e.trim().replace(/\s{2,}/g," "),minor:t}}function Cg(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=Lt(e,/^\s*Tests\s+(\d+) failed/),n=[];for(let l of e)/^\s*Test Files\s{2,}\S/.test(l)?n.push(re(l,!0)):/^\s*(?:Tests|Errors|Type Errors)\s{2,}\S/.test(l)&&n.push(re(l));let r=[],s=0,o=[],i=[],a=()=>{if(o.length){let{body:l,loc:c}=Ys(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(g=>g.trim())&&a();let d=u[1],p=/^(\S+) \[ \S+ \]$/.exec(d),m=d.split(" > "),k=p?{file:p[1],name:"(suite)",loc:null,body:[]}:m.length>1?{file:m[0],name:m.slice(1).join(" > "),loc:null,body:[]}:{file:null,name:d,loc:null,body:[]};p||(s+=1),r.push(k),o.push(k);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 Og(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=Lt(e,/^Tests:\s+(\d+) failed/),n=[];for(let u of e)/^Test Suites:\s/.test(u)?n.push(re(u,!0)):(/^Tests:\s/.test(u)||/^Snapshots:\s/.test(u)&&/failed|obsolete/.test(u))&&n.push(re(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}=Ys(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 Al(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}=Ys(i.get(l.name),s);l.body=c,l.loc=u}return o}function Ig(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=>re(o.replace(/ \(\S+\)\s*$/,""))),s=Al(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 Pg(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=Lt(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=>re(a.replace(/ \([\d.]+m?s\)\s*$/,""))),i=Al(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 Ng(e){if(!e.some(i=>/^test result: /.test(i))||!e.some(i=>/^---- .+ stdout ----$/.test(i)))return null;let t=Lt(e,/^test result: FAILED\. \d+ passed; (\d+) failed/),n=[];for(let i of e)/^test result: FAILED/.test(i)?n.push(re(i.replace(/; finished in [\d.]+m?s\s*$/,""))):/^test result: ok/.test(i)?n.push(re(i.replace(/; finished in [\d.]+m?s\s*$/,""),!0)):/^error(?:\[\w+\])?: /.test(i)&&n.push(re(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 p=/^thread '.+?'(?: \(\d+\))? panicked at (?:'(.*)', )?(\S+?):(\d+):(\d+):?$/.exec(d);if(p){l=!0,i.loc??=`${p[2]}:${p[3]}:${p[4]}`,p[1]&&i.body.push({kind:"msg",text:p[1]});continue}if(!/^note: run with `RUST_BACKTRACE/.test(d)){if(/^stack backtrace:$/.test(d)){c=!0;continue}if(c){let m=/^at\s+(\S+?):(\d+):(\d+)$/.exec(d);m&&!mr(m[1])&&(i.loc=hr(i.body,`${m[1]}:${m[2]}:${m[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 Dg(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(re(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(re(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(re(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){mr(u[1])||(a.loc=hr(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}}function vl(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(mr(f[1]))o>=0&&n.splice(o,1);else{let d=f[3]?.startsWith("in ")?` ${f[3]}`:"";r=hr(n,`${f[1]}:${f[2]}${r===null?"":d}`,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 El(e,t){return t.push(re(e.replace(/ in [\d.]+s(?: \([\d:]+\))?$/,""))),(Lt([e],/(\d+) failed/)??0)+(Lt([e],/(\d+) errors?\b/)??0)}function Mg(e){if(!e.some(f=>/^={3,} (?:FAILURES|ERRORS|short test summary info) ={3,}$/.test(f)||Sl.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=El(s,r));continue}if(/^(?:\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)(?:, |\s|$))+(?:in [\d.]+s(?: \([\d:]+\))?)?$/.test(f.trim())){a=El(f.trim(),r);continue}if(/^!{3,} .+ !{3,}$/.test(f)){r.push(re(f.replace(/^!+ | !+$/g,"")));continue}let p=/^_{3,} (.+?) _{3,}$/.exec(f);if(p&&(s==="FAILURES"||s==="ERRORS")){o=[],t.set(p[1],o);continue}let m=Sl.exec(f);if(m&&s!=="FAILURES"&&s!=="ERRORS"){o=null;let k={kind:m[1],id:m[2],msg:m[3]??null,inline:[]};n.push(k),i=k;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,...p]=f.id.split("::"),m=p.join("."),k=[m,`ERROR collecting ${f.id}`,`ERROR at setup of ${m}`,`ERROR at teardown of ${m}`].find(C=>C&&t.has(C)&&!l.has(C));k&&l.add(k);let{body:g,loc:T}=vl(k?t.get(k):f.inline,f.msg),S=p.length?p.join("::"):"(collection)";c.push({file:d,name:f.kind==="ERROR"?`${S} [error]`:S,loc:T,body:g,exact:!0})}for(let[f,d]of t){if(l.has(f))continue;let{body:p,loc:m}=vl(d,null);c.push({file:m?m.replace(/:\d+$/,""):null,name:f,loc:m,body:p,exact:!0})}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}}function jg(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 Hg(e,t,n){let r=Rl[n],s=e.body.filter(p=>p.kind==="msg");if(!t)return[...e.body.filter(p=>p.kind==="source"),...s.slice(0,1)].map(p=>` ${p.text}`);let o=e.body.filter(p=>p.kind==="diff"),i=r.trimDiff&&jg(o,s.map(p=>p.text).join(`
67
+ `)),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:0,source:1/0,out:r.out},u=r.changedOnly&&o.length>Fg,f=[];for(let p of e.body){if((p.kind==="diff"||p.kind==="legend")&&i)continue;if(p.kind==="diff"&&u&&!/^[-+]/.test(p.text.trim())){l.diff+=1;continue}let m=p.kind==="legend"?"diff":p.kind;if(a[m]>=c[m]&&p.kind!=="legend"){l[m]+=1;continue}p.kind!=="legend"&&(a[m]+=1),f.push(p.kind==="frame"?` at ${p.text}`:` ${p.text}`)}let d=l.msg+l.diff+(n==="normal"?l.frame+l.out:0);return d>0&&f.push(` ${Mt(d)}`),f}function Bg(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 Ug(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 zg(e,t){let n=Rl[t],r=new Map,s=e.failures.length>n.bulk,o=e.failures.map(c=>{let u=c.body.find(p=>p.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:Hg(c,d,t).join(`
68
+ `)}}),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 p=o[f+1];if(p.full||p.f.loc!==null||p.f.file!==u.f.file||p.body!==u.body)break;f+=1}i.push(f>c?`\xD7 ${Bg(o.slice(c,f+1).map(p=>p.f.name))}`:Ug(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(`
69
69
  `)}
70
- `}function El(e,t="normal"){let n=Re(e).split(`
71
- `).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 Tg){let s=r(n);if(!(!s||s.failures.length===0))return s.counted===0||s.reported!==null&&s.counted<s.reported?null:Og(s,t)}return null}var xl,Sl,mg,pg,hg,gg,yg,bg,kl,Tg,Tl=b(()=>{"use strict";wn();Os();xl=/^(?:(?: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|$)/,Sl={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}},mg=/node_modules|^node:|^internal\/|site-packages|dist-packages|\/lib\/python\d|\/rustc\/|\.cargo\/registry|\.rustup\/|\/go\/src\/|\/go\/pkg\/mod\/|\/libexec\/src\/|<anonymous>/,pg=/^\s*at\s+(?:.*?\()?((?:file:\/\/)?[^\s()]+?):(\d+)(?::(\d+))?\)?\s*$/,hg=/^\s*❯\s+(?:\S+\s+)?([^\s]+?):(\d+)(?::(\d+))?\s*$/,gg=/^\s*(>)?\s*(\d+)\s*\|/,yg=/^\s*\|\s*[\^~]+\s*$/,bg=/^(?:- Expected|\+ Received|- Snapshot|\+ expected - actual|\+ actual - expected|- expected \+ actual)(?:\s+[-+]\s*\d+)?$/;kl=/^(FAILED|ERROR) (\S+?\.py(?:::\S+)?)(?: - (.*))?$/;Tg=[Sg,vg,Eg,_g,kg,wg,xg]});function Rl(){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(Sn&&Sn.sealed===e)return Sn;let t=null;try{t=hs.parse(JSON.parse(qn(e,Ig)))}catch{t=null}return Sn={sealed:e,bundle:t},Sn}function Ft(){let e=Rl();if(!e?.bundle)return null;if(e.runtime===void 0){let t=Date.now();try{e.runtime=ys(e.bundle,{signedAt:t,fetchedAt:t})}catch{e.runtime=null}}return e.runtime}function Ng(){let e=Rl();return e?.bundle?(e.keys??=new Set(e.bundle.filters.map(t=>le(t.slug))),e.keys):null}function Lt(e,t=!1){if(t||!e||e.length===0){let n=Ng();return n?new Set(n):null}return new Set(e.map(n=>Pg.test(n)?n:le(n)))}var Ig,Pg,Sn,jt=b(()=>{"use strict";ps();Je();yn();Ig="tokmizer-default-rules-v1",Pg=/^[0-9a-f]{16}$/,Sn=null});function Zs(e){Al=e}async function Dg(e,t){let n=await da();if(n.size>0)return Ot(e,n.values(),t,n);let r=Ft();return r?r.selectFor(e,"free",t?[...t]:void 0):null}function Hg(e,t,n){let r=ir(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 Re(e);if(n!=="compact"&&n!=="minimal")return r;let s=r.endsWith(`
70
+ `}function $l(e,t="normal"){let n=Re(e).split(`
71
+ `).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 Lg){let s=r(n);if(!(!s||s.failures.length===0))return s.counted===0||s.reported!==null&&s.counted<s.reported?null:zg(s,t)}return null}var Tl,Rl,vg,Eg,Tg,Rg,Ag,$g,Sl,Fg,Lg,Cl=b(()=>{"use strict";Sn();Ms();Tl=/^(?:(?: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|$)/,Rl={normal:{msg:40,diff:60,frames:6,out:20,bulk:50,repeats:10,trimDiff:!1,changedOnly:!1},compact:{msg:12,diff:24,frames:2,out:5,bulk:20,repeats:2,trimDiff:!0,changedOnly:!1},minimal:{msg:6,diff:8,frames:0,out:0,bulk:10,repeats:1,trimDiff:!0,changedOnly:!0}},vg=/node_modules|^node:|^internal\/|site-packages|dist-packages|\/lib\/python\d|\/rustc\/|\.cargo\/registry|\.rustup\/|\/go\/src\/|\/go\/pkg\/mod\/|\/libexec\/src\/|<anonymous>/,Eg=/^\s*at\s+(?:.*?\()?((?:file:\/\/)?[^\s()]+?):(\d+)(?::(\d+))?\)?\s*$/,Tg=/^\s*❯\s+(?:\S+\s+)?([^\s]+?):(\d+)(?::(\d+))?\s*$/,Rg=/^\s*(>)?\s*(\d+)\s*\|/,Ag=/^\s*\|\s*[\^~]+\s*$/,$g=/^(?:- Expected|\+ Received|- Snapshot|\+ expected - actual|\+ actual - expected|- expected \+ actual)(?:\s+[-+]\s*\d+)?$/;Sl=/^(FAILED|ERROR) (\S+?\.py(?:::\S+)?)(?: - (.*))?$/;Fg=12,Lg=[Ng,Dg,Mg,Og,Cg,Ig,Pg]});function Ol(){let e="iu-y6wuW4ql84mgBoEvRx54wgM4BPCQfl6pTRGREsnD11OJ8qCM4nSp_ZAS1D2K1qrZsfVK8eg4UHr1hJuXpPpf6av0dA4RA3PVyRtYxvb0UQ0-A8y56qk5FMcJdRVZv5laYbDG61J6Iktnri4BarD_6QoajwANgcXhKFQBxGauGGjNKCZRnBcbraIMFefEKkfdb4inm6XQlddzgDj6cvAjxsZW-mS2x_t5RRII55xaAuCTwhkoLrixIaZ_FReiXV_vt6d9JaaKKj3C8J_DiOse7TdReWDZ-gXTlJQ7DOVzdYlD4iIEvFoVWj0ekBO3OsCpoUB4mRPh03XnCm76uleKztWKujpYw9M_b2JRsVjs09_1UBFQBEWFNyrvtEOS1ObGeTjqp3EyDdXS0d0OTCRL_408D3pn7Xsfe63vWyjbFuBtrhrzbVUVk8viwFl8gBbFFAcXZrI5KTnj393w4aNxHg_xXH1LBxmfM0dh0EgExXkEx7kh8v6qZ-VKe_WWzwaQk2qiLTwXfmOY_h899_UhKAGl9dMNbnhHzDEIi_Pctk-DxLPwBoCQ457_d-m5FBd7Uy5iGGc5gFRVg6SbOWujHcG3SKN_g8y5V93IOVU2XI5ssXZ1erQOhDvn9SBFlfFIPSitUIuEv1WvVoFqlK-NKBQM3LM7SyXnrJliPiTATR-Bbfb2GB-rXy8CbhNMy42kjqFEAL0yayX4SIe8VLjQUJm9rImG3ywXDeJMceFUWjcJzyjBIypDI-Mw181EQXi4pb_qHp5SXtaKZLFMT5EE6rsU_N455FpWo_8KJziU1FHdP-SjNzsz6uvyQ0cMPzQt3iVaLgZNu-IUeun2bj7c-ZRtjrAhcZvxnIwdleoWxDX1muoIkEnjI-7SBv6FR3kCBl8OJVm8Nu4SmxJro0Vpw5EnaaLxOAVRiwYthTLm_c6maiVygUNh8TtSWHWBKcDlPMMNEKLl0-Yso60QkptJhHUEf7fH5k31iZw9SQW23Tcl7lDYvtcp2cho51u3lCZXatSFDaFd0Ssgwh38GLnZeaUM0F7M9_O8cpL_o8W5u5W6ugt2ZpPNTtxTlYfXfFKlFJOMnjSrGvDVFsRX_-QMncRtLqK0Xrenu60_8WsIMu2-mHTSf8ED90cSFH9U9cxyfIRQQGU9LlrMmxYxx7JcVylCv6upqLxsL51VgR1mY11eZGNOugyFZsbQTF_yhQRvmfcEb1WqTQq_9-o-HwNFRGDyM5jXQIT-k95s4uGVl5QIRXKySt9rKEzupsI5Kj8HvMAbLHcKm8YdmJbEQv7LXXBmKcrV3iauRSJkBXmTJvZg9ymq5r4QAi_4A5onBtdvJmgUKiDrVf46S1lCQpLWzFzWlWbQU5oPcmPAcJIwO-C89--SEXin5RtqMt-WXktao9bmnOlG9x_6Mr5-kZ35ik9IUWTl3XNcQuQkGJaWmnX9dXlm32gNr9r1o50mUF1Q6c1rnWtzOBY_Kx3-ffy6tlyDrWqrAkUrAXXQ_Ad5J-yI2vCSLoW3zNio-UUO9e8v3SYjlqQupQuK9-kxFgKWoNm_thOUShAsler0mkHzdl8cFvtVIk6GQwZbLtgxnsJhMGNZzC15bpdisVXtV810AxPySL1nic4YW8vAzf3ELVR89cZWeEKkGV7K3tcn8JVtwW2tgySrjfSwINGoEsit8KRvE55RTqvCtO9LE6mGcG6e4Xit2FUyYOcZ_S274mb8R9VN2ZdQrgNG050yRrm0gmf2LRwrJIGeaea5SYD2ts2EvMwQcal3uWCLPUjsqCmeZJbQ7oLgAqgU7tLxQG93zAglfIWgpgEPEakAsqkGd-LQ3JVS5dBJnOmk4pJYbMlIhqXwzI-kzHWFFj5rGxlxqSvgKoFXx_GGZE9EGzsqjdOf4JpAb9KUQO0HmBy2HSpaF8QBs1y5enoNrXMIL-TiWiJRwN96Bn2mpJjXBqtc_QS2R32zyuXPm-CEZrelWEnctoZx13ZW6Fur2NUM0gJyxYuVBnJjPhI-m_UKzLdSceWZAGoQFVwZKce3ZzfV5Ug_epxZOZ2fTGBJnxKvqxRO5SE5VxEOTJKATu6USmQ9eriSNRSVN0pF_mZJBNI3QZTSMpy2_lmLscC9tvJE_7tIXr-juwAkqcu1hv3CwBK7cZ_nSLUdZCBDCfccneaJD2BmLYahQmxqrbE81zace4NWHp9qZHvJzZ727tvjySBQeSnJ88bAJa7QxdUn-CNWLy0_FPs4dRUJN93NMDSX-KI6Kx8uiQ8C9ceLdxGLEpooWlSiTFRExBaCOGgGqb6wILiLzKU75bpAvkQhgIkC32kLqhQdWCUzHJ19Bse0nRON_lovmL_ZsOzkR-njZ36oqXfpUTNxYbm9PN-jMMBU1Whuq-NCnonBFL69Vfcqj3SVmKyMcagNnqvPt_Gzsx8Bpk5cN-UUGMOL7E4ZgYTKjGnPrpGb17BL6Vw1jiu3pvSbdAfAUVGGHkLOVnsQpyBLCZgtCkrAmA82SdkkC-F-jwI3pbhXSuY8wS-J0DTNGl-K4VISuCak4PDSWEZLU5Pq02W3uAjMrVbZhM_5s_RAzqhkjMziqTUbkLTNq2IQ1DLPqPDKTKNg4KovzzEwCI2zqHQ3kiYqObjjNxtmuYSSgOMOz8z_kd9UZKbqhu7ftDaClBtZ6D-eyXheFLdWel3M9koBe4rGoFM1yWdTf6ZTxT11h3k6VWLdPRZoLpqe4s4f5_vPxUuiqX3gl72Vz__BDkQfy-djhjH2v8vDrg212FoplXrDhr3EZQnFDyD8ADbBDEA7dDei221ATzZCh8dfdY7na8jnaRXMyfd5ZR8q9xPODmEvO_3USmrA2azzjRtFxUsY3oqYV59kacmI6idg2hj2qDZIHmIEOAiy-s7UhG2i6k4U9Q-bJMy8JoZ4PCgCRz4VT9HjY-C9gh8h3_hb1sNbssxR2uJBeOrDD5vLZY9dVtI_xjvKSYH1FD-i8e7Vx-7B92WrweW_ZtXE9dik9540i-KWMrBxgXuMdKwfLXSHLu1Eg9LikgvCEnXNGSoHBya_szqjYgRllpCbaPbJdeHsLw0tl7eEJdUoAZV-ARisSWf0IMQ2x-V-49BPZmbOTCVHQnoslfoCVWufd2xddYrMCCqQ7S9Z2rjnayl_LDGsd0_YZ4TM3mI90SitqYGRhx56KGGlFTGaxYNUkJr-TTvb0ysB-gxLiRob9xJ5OLtBM-25aNHrzbOL1PJZqjsrhfR55VQ79bWqimlKoPd_o5Bs20-Rc4iYZnLam5Yo0M2b-7z3Nu2qxf9i7U9mNOrk2lB1LFYcqOYeh3_WxsbYJ_TkgRVbDel4T0Jn89YveGK-LVpQQCiyrYIce8njl99hx55axas_M95TRHo4BaZfGhFaamaEAh_9Y-msRCqxT5GcbLm9LCq3-hFXUuGOGVRLNEqZ-rdsFEuPFbu_MeELwDUrp7BOA5xtApPSLZO1TTeFCO3p1Wkp3wAYeHJB-U6a7EJQQNP2mtMEpkNzOGW0iTQhj5968Lj-bpBXT78rSJCcnLdpxtJBz-eYdPeUrFFR1vPhR8tcF2BjATAfpOwLVG1YZR2L6pPelicaSuqte_-fucJ4Y-cJIpTwC3Hcm2ZMOa_JBkYQmsrj9HCgEZCHC51ggjW0UwUIb1Qr4xRsHPwcp8apvL8pYr3hNaso6_flrXx_aiN7eds31a_m0Qh5R1cpi11j-70Pyn2TSDhgYATmjx6THhuuwxJB6zTLleNkXVYV0PIjCnjvh6lQqNffQhMBku9azPI5QmX2L09lOuEI9nfGtcS019jQZb6AUF_gaYunEN3FvdwP8um0y9h_2YyKK42QMEmTln_1hfVSexEoSb5SPUyHsKf3x5A2ifzCnT5CP9eHy8BXFEmNg7uk1aRlc6JFK6-xHIHiggNZwJBuWQZGZ6vnLUF3EmvfLex9qeCJQc7dyxrtKKrmQs2iF6G4MiuaqLh9qT21ezv83gvIC-SoTMrHz-IHc4tEpVqTe2UU3JEl-SDfcPWKuYQ7OY0Tmohz-A8r-IheGPPgncxmaecMnUCSCroxvZ5rghr8RUl1tYZmRzM_CthHKKbLTmlbnVcN2sWiEOOKlsELR_a37Edv9ZZS8lcrTT-qj8iUON3Lr3FjEo3PLf5gpiWtQXCAnBrtL2BBJJHGEGEHMefjku3VXzK7Y98IRfB5TCeZAJeXkGKc-fBZJcZ9qlW90QGIz1HmGmrwACOytZmzce2LWXAv7LotfJXQoZSqawMjbt_oOeQLw91acfo9KQfX8vj9vjskWugw4gF5XdZTDvgzauIEwUFYh3zd47yMKOk77m33QtSm2ffpWJ7FHZJVnGFFWVEnOUMlXfiYxBoEAweUOqpFNGw0-XH6Dnxw-NbuZZ8gEXN3TYrrod2gdABdq0C41cw7m2--2B0-Al4YN20tVa1Z3VOvN_tUIqP5vIRKlCgC_6dV-__--CyDUXe2D0TIQzeH1aOxchVmbWNQz3pxvSlDQQb2Aq2ohFgz-pQbHawxee2KA1lTMLAo4NtyjmWFY1CSX5cO_zjeBH2UMkc9soMW4PqthyDZ-cfISsS0zDsuH-7ng3Hc8SZ9YETxHVuPQlOIjh72FUG2-2xzSPE9VHJbpv5pQk6tyMo5YLns2BBjT0BPwl0GQ7gUsYj-_H-aQ3MS7flzZr-wCFUZmQBKFaOh_D5s-yOU9W_QnXVB05n8nC5zNLr2KokxTqOX2iDnbwyKw50MDQwGSeISUi2MtwTuPTYcAMVjNG_yA-dhIqNO4VmhVek1M_2Pj7ei8TrP--sJDYVo3wzONsi8zVW0MrqQeQ7ebZH-3Z_0ttOx944GDnJWN5UoipmwE7mpRu7UBwvUfz158Vh7wbktfAHGFFZngWK1QepjtlUDrclntpqVqQ0YcZzU8-kB13orkp5VimmuOp38WQQVJgQirkwQcE80x6cDZSV9biUWKRjxz32Co44D8eqiLgvcsr5UUUWyhMoNs3fhGkofVsKDMuguCP2d_JTaAbzAamk4HUN0GdzXDGDRwlS-YdCDMkPbQ-jk10cOcck8hDRZwp1mprZ0KqzvXAdmzu5VyPMkmMjspbo9R6shxbWrzrioKsDfO7_0FvptTg6751XYXRSoWAFJbEefjw02FvQ3FFHlLAHxrJIDWuGCH5ArM4qs73ja4EJwN6p4X6_LzqzIXU1oxRcFGETIz8_FumGumcDBgEGWFI7K1zjsEsYehwwNxZVF8X2z_DcR34yNMROLbW7gLf8e_Ce0s4C4xqicDmoK-JtqKHPMRspt_838WHQFEmrBL4k6O1gr7IZoa5z2XgSm5uxRWIPVZ1zbXMhdfOtgxCWfPL3mqPVb-mgErVyrLqPeqoci7v2qX1Gg-6gbVdm4xk38BVPtz0blHajq8ovUZsVQpPnH0jxRUeCfQEZ5dhP5yoaV8UNZZOtWS9iFkmj_2I27z1ohBpXjw_2XuIfUN-ZMHoY_tzt1vWcqJNu3A3EPcYh-YPf5J6n5Q5AypftM14fwXSK7u2Las2-8VQmjOkywrx7mcVU0MkwOGBfTQVfvRiGZeOOexTVuCrj2K27a3r7xPb4nyfCe_ZLXPFScZiUjPe0bGfAHbpXqStpl-JPPyhrp4hTwa01i9t1RF3aVhAQt_8gztoyo9Lv6nfcbK8jHSf4xLmt2p1CHAL2q31LYiyTmXftF7W1WVZp9pfjFgF79FjRPX8ChKlF4ueVSAali9PwVAjHfYQLCC3N5OKGz-6e0Re_0_V_WTszC1VI2vgjDhb7UPmRJNfIbQCiAMiONd0wYVkXD2FAyLDtwN5KmqAY8rA_KccCItQYU-l5DWh2b1K2ZlB8AZY_Zxryy3AEEffh7l-y8cPiSJOwc-mAI9fAjfuc2qeg2W02EcaurggcT-EL5eGvZaLJrbBa90tMHGm59HiZeMnTEiSd0_7i3Kf0zr-1wptnOGYogvGGtZjxjzzOcI2qUjnDQ4yRiYbr3A-TA1YYuWjubQMFdGN3dO9Oo7Oe5DWKS5351rJb77OXcyUK74RrQ_6RPCfZCmFhjoAoIxrGevH-SsaRLtcLB3HL0nAEmv-3g4BnYk_v8rPLUVQvLZpaOZMgjnY3ud5b2TvY_X3QMEHAz1QWDooC1b5UQrRWcoevRboR5DiCXyfltxOh7uIN7Bwzd5mRT2b09dcNi0zvl-pv9aJh21i0j-0FM5gTOeHRaXgNAs7aKAjCFKsBKrK90Iyxz2mP6-YXKrNIiB6m4uEW8kaIV5WmPUkDUDYNCG10PjQC3u6kCPKruBr9fBpSf_K6UPC4FJCmaQelkIPUu6VqDY6CYN5Op1RNO0KAJ1PHG3Q0XKgqdlU7x_N_ml4erS2mCxhA3gXCsuU9PEod9GBgfHSs_GJZahJ5iGxMZud7AJGVHBDGwwduveAIUdMsKgt6zKKgqXEp48SiOcq9NH2b4swXA87z2am3cUvYPrLdYp4MAUjjZZiUtKTolG7-MPuy2yeqxC7nOYN26BloLeqiwqfQhXWSU3oxlqAzd9-zsE2F0JvWarSdi1F7dF1J82s7FDQ9rkqbphlY8Mg3evIJ40KyfcbQlO6k382evifSWSi0b5F8C9QVLqtyWhGURZQm48A98zItVoK23yzZnmdmSFJDwjGV-zb3ELKX6AX360JCEr9Pqhr1ge_svTEuG2OIkSg5tkXsjxIXcK6rTaBItwO60onbXw5rxYsOW5P4F1CuhVra0xPrZkNehgs7O7Ge2tndpcw6m6YuA4omYvqOCnthoGzxkPLA-E8P02CSUTKO0MjbWpVyPv4QlAudCwfW8wS_fDN-Vrl5zEzcdszcPsxi_rGbYkPOJn_OttceqHkQO5rpsR9g0geY3sfoCW_mCJpeaa21nBryiHJ_VNzQgF-7UQq8sFmVLQbew0Cyk7kDFPdxtmNQf81P9tWluv8jbUEqYDhEQbq4G6W5U_Xr3S9w6DJcz1rlQZB8jxnifzIm3zazP-A7i22oQ1doCGSiEzlM6cuCrpr3_8KbxHnDBpzY7zbUxTyHyIZa6TCfZoIeO7M4c0wU1mfKB7cynCKQCIp1JXPxcNumIopMEH2Do_7Cf6kFJZhb2kH4nzbYBis2pEgtRHFSa8T83OkiEmDghwCxTY4pCsh907ZQRiWirWxua55kvW_-GrR7mNtlt9CKdImreD7XrUb32BXVwvmEJoABIO5NBdhk4YHgXUqThxbpXCB0EeaEpLnUXBBp3QbGIvnZjug8yOc39ewunJlHOHqEuean58cXMjfl0veqWTiaMnOoMBlScEe-6OvB2Q11i2nHoCmBZSzcVCtoaunBgvXsmPtahA3zgvgFLSkR2Wj1LJFWRtdVrhWJfq7fwq82k0A0zPQ7ODs_0zYnbg4JIOKSD0-WvMac1IrymvbhoLT1MYG6UfdfzzaZtnDu7732HMkpVqFBamrzgLS97-YWhml4LbBuajd5uHQoEv7z7lXa5guWz3oRx-OErRlGorX278V6h_OmHOXDwyB-1B5aG8FlMPGG7pKC2A5_W9gqgy5Z7Jc-drrR-AXjn8ZW_aaEvDEycjBGONp1-V-Zhtq9uuyYCMMJXfVENGY56E6luo3mMF2E0A1ynkAasdF19pdccqKYCW9WbhuiZoct34PQm4pKCbf01qqXE9niOkr9zI6djcgx9RsGjhu0VjzulscKJ0cryXxpRNgHmXA3cHsbdkFwoWy_NVZbDJsotGpu5cnW4g8QQIj62yEwfhR1eXcYxYbC0R0sw2Jrl7nnUhRflVVpWmeLjOI4CcLGWBYEfolKojV9wWSB9O4ZhfqJ71jZQP9q3IYnsfy-quPJ5XXZvA27T1JIa4OAqKGQk3v1y9wPe2c8rkRVxgNFUuNAtJ7NWvFdsWuPoLb3y9De8omDARMl4KUrowiUuQGpJ8veoKpta2Dp0sUjsQrdQKJ0Z7G_TJCVhyl11xhraYG_URRV2WPxqYYajx6X-D9uEv75oIrJvfF_UKuJKyJ05o87EXhSpGlWyXvcFa26smrsHpms4ZZnL5Lq1PCjVAoJDx96c5Q-juPNvvdJx8i3gDmqngVQefMXa8taF92q00z9YUSFhCgO9N3y-C_QNVMwZ-tCovDbRfOm5a2P4Hkhct4H-uZ0iuo-824fKfKYB5OaPksQInairGUiH2JZboehc8KV614-lCLrxWWoUFU4zcrOlByfqmMrsoSfO5I06v2lPPNgM2g-t_Wr94AfrT5IjfBAIES-NZf_vhKZefm0aKdEhgSAnYCAAmWR6yKWtC0xsejHbbfsJzMpWktPbvlnGg7KOuZ5SSbydRyYzbIFUAOa8H6oMTMw35WVGVkcgnAN8Hb_MDavZYZGF_HLQOtWRC2j8dcmdUXqyIEI0JalIfIIyHQ1bdXMC8TcFgjscGq38XOWSBTG8p6jM9CS3h9YcnqEtZBfEKEgJHSVrBSd4_UAihI89TUjW3Fnfkg0WPEQDjztiyiFPM7491ggl4rXdfGIFCcUdSXMpg2RgGid-YPDW9WAXgcvXyLu0A7fRfF8-TZ3AX5omyr85F3Y_8ix7V25-vniyqDU-Njpkc7Sqvms5gwWBBqkcnVz3F6vKpzfh76p_h33FzgneIEdyiSak8wwa2vhZPnA2kXob-waJrElYf_jtRoHQrMnMQR0ehHHJ26l44mW3eElY3XcpiSU9gwwbSotETKX2AzYPCzwHNi-xVY-OnlgXsS10VtAca7XeNx69wqTuirTrVkjg_7uI3kRaeu98u4ZRFw_cochqM6JImgU8NoKd3OUbPLeBRiwFWEX9ETEyOTlMOT40ztRU1AxqukOcgdxiwwhwGe-DqhLOgmEsL1PsJypRsisib1uw0ogMP-kIKq4aPryeLQ5hqRo1MDBaXvoL_qI7EZrnj6CphlTYNiflhOBWAasFgLROljS7c212OutTrC2rSEIX1BB-FobG3pA6e010meTLLx9e7JcNNvx3yneqBhNAEf36BX9GwrUJxzBafKVBdui8Pu8jS1zlOX6CLXfLCHo3i7-1lqe9BhSeh6qxPoDd1V_ma2pMoHKlQauiBKPLFXmfCy4LPgnS9XW8zQCw5-WH30lHacxNavKMArcfSA5KvDh0_mct4NA1_UGoh_C0YQu9hrQCf1QblR8fq9z9G5p4eUr1rCAvLll-zpI7JmO2QWUXVtMF5a5FWcUhSBkHUvjl28dbpuSx-EodSy1cOHt04v1Cy6ryIo7yKZNpVbsnN3FHgQcbGF9EM81m-kxYbLL5a3c8kot1TMHx3vUM_ar2Iaqvt_wnTZNXNj3OID5jFtwKcNHRwB3FXsRgRydxXajYlSeMK6jP3EZIhgkBZGc_PRUfrNCPMoJbU_ZsGCJkiRGvDiDTyfQ1eCPeAUJchL84iYsfVvXptnBeWhPKtnmTS078WGV6NSDAoo-EWnVUvXoImRsclBIStC-t4HHwdgRh-eZC8nTyH4AKSuDbLCyMhk7zH2gGvYwv3qVh_fStvODO1dNy8UvOkmcuJgu-f6xWVBxp5YYYvn8485vj-fv1bZFWr3lQbpBAwqFcAlrvY9keu-Rl_6Pr3VTN7gKUmQPGBKBkZcE1uy03gjjruAx4n7FbT0J0bNZ_M9xxwxAvBeoZGc6u21c0PKTpkTKCa9kA0ym2EL3sLIdguYJFMBhDPGSgka9mhtjAMFB-uCbx7uGF6kZ2j5zrCfHuUypbXVid3rG-TDRwFLejNd4_BdFNOmLnFwI5F31_oRcBQrLZeQOftUMqX5Cwmom-U2Q68_Sy47Ao_mhLlpzkQNiNgJ8jOKPBEnVtTnis9BJyPfZVRzJdAJUPTSn9KlKxaYFdD1J6fmcc358D1_nDcDozUyuWeKugEHOorIxatUvRadCv4_oMkIKPO40UsIg4JSyrHFuIDzLrHhHtUPproZv9Z3Peo20V6ukPRSOtwa8VByIrciZza6c7UNoTf77tl2Q3HE4awnkyCZQGA6opVCSleDVpyqdSneje_eUAoVgsLkXKFi_Efex0x3IR_YPI7mv7A7HFy3OgxkxBWU3p0Z9WbvFaIZZvmLITTaxqIwjpLsRTUz78-Vs-ZCd_j1BQrA9A8aBPhLs0BJozcRVBkgmcP2JihqVZK6h8ZSW3YPx-N3WBrjD0R8TKjvr41ynEwNo4hK75D2ib_-aNCEsEIGJ8bmmp6XyOACyx5oMudYiC-fLoP_m1-aHQ76yItBW5rnk235BgZRVh_0trlxxN5_-mSnbV-0cWjzGzxqMlH6jQoF84dCNBaEek8Hv9QLUNSE9YUnXIbfpEhVAsneZSdeXhacrpX3J5lrm0guL_Rmf5r1rn_GdDYyvp3pI5WBIA25ZfQNa5mBFaXKWay4txIs7m6rqwExPF0WEaiJt3CKtbYs9LmI11uIvE-6pqJP-BHPNJHoDvTmTHnboj-3GBltXeKtpWs8HrFO-HBb5F3ToItbcKcCLOZdynfXj1D1NrDL42HtQFb5yY1Yl_1UKfzmnVcDKXNvsEdbLeQZ2Bv3XA1ngkc7Io8C29aCMw5oy41HkmH_XrCMW3tLqj-aqKNpn_coIHYsdFFNMJtnY3p83yHbByBXUF8NhJgxHvkVQ0AqG1Kl2LsJdeVFo-Zh0lK1O44QWJEourimHfPTXAMq0c-RlFWNGyLmTWouRDvVtWdXVLGm4I6m7ni6AzDqGtxHYciRcIdA0I7PA7kFkkEx4SyCODzgQXFJ-kbkTZxvGU7vM9hMXY26bkwBy8QzDw0O95yYxWU6f_2imR05qQ-x73tjgqJQ8V1P-PfhH0zKFsLfEPUWxKPf5qk3wup3HJXwYT0laJyF__1j0x8SSgTwPKcuA5aERoTCfCGXuYDkaYwQA323ejh6q-yly_4-TTIscqiy9qC5-nH_uOTZhylXDf9tlZnKD7dohzl7DI1K0AOtOVcwwTmPZUVBl32WrOEtKb1BMv-jo6Jo-gW6MF3kUCymfHxPVHJWnU0ovutqkbguIfdLTpbIyUzJVbXdhEPENS22-nulhyc7pUvynCSOOlKu6S4IXnmqt11Appf1vVmXXZKJUK6v09k3sbtY37ueMNjOvzrHHYt0hWErMWSQ6bBcjwR0eYhYRX1tC7NtvvHjcVtzMCpcYFleWDkdPYGLlVFhjvqqNxZjUEXuhHM22NKMiXA4qwFX1KeBwIDa7kit8byWZuwQ8tjq_a4CFOOvE9M1Vz1pnbga3B6rbgU-eFJtqa7JNysrNanjXlL_spk456C3kcXryCOo8KQXNl89FVkUBO1o26G_3ntlnPEzQYriH-r3n1t1KPIxxuH217lp-wcznIQDqBwUrkXKylfDH40E7iROWxjYx_VA2Bifu-2qxaNUcftmMol6RcuAvuPQ-V2PAuOYWsHkHYBVxDLUSTmavwNWs_cF1thWe32dxst06VaDPoSGynxvdLVwian0as3xtrvcQ0SfWloohvVoNlyN4x7eDDOWT5Uciwq3XfGs6AnHHVsGOUC9gfaJMzptZr218RtOucehS-REUegeIZqRmoLF1_-PBCckH079U1svE0XwafRQDaXzw-SMyUKRl4iO6wFJjFD84SDXMq9PX3VDZ6tH-BpE2iyMrz9TqT_R4COyW8ai-0DIkIP0NjMBzyi8vzRu1AolsZFyMIk3pRsp5kQKx9G6OJanqw2WW4qGBXmQOJDfRS2h_xG7UjZnjXlaNL3DtbknLup43qeNPjQnw1bvK6oi6i5ExBoXqtDAZ_JVJ_6SVBtGXUWjFsKygCbr83LD_FnN9Xy-tnd4Fdzyu7GOTECSVq9ywKM-d6fHjwbHKAR1l5vbMYJh1NRxPyvwxYC50EQsyiSixkEdobqGU2-bcx-0xcpKP_kHrm5-QBNhORdF2lNK2bvpKkX9L3GOrHjR4mgO-7EM3HxRN26RHMPvzPhK18GMmJKkAAUjOs4xoX2ucC2Mtswg104zvYn8UlnW5sPiOJZUn59sg4ThnYtFnB6q-Aw1YlfSPDWY_Bw0mT27M3nICWfdskT74iEfuME-0Jyv3qKVxX7mOu7q3qmYCxPLUq-Pk1C5B5ziK0LzD0iWctYzJRNl-RB5pDv8AX3MN0ObaoUokBzs2i683hYG1Wbs2tXJFgs4LwrjBt9RMpHLORhcZudXWujIoSC4vfT6EqPUJhjd-OXjgv-MYecrn9b6np1UshgCdLld1RFOB_AVyKmRM1bQjvjrllDwv5RJLBhyNu2w3tp66UlIjzxoR2lT6_P7vrX5TMbvd5DRKU7zS3WBCySQb8nBN6dqLR2Cm7duq9D_rTmcC3JotDVDx0fJioN_vXtOlsGY8Zy--lT66qQi0ywA4PImLApqrQFfMBrm9l9IyWZ7tO79-ZurQ2P-v9vZGOpp5-99qKWl3pBIHtMqAkDjhTBdQbnSTQpM-tO7ujAtU0R93f4Dd3IGFQC38mkgBBeNs46ZTxA2Ehw6p-EUIIIwIvsYbe76sPEWlkduxW1TmxoFrPSxU-yOUtu5lSEA_4fWj8dusrJmY3NQIvp3Zo3mlWLnE5zjwui_yGhXWwu3X4ClXyiQhfqNCu1jBcB_ec_yAGY0HTHQbgLo864kHrI4e7f5taHMWiPrOoNVMeASkBeyfThLF3Op6WVAP4AvnucmrTYHupyP9XADbGs5wbEbUhFaaz7KVdrSrHGbJ5sKYJUxmsmLksIR9FhMM6J1S5n5grXITK_T3xj_b6xjZMiWXmIk79Mr_oOmx3sJs9_X9iITIbCCk97BMLklXpvv-HW0FQ6owOpvp81yKH4eHp_xl7dYA7P1iCQFpAHEGapjUh1cvtgMUc3fY_-R5TPdYwyFZsYYjBxwz6NvNr82Q7MH7Qe9wQtdoIEUsgd6Q8De2_lfM_CMUbI0FB2w_FvIcZJfpP1P7gN4SvMwmbWcec22TGDg4fECyzqdgiXMKhEPNRn29qODZ9uaIF1Ay7RxHayyKA9Dgoni93pfsxTor6bEwSCTerL5RXVEqPWn0C033RkL4Iuf06ZcyEY9wzzmkolyPOoZouSMsPzre2XFcMJRmtINkzIdqmzMSRMqwJvsEc52fy53E6uttM_Ryseah7UtFeGwV2Y1nw68cfEbdI0PBEcvwlYw8fzHNUK1BkSdhyn_sdOBnx5uq1IqXHeB4MqCElR9FOZyk3eaVqDwy3nAtCg5JBxDPcOZNUc2w2rGYXjDBW6ekjyDmlFdIFZo4ovXu2JeRaS1Ka3U3_afDqHUSg6Gh-nB2rM6UJpkIjin7wkp-ZK8cX1cuE88VhW32FFC_lYElu8rxNA7iEbAu6tN6W3wWn16abt0n4lcGaDWPN-jE-jz1dzUiN8Bo9aXgnxfC3MN22XIy5A0CeHKDfAtF4V8Li5CKE7lrB__7s14LmzBxGjz_U2JFuyOIvBaC-lFzPVAfOLLYOzHhyh2bPXh_S88-100Fqnc0y14a6a9NVjdRu3dBG17dykrbyE5wBcQtVMjau5dCllAPVm7f3Rwa5XvNm24Np57ct42CYRkVWtBFSIWv6ii3MqGrHR_-8crOSrJGEda670PG207AUhChtwvCoS_ofNHOnx6iXeJjwtVVDMNzuH82b_BqX5UEnYQQdnTsZLCxQR9RK1RR2lqw2Hofq6NYoSdQhVOxTYXr79M5cZrY9L_7z_fYaniv8PT7L4eJzRZNIG29SvLHiI6xbEv40jkuqJEnFGaWUUR_ov4A0u6K52Nm5mxwPwoyRb6BBBOg6UOVo2vJtG4bpSlNxgnI0DNzjVauISqNVUzhJsaJwoT3IvsawLpq9jUI40XCG_w6xPV4qkLNbhZpb40f_UU9MbPw2RYsZT4JAL2gwgz2hxFrW0g3FPteJdvVnfk5RNQEgu4aHSKl-2iLldFUgnSlVNOF0AjZojCZbXOQTiJmAlAKMmaPChZL_aH9309FahsqdTA3SGpIau_zDoa4-d5YSiDYIeBbAL716T5MWAYaEyQiZ61NLXTtFqdnpxwYEd6A-x2s3CfYrF9a-6ucEixgZp1YEh76XgjevC_IGaj5HpejVRfNfPZoB7FkI6hhPgnsYbI6yV1w5H85NNoeQDPY95EKCcH7VB9od64wAyMYfwdTI-LxP5AeISgomFZMPW9ksMunegV4kgR1IrY6aw91fzM5xweEOxZZVJT4lmCHI_vZ3gHZBGoMDeHxkwKVXdjytlI47r3ha8qeyh2-OMZAZKrmYUYNbdbuVuMGIVsKjhqqj2_Jke-ZarpAc76Xk4oP459X_jutC3-bZRdt87St5B1vF79QMMSwn7q3YnUL7dmHJ08FPqw6JVYos2iETcUz_mmEBjHFoD_rJfnRVy-dUVvgEeQbDRwtXIn3KhLoYkbJsA3pzIHVno60M377hjC4YqCQP4JgTNogLvj1nAJ0ecDLzjj3-BAhzgrZZKZ9icElOdIBV6-NoQH4yXX6J5cxpqnyuHeZLobS2QUdxN7mt1FdTC_lg8vAv9Tib2QD2b4zZz72gL5d36uKP76SeB8JjRelEL51Opvf3zr-ibS014kYfND0n95KwcyUlrFXnqULP2fA54Ab0CcYxB_BmjCCRFDEbY0s2SoiwmN7S-X4uM-OHZ1nuLwm02o-VXn1hwiw2KGVjRot5BKr79A-0mQ807jw8-Xmq0XsPNQSL5S8oLLki4l1T2A3em9WPqyiSKBrlmmaBH9SPXl8WPKNCMdL6jd3G_mG39OsuH_A7JCJJPXI5kBlG_XhlNN8KpmRLptFiK1lcu-E5w5ISQOofwcykBE8yB-LVd2P_NjLk5wnY-jZrOLZcloqJ-yuYKMN4kX4ImoxqGKVd6ruSqK04-WVX-VucaGXHH5uYl6KuHqFh7PTstJNtyz6VivVSPTgYv9gpmF8jnobb-jtibPvHN2OIOh2n0dYrTiwMT6wxrKsblvfULNcRb-HN8kVjd2FzZTIjDWgxWJG1CRh-zpXQMBZjtFMn8vXkv8hg8heUNkloLwZbvcU-Gq5pmss7_aagwoStdm3yN0A2T1qiyDoZwY0gxqs_-x9fEV5MsOSF9DA7thvyCmOUsbZyYmZfrb77lOf8eNIpgSpCfzfSC58rwHxgunsXG59OPtP1L40wQvxWoowRcBjXej1xcQJIin2dkBk2oRf6Ggkzo2oPOZeUsq74qRcNidm6tXtxbJbZfZIwD7CdpYQNjT3tv0St3v9l5BBSvdi-EVled172yy2m_R0jARFPO5O60uTQmim59Znrm7YDEUrRoL4k1S05NudJtXmQdCvrJ-ougvGe28bvpaanH2ip_uQIcU7sSlg_hD8NAlBIc9tlrCqZt5aeKSeMmOi_LqM-sP1KxOMDSgKZH8Uz4B1gLIzIja1o3jWedVRHfAWWxyZvt0glmmSVxB54vhajetluGbAAqo-9_k0VuGJxzpba4Cv887OAOhOt95vIOE8kIKFL4yFwViQpt1cpOLhFELaQUW9St_IOIwLq0LyuDPcEiqodRRoG8oi2rPdYRZWDx95pdWzy25dFItb2QFmLy1XE0-cMYaCIwVx9TixZ8ESIaM2RT7weW7x3NSGMCkZ4hs7ffnMTikR5htifM1E2dz_NHD8cmY-X7aM93JOFgjdW2ksHVxI7pjTj9BUOpAwyYJ9E415WYdRgMcRctHmB53H_wv-PBBBCqlYkXdhLj1_Eq_z4rcoll6kMm2hWCL-rVuyoCOsyLtYKQm6VLuUptQjv0mxs6SskXb2JtN86IM1A142ubEmktxTkkrH4-r2OD1qyFWo_BVFxafeL5OzMn1FrkF-FSYcJQKPOiiUqGEUTvDZdug70WRRxEZ13s8nMqRhMwAegvjphdDBYty73CeuGmdL0FzPR7LTslxvN3IlIEzn4exi73GkdC8NOxgYxYfLbSsPW3og_0hbaTOcePxNtmK_CyjGuste8h4Hv87xp1-35KC3xm-NMZw1gzKxrELgFRA_t7cIwrpHDotO2p-lZAGg8U7MQyCHj3bEvWhkDPWgFNVCgHsZMCFTpo8R-SAf_DZJkr0dMmQIM3FIa9IVzsTLs9HdD6Tr2l-jqzrjQtTCE5qZtRmgsfxi8fchEcatS2x2qA25no6dP5IDUWm48D2XVOtAXhrUtEnnEk0eWxZpU3feXJbYFjAB5hzxaGtsN_DlZBXl3FfSDZ3XZuDLLunj202VN3Je4sGypKY8DG8TYd25t0JNjCNbRmZZC0xVq1GHxn49_g5Aj312WTZdwis72UA0RkRQday3eYe_I7YnuHw-Y7jr7gPT5iAvb4C-P7rlkAQ7zgqOVGo6Q8xs5OIzcbaGWZNIUEIaU4M-8Xle_eT9cMHotpbvl0ZPfW4yTtkvjMwlSHF7ZLUd8W-DCBvw38gkdXeZ-NQNh5wOZRIotXS5B6lF8oD5_FEDkY1bgc1XlSLGV6fxhZcGY9tXVrjazQNsMbGVjGxXVTnz_ALLNzrbv-fZYCZWCsiTdfB3xvdcHWNUOnsTaGq_F-z-_pxbrzfCdm5Pp9k1-ulGnNFGWKlGzlPve0d2tHv3a0RfYHIOCfA9iBUepRhDjwDNW4tOQANzrxWRMxELJlPqKR3lDiCeIHzx4gSzQw7htienhQHvYqVVLQ4HaKaGmS7Q0l7RDj6DY3EXqh0pPI9WnONOebnzoVZwIK0C97mQRSltv0_0TICKrcVX32YqkVoos58G2MKkKqp1pW53-vw4K8cT3yaVlmAIFI532ZNUzOCAn34rhirGxiUNhvVrfQ-aEpgdgJgseqwx3pdp6OiSpvlv_j0jx0zF4ijhAOnZsvJkuf0U9h188uD6eRayX6tDlse0LmlpbU-bUkIvn2Jn2jXAWZRZshrbN-fr0kSvuVW-EiPJ6nMvUBbRPixAOIhvjxSofEV6aE03Ve8HnoMvdvLPLlzN-qqiZstoYyZ7fRrW6QYYEoy9tKdxNBuqy4vIivljMIWGrOUEkL0fBDgLE5OWTjW4lYha7R-loWLQCiLbidzTdS1_joH7jKc7srkwgdu9TvcJlnMRwQuh8akwVXiozhglLuGAQV85_zN6QwyQd69hjvjQjjZQGPrD6zko3rAqGAB4lK64gV6qXSLklA1mWfaoaKH0KqriJhbppu6q3O6pi0UUp9GnSGKhFQMrppRZ6BjP4vSNmUs2Ai9ObWD0pnmIPpoNVh1efG0mfKKdiDiQ68JTtP4DXZD6AUVaoEli3qEMjWM_lOvxyYbfGQZZrKfFtyFtIPh7aNbmBafjO3SddmxzYo7fIxIialSytEM70_DjjzbW2X6GThtjdyNARTQr9MGVT4jz2EccpafeVaa4TPHq6Un3YqbwLm0wTuDI77bWKzQ3HAMQ1t0Nr8prxpO_u3Q_i1TA3WTIvj4utL7JSzfcK6uksO3IYPOLBXisbkFOL98XR0X9v-ykVMxNFjmRV-TmHl1btkuYFoqXLTwGVtVuwVqova_RONjNTPJaPXyO5_iEJS7ooNKtTweKO284wt5APO4AX8CdgQMHd8WNk_9jJO6zTRc8kDIkANNaDtucZho3qDLI4EQ6U9s-cY8M8SBRUOOvCQSdZWlhRhyM-H2KuwT-ic681XGHApZ0QVTkKuOs8WabiVG3eiLDCytdLkBGgG5uOJzHSN4bnMUw_kHGfqHNTxswzls7HTrDeNGXz7weKW3Qk4IYzn7Bcp8albcEWlRajKUkltPRIGHrL9FyCnp9t2xDdOIsTNoMylXI63k0-hkBj-NYWSrOej3xgI2iyOTShBOGyonaQ31evMGN4MAQqB8CvDKckUM6MK6RlZMt36uR-5n-8ccxF4QXUpuQ3o5tfYTr3sykt2K4znjLMIIogcK2CSijeFLdW6oUFlzhNs5EROWTGD2dk0IoJOOC9h95HtE4cUps3MbgUily7Hh_z7pfbjd784PuruR3Hyz7mSVOatNSXCFK2aOrwX_ZpS7N79aoqrC691zgilRbwUeF2XeR02BU_QjHV66YuPnA0_EkFZTj0WpDQ8IjpxWUSx1iTNBw6z_NANAKuDvqsrVH3U6DMCOX_IwH8cVMVZVtp9ofjpnMrnCHekb0iOb60BTNpJNKblj4peuNXL24FNSWRmOmFoS5gJUmOjXj2xWsSv9GoQ49bg_SfqCrNPie7_bOaixmbfSp11jUX8Pl10632kLeaVwmZ0Ku-9rnzDg3r_YdtiD5EWi7J2X3HtS9_1ZWjD_8QDeIFfExCbK0oQ_TQ0kCR4YEFU0VuC2hOreyouDCoHxgaPV5MI6DyIusTUHvxlnYTq93ThQkau11MrlzXqL7t3o1X0WqZy15d7fMjwz3ZOaZ65i-scnpV5niNwCVbtaujckNR3F1gTTIgaNBmx-IkDZqwybFIOjK8so3FVk4uPjgBcpoOmCF73_yB8dYSscK3bSioVjBbPJzYgaNsm6G8tRcSCQM1nzFuRRGdVMSapLu_Zicz-c0oaAq9Cihxu6TGwQ7moRMArRp3a7oa0vJBmBFo6bsTHmrsrG83KTA5Cs1iucCUHqnYbHFnREv2INbPpRs12wQGsPQI6P3KAN475pejQZUbAlJmffnDVUB2Rt-rv5_vD7WkPdNZ6PRtWqkJOkQVNNDu0tYY6CERQul-umTje-matI4yrdBma6kPcanrm-t-fWXlagRjziPE2idryFzzrRTTRg5wGUk0PJ-h7GV8_PoSy4Kghul_ev4gWiQnOiwEmQTzwJ7RDqUJv2G_LxI0W6Wop5wKdlmKxSFRmYfL-7SNhU7pmPTM180o1kl-qqrf6CRoa77zbhu1mHtD4QP8qLtQWFG6ull5OebTdfatc_tY8RmRuWJJ8YCiNBRIqlVh3CVnTT8pM4D13si9zDfpswPzGVyCWi9mGN11wfaihNJS726XtfJLlHZdxaGCCQBmcz6sttBYeK0Q2wWU_GtGb2PrMxydp-xVfNQpS2Y8-9nO_CoOi86Wb6zfvdGfFiB_QdjueditzALniYsT0_wxnmNtIprznQGpvCwl2hNmpqoNBbBCSW_ro6y9qf23PnOWTjMAf02XacUn0T3U_dyj0NQK8OXDrA5BjsVXjdef2OrjFSeVveyzNtpFH4IUwAm5k6wgBFOR0LzyIYl5Iq7FihPuLlUSSOFFimsySDi54OI8VAQUNXzqlFwiOjpz3jlyW2CRVPfD2fZZDuMrsjjuO3SDjAHYowULbFV3sIXBqSvO4Ssdjnik4esFZnTqu2oql8D0npzbTDR4lMjjo_mPk2GVd7yfZOd7NyyP-nwUzGRVY8pmsCxfN1grT9JHTqhEQyUfHJNKuEJm7RuRUOq1H84dn6h6Mu91xYfr5JlZAELA6nWT_aNTLKfo0uXE0W_U6nafpgqzGTMW1KZLOnXvJcpiNxVfCCpFkQh7Ws_DgoDOfD7v3pKRBlB6Lq5REazWcBejU4QrFxmhWxWZglI8ErWehLLRE0WaQUuidEjjCAh8zmKXXdP8lt95Qtr_sJci9IJOZN7-1gf5lhtoniVJJsf9NeXkWBooRsQf-tzJ1h5Ux91jOuMisyM9Wi5xR5nx6-q_eapb65m2bxoSFrjjpGvUE6B5gwh37PxcEwx_H6E08-DzCC7KAW-1nivRTa_j3qU1Jh4KjY8HbyhMRzbYTRh3aV1vTzPKoEnO23YMqz-Jt_POYe3guW7AckbXpkyvbdb1psjdjqPtHyK9eteddAvYH4EfzNuSrNy6lzHYnwMOIWHVz0bM8xKlc5iMuEGgrLUDgCFshFAIWGDaNT_BJiDN3wttu5d8D-dM4b6VKhBBNnBtNJ8fQ_hlCNW2ix7Q-ikARNtobS6I4bouY0uAsCuRXGJWnpeI5zMcmtkWcFIxpP3NgFW3KVQg-AvXF6_oSBQRzOrQEOphCXqTmVT3kmQcV2V_KF_LPGp-HcbL9pUF-KxtqUtHa305JaR60zOePlcE09VEp7mYEblnprSba6yZ1UFU1xjUMAkvAKIKlwJtjm8u_Kprz4nRucDbJYfrEr6guBqNgu8toL3UZVXoznGVkLyXQ_Gpewbn9ldoY99qipuY-FfrYoojPk8cwXihfGQc8qWX0V1nKANzgYqk2h8TutKK0DVoPc3AqbJut5zcGH9dIlXB8IHlla0RGmp1PzIeA3XeCVMLvKsL2G2_AszgmoQDaortV8Nkg4jZkXw1pYwHKIzr9tqNLao-WVSbtUmTEM28jFzJXbLeLvIWJhsmq9alXR69osXZ_WO_5t5w2EYKXYpi0wR5k7HGt9tcgofB0nwL3l_KBPdWs9jj2SGQPSu2jYnZXAa89Cl4Vq2-nl5-I2H2vceTZLfVAywNh2Mh6Vq-t0ChEQ6hh5c8rLr2vQbqdjlra7udCjquAlQSEtzWuRanYEiAZfBpWXTEgvYx9-vj05ME8JcWza0Tk5veGYWiXW8OnfdOP17_O9JSWmwRjumEem-I0p9Y7aTDHwJHJVW7XDSkUIg54jcZq5S5R3kI_upY5EMvtNaJCM-XvNGS7F5jukcGpSXHa1uzU0887aeQ0PnF9RZWiYcV02P1USMjh1tESUdBd5NsHnqgTS0ttKcf5ABXcbTwpEt7i8az-a3JU8iccigQ9lJRCYSCov1pUHN3B4DU5fZ8yTyUphZYwYJPgcUiOq8YiFLyYHwe1IQBFIB01VX52uE6ceHXoBBNEfUnCszg4UPf2dxNAE8MnF0nNyLwIXR9Zyk3bIxeKYQk0mG7DxyemsLKwkJ_AI7jttGN9J23_aFRduhQf0d5Gtn8lRRhewwmJai8JTQvtgW4YWUtpY45QEvFQ3GYSb5V-cPppiOLcqd7LBoL0ryFw8syyd_JPYWaWfBuSjwu0uIzjmU3z6VpBWsx_XFuOgYve5TZgOGQcZ8kGlgKCm8uA0ok_Nv8rvCHhAdxehWapu6x4oIX63VlUlhyMtzcPFaPgRKi9COdXC5Gzxp8uQnwPkhnvSCKpQB5IFoTN95IuV9WLShA-rYi5_H0pLQlX7DELsjsnIUGjmW_tVtmpKczFXcHWYqNtyQzxIZW3I-_xpPmxKXc6Ky9e6ybl14RgHdKLPJOEbICfXke9MYi3qRmuLPyEp6IL84X1inhWwIuY_tg3NZwtB4-a3k0BB3KEN4zlbGgTyiF2dCxAFg3cyluwpw6nm-d8DQjxmdRB2hKBHSeyw-4e7lfMJ1flWZfQ4_fMLpuec2451yXjUkZZk1pytqcvrST7IYPXKZozactr_V8K9M17U7fJ9gWi3lr8y17ErEDcNlJntm-8EV7dWPeT-28T4-Yk4GzMHJ4WkqXJTvlZH5YjuvW9CiBbmN1RUVckAJqJ1e5qzFPBGSDx05R4Voddk5GBtLoC3qGST9SF7UPfFbmqh0yeIXyC63_uRQDykeMIuZamGlc8d20ZqAHcC1RI8zfQVLZwf5Mh2McEiEHqN6ol3uEOSCDaA8L6wIyacMJk3Y_ZH_y4PtYhTdMhO9i83iE0jJN6vVkTtsg_dZEdPsYYHjG8SWwJ7faqpCfG1xVnDLSph6q5CUzBc92cBHdq64mte3b1M6Q7WEjbI_FWOCHDbhXodvq1triFgBzcEMibXoM4GiMeOzDJA-vSqlalq2wiDg2DRlH9N0_OtkfF-zVR8qkaHnXLxw51ly-97QoqEyWNy3nQzjr_VowXD4FaAY_WGfYUqw5GlGq3SbgxpC-2WLEYHS74kU-XT-7DABjLiWmcluCTBjnwqlqT1OrZjzZAOb_jO-HJ9vTSe0JV6Q0ujn7hFf8XSybNZsQOooyfrtp2SkfcGmnHVtV8zEJkAf0-WQgYSLzNAr_MNP-fh4Zcrv5n7u5WGYnIxR0lJAmt-Oihx3ZiN1kKPrZMGGfs1RCHSEb42N7xuvE0YQRiFyTLdSwMp3YE04QB8jjX0rLFaRxgCifbwDVH4CRgqyki3fys-cY88LFYSWEearW5mG91hq30Uevt4WG6RU1VffhVQx5SmWdGEpbJawK_e63va6KvtGvtQocBdgmXqDBey5zzwi9rWEBtHDmTaehN9QiQjMa8JW1BLkDJC1uBmVVCaATd4JmyIeqkEj_p_ZNDtZ79yEUn-AMV1tYkOAnCCjfZ0JybM63ehM8GDvpVT5JmVpxcY9ygCGR8olcgoeRRQJj76teUMr3GK1_fgeIO511dTqh44bamcc5Hn_DCd-MDb7KQbyp1Fmt6ojAB8ipDNmSn1DCY2V6A2EeiDQkkf049B8arPRBE5Fl8jjs1MRoRhkHM_uTya2dY7McmGQaBv6JLCveANfhLHMZvn3cXCM6hZjYDMcF7Hl9hQVRbeKYpRpvDHc-ogrUkAM-oZRdSGA10T_v9-bdHBnZ5EiP8PxwSkVyqtmp3DutoObmpSYa9aCQhXAxsY6BAC4uJpF_RLmKqVy8zBubnitA9tbmXAhHdRYvDgjKTvZR3QWYbd0ENrwsWeIredr_OoEFZo8grsiyseKPyn_c_rITLA0gfaDckd_jXmWrTPOn5v8cydmF8GEUCW171Qxof5YQXtfx8PcwgtNTJ4lTWKNv-pYbcHiA6oigIa-TcTSsm-z4lLJPpQ5yw6blh03id26PaOkJ1dyUa4sXDt2jXlVJ2r2U9Y5AYGVYm8QELqyLW5uc_V7qc_xhJqmVoEW3cCMfEAkpei-OBhGGV5ixdrbOvWHBrg2DyxRlmfLds85-aWQOYKxUFsDhoIjxZqr4XYRcrnCJBKuCMk2U6opjEdGFIqQuYlCBkDZsEmH4od961euZr8f0Zh5Ai5OqNy3g7HNFoUe1Cx2Z6cT9mEX2lbRsOu8psk90UgXYDiudixLEezpMb6CRIkNNp4eQi3wHrTBNBh_bTMR74On4SK6uw3AVdISJbcDR9_UBsTFGKsSQ2WugCB3PYjfY31iuccWUsJcNM1GXGcMWFlTPJgGCTxnIcaC2c0Mxle5pjoKSZRgRlyxj3ARdtaWuAx8wNwx9D2FjZB_Lz2xfDgV40SAemoq57BMBlA2qSoZ6DttxFktzaqqhR3hNzU0gJ2uKbEfXV00Vqdire6SipXnAJtN6MHMpv8Y-t4BO7dZcYJQDVPMuJS1VyasM3Zm6T0T2Jrn-HHmHca79muw0CQX47orjtKTpuLPH7eRawgV7TzXb4PZhYiDfvpv-7NpUFQl_Amh8JXHZjrFZqQmZ0M2M0W5nVPHV9NwvGnP4obTvr9al9w_HTJphpW4LW-w_OEp1KcNX_qMqt0hwAjP4PVKNnGnY9zNh3dhaaESY5TZ5rjZwfPp_AWZGELL-G3PKJWUL8IDNH7npKK1edA0y39bzEe7LYlH--llftYG9jBDngRMhgoWo4fZdHlxxJBDeIdXZh2zuiRobAL2PMHmF29joC_8bvFv97uR019UuMthJO33k3UZIcaNHAxmcseLms9PaMqZj5fNzy3AkfHsrx0QEBV5wEKgIRXMhRK45K_441Fm42hCT9YyFT43Z63bzy1FdXhiJDgK6etaky-6N1P91P2h5B3MeWBac5phDVnG9J1xvjgyfxu_NVOyuGb9S4o4SMg7TR4qQEh7jLAQOZN2INSpgExlEynqAqMXlwRsSLtbQr59KetmPMgepZ3TAeiJx_3uuYkaSOPSEXWD0Hv-xkhDjqIWbdgUV86YONFxO_4oXcmUh0apneYvgiYl63iSVvHhve8uF_k6pJVYCv6CkIermPz9nIwGHl15hEqpEIoPOtmDkgYiouRZfr6XqtzdOC_-SoUn57Z4ASg8zWu7j3JABUbnelHA5ehegGazRQhw0J9Vrvw-yADvcRvJ__LZZ3Ua6JjM9Jrw1TCRpvoAEq_mUyytyh-2HTJMsLHqGNwX3N9jnoC3P7blXuCQqQWrQ4_P519yyXjPOAwvcze995BcKMNqk2G8Kao_6UwKUk3FC0mpOBoyhxJyooMneam2AnnV1zH5YwMrE-Tmlbn4MD4fI1baCQW8CerhFxvA7rMIOsEpflCnAqQbbCD_IdIhcToATfDdlFeEjR-JAy9LwUVQBunQuVVG5qqJ0fcZhMIipIrQgjTPLw8ZQtwp3WKjwMd4L4pPY-qIjliw_KuOJFQaocHy-CI2RpBYF9eOeXdVgZA2xWsVI31JAU3jNNPw7IdIi0dexuLYr3ztYKnYvSjAPWfTuWeq70Rp4LoSOZFoMQa2mYJP8DvkJ_UXUQH_Vu8eSd_Aly0H2FYCDIjvOgKFzBfKz125gcxUXDCicSadBG9blyUt0xr00TX61eTHskei1oQmmmfz0XYjUDsuTt5mzcG-F2ys4_ktVuMSz41lC6tIEEXAM1rwpJoEmbwZmiDPCqyAqCP6jIx2VPZDrpEvm5fBzxOoqgDTsaHIXti_Iv-oTWCqY8WZSwgG21tRJq-SP4b1K1iInjRTy8WuxLbUIfygbd_foCapsS2Ao-F9fFISvV_MGFOaKiGbR0sdm6fhDOoZAbAQz-fbUlxyrmZtfwkeHEA0jjfFKoVmvFjQpooAqHAcJ3B8Ml6yDCjumToIqL8UAEPwoM__Jd0ZXTdSwOqlmXTldOMbOjSGK6Mdoa8-NLsbSwbloxpAG7V0yOmN-zzqmguGz80q_uvenntDXJ_LbFzZj8_8Q7P48uApwq-Hkg7zu-ovaLf0vEgCMmyUwm0cPqRHi8aWkJWw0di7R4gXWw37x3ZEr0Vi1uPdw1cV5LVf6FhzvZQmDFIAyBdUBdR8p94GPVbTSBd5jqRNLoIA8GaebHZlLSU6mHaeu3H43FRDgJulNvIbIVETb8JyyFT0El8Jyq5Vut0eHyI3Vhyq2egNPfG_YgiPFZYLP_Tvc5dqWcxsSxECVoOMlMy91GVODnpkRCfWO7w_hsjRd_w9HEq3K4A-gbAmn4PhL-pCTDH8lIb_XuBxpc5r8MRdHfYaSDWrOO2nT4X1WckrQrkOa_0rZfEotXe-MWNFsUtWVv-a1getzB2YgMxC9xNU4WNq-nEQNOLSBHc5ovXvns5jZrxNsnz9Z3n4nuIpyil31GB8hJ-579W6QMapxfk12qdkpUP_XXlURkYyyTNRTCgLwK3KPyvJFh_zqJzH5KQ4xkHdz_9tzq1gn2JHnyfHsgwmS-RD3yRCQfTYGduY0GwEhdgeDXrxYnh_OoYJZdGP3MucW73Frwv_UFGO-0KxwIiEHK6i0t2gjGa3AMXN6HisSvN9qvMc1odtiUi_U21tTEEY7jtCnRrMX_q636zel2nXWe4yus7Em6V7N9Mj_F9KhxILfFQPNOH58z1VlYJdJrLW4talltlvb7cJRfhW1QQ59Os8hK7tB-FI3jplLftKeNGa8QYUxEbtPLo2-KHTmHV_0ST6inZaJH3qc8BTk-AmGnhLmK8z4rNQ134xRKj5LeXUmscqaGHx7plh2OmLxKHGIyYDwI1KgWdvhZkNAq6L3epiDRflSGwXD0YwH4mq0IjutwaLFm3pjRAE1ydhRMzTvhQfMjGzKDymsO1gFElyqe_SsUFX_88pjajJKIFUHoVqSFLfz6CVWyz0p1LKtfA8XZhUQz3MpvgR135JUa5UU6BRs-KO1xf4R32NvZ-ejC3sga_Ele3as5NqHARBgAfKUtskYsWj-MgY3QUJa9BPdDLoCe8MDf5kbQ_qvsO2QTfXg_zUEckQd-iVFcPB5rwB7qHVLARh4HynBiG-3hrXWKzvOIT0C0KsMNN6wNckQ0aE_y8ke72Z5i4ZOfIAD-cHLqswbjnRv5WDdideihaYsLnoNzLLlTnbtQVxytES_utFJ1dUYowa_RWQOzTVjam9Q1xEYAcwnw26e1p0yl046oec1D1UDBllvoSvCllNcJ7yPNtebzUjsN_uTqw_FEG2r2lHesc7tSD53dVisMnsTs3F5W1LS444gtoQz0vGCvtAY0CZfYl8P1ZVTWxPVw4cCsxK37nbJH37tgjKJetuGZsWUuclp3-vP-X8SaJ_Td-ybeM_SPrIfO1TOlYDLzWNpXTiiQUPBnyzJeUth1HvMzg01QLo58v-7U21dhBz_HZ409FBoI5ajsDpAV6eBoJPRgQ484Yv4W4TlfbYTigpiCEYEHq4HyjQP_-cPplTsXmJaZEBsPUnNH68VJqmAboKGGkGJa59PnBTBItgl539T-wkml45mTW_O8mlcJ-0vhfvSxq1AoDs26l35uyuZX1iFylS_qWkxYY4pMXiHJk8YF8r5S9kizxasBKKWjet0lu4zVOA_UE6YgLuYz1AzTdRrLt95Y6yu4CYx6HLjZepsMG5jGNNcJdRhrnc4ztb3vmPx5RO93dIn10hCfmvEB8wdkscOjujcP0S7UYyiQAF4cxmvkluHworzN4XuuCCzYwi4vLzd7FnZn_q_Qona905tnfC5c5zDT0Y2uWaXqb-6TTc4OuvqDhc0HeWh3XBiN3UxWxDeLneWGeb_TM4EXv0GamXkDdJH2x6kc059AbOI2ugQ1e06TiNls6HVhgj98tikieqgbqeqptUabIs0xAXEebUMBmmUNA9sbxmqI1DbCVA-Bp-vrpRSjhxpoVPXyW928PgA3MmXRZnPVom0v58Z7t78bCxj2afDTFw6x7A10veI-nwA4miau66ZT9rih7ywg-ZdNoEc6LfY1S6LMVd8PUHulRJS7dE57R3pXm4x16zOkZlLzAyaIWwHTJpy7DH6iqZ93G2VJgrSW2JnSnysp_S0QO8gY5uXHn-eao3ZgtNTYfruZB44MkVtMmHuGK-q-V3JoHTvDadrRnFZLSNsGhzaLkCdQFazSWY0IdBeQY8U6XXraGS2eJc89j41V2H2Vdf3BRv8Rf0xx6s4OKqK2hpTUjTR-5Bu_-_9GjhaugzaqWMcNPdZrFFXpzmHuTt0Ba6ShojI0HvyOfjcR1V1mVPG3d-tMb10DkC4LPbImlYRZZiDh2AN5qi27KebcobTWrBF3flaAbGeaeTe_G5pDD-vkQgTc6j5WqX4k0IWsYidH0fcv_l1vP6SwqU-dbJ-Fz3v_lW3vG_bqJdRzLcdVxdiVomWdW2StRH3FbGh2AmaDLmmsBict7E4vf0espArjn4dlUXNXDPFBWt-bdJYATuJ5qBemvbobdkSjW7XWmahB3NKrj6_lWBH7CGkwNwA-4smVwtx5xh4hPDjNxy6bUT15_oBD2MwcKNQIAAjsB7puiiaBLo4UMJ4JB01mTLrKCYJLIq2h0SmIkbBRFtGMH9tTXEhXVozbzVQM9-LHKUSB5RY_SoQuUb1c71xUfpCpMDKjpSAiOkdI2KICAfaX_kE7H3WLa9eyGRzN-yv6x5pybpq6xr1II3hEovQnmslzhD8T0blbS23ebvyVYCQMPWNINz6vZbvhIRd7Or_FNStGRFe1qyImpXaXBD6L8niBFt90BkChdKw3FPhzXSDWbf7WYdFHtDX59OoReJVenOfCg6YW-3-aUVfUR6CVxr5pY5y0IFXSdAiYDxpinElXMQKKPPGZkTqVQhhbTHVIy3VTwIszXyvcO2Gh3gZQrqcUngHpplRH7Xa_RZURhI3UYf9qCvGbGTFYD4yayg7Q1ZT_YkYL5LxIPUnGLWy0EbTOY8_lVQtvGJTMPMACynhou-cByXFYennjRCsg-ZtqAi2Rgu00B88IdI2DDvjhAc3-8GMTng1ITsKatETbRfhfI5ZTqiTW8kFigo73WnoZeO_udPckWZdB8E3rhP3GUfRLgQ4TT7yWA1kODFlZTlmVvRujD_dLmC7hLsoD_saHx-Fb99aXrQlzzWhiy7GVUhYoJNyf0rVMsI8e0sBX5xcjHKYXFDkGeBAOvBDVD7X4PI72RSFDBVaVnGn5rFffac-8xr53T8-AUP9yNCt4EuxFUSA1yXDo1K7CcPG29VhgYEtp2ZLaHH8-B7MdV7Qioc742_DyrrFCpmsUhBxmM_LgApubGEUNiKDA43Tax6npSUz7zWP9uRAcLS8i1jvy8AwQy4hTJlvs3o6t5YYlVmrfvYfbqbf_aKlafVU4Bdn0h7zNoXIwGA_bF6hQNqaLIALDGhjfqOhpZOCiwP_wqRl1j-_bAiVbWZEUq61dzwZESUUi13iqN-iyfu6pozgUlSn29NE43ET_AiIcImy9qhcX-a1NSbtGwTII8vs_iNXSITTA6al-APLsRUr-T_90-hTM8-hcQskJWDKhzfNUMiSWotedt6uO1nx344qpEZiPTL8YmLtnH-Juar0B0q2d3edHAgbmpnKkf1nHvqBTznTCYvE-kufs4wSvfigJcKuW6XwJ9bxUmp89kcR1MMMxnpVe2kBy2-dVfYZTP0IaJjBE7-q6KQyavaSKSESAr9XIxkzVYSn7mFcKHyqJJ7bApeDockOWZK1AAjod9jqINvKfLt9N1IwzVApbHeOpFAQNpyQs7fcj1DFcRNI_OBKwLd38QZicDYiwsZMFOqHOetoM9bK5ZSvQ-A_fnb3i1v7o_7lXiObYfoj2YD52UK68tvf5L-eMBKbgnuVNrEOsl-rOYDNem5qQkeRv-XUBBQnw3XKLHCx24NxhZvDweJpCpIuEyH081Hg-9OzpwzsEuq-mhWovXfWz2LV-wL5BUBGQo4aUZyccHD25yerm4kEnWeHOeyMIosJxUtBJo30SKKqFElAgJlcnOOVV75HatZuFZsSypAmOQM7Jjf0pLuQapgZT6M46Gm0LPKq__BlRwRkERFNFe03NoigMCBjMmgQzWrAVksn1PyhvcA6dpXhImkw4TDtEzhOOnxTvyYTE1pRvFavYYbBn8B6KnKHYDX8o5KLbhEZGb6wuVlAc-LqVsLCC_eA-vgyFTSzXGGGxieYydavu_TN7ZMYJgSLqNS4cle_ktN-nc6XGye4KJRFjPljgXckQrBFQup6zaZlnzrTVGJgQgB-SkeQ-0c-yaj1OhCl2Z-cLK3g8iK7KzqPC5dMhd7Zt5Ffurn-5sljPZ4JL7qPT7za7Km31NB5_Y5BH0u22O6RXEd89umeWe-YUpPYdWAG3pkkLGOhR2Uw4cFuPhnmIDMkTkspSc_xiUv_up7djcrU33BPT3qu5b9uRpEuoAN4MfMJ1vO9p0nftikTeCAEcPcnlWbbAg-lj46TbZ-ou-prN3tA5dGDWXrOL_DZbEMm3aQ76LLXwkc_ZxEWof34OFSFTNj_nkncHeYvED8hhXMzHWw8vtSFTe_A7e5GPd6uWUD1yQTKKff3uX3vEv7hrIA_J65B7ghTcfi7fnwan3db2R5aPUWG5MoRtB7iH6kHAw2iTe3MyP-l4jk5aHCEZb6DC_iX0ByJu0VOSkJJi1G1r6VrDtQw2mDQM3sQHx576g8V8CNDdZexDL80o3FvdrlYxz8oeol1xJQGbpnFEFMHVy9x7b9r_lLppkQXX6Hi8w4z2QhhkMJxA5bf8zEWT-LtEOeBWN0Qf-Ky2MWpchGgvGicgIbYvKsOrdPgYvcbwUPE4UjCSPWrpIVq_rkfsLhe8N9FS8AewxzdSig3E_IJZCBkOkqT8eLCuTdrViMGhuYV25RklXdi1zK_CrfUbtvw5AWnk2v--EEO0KGl_Sup-lXwfzOmS4t2fF0fUwRCwPw03TaI6j9cP6wZxtAiNFD1VypJF6m257dcVkrCxch8dXAngswb94Y3JOs0L8MUzDs09A0SAvQW1OjP9dhLURpffHDMglGdsLV4BYZ0ADA6mUTuxiUK1pM_Q3_TnKb0QSiRHZx2XLm0x3DAYd04fYJNV3zq--mEsUds5eivlh8_E5szI2qMiRvnZlmvnEoMfCkMExqvsJLyYIHmNtorlfhji_g-eJKeADGwvzjGc3WyRAxx4K-eRIPJgbWHk1HqNGEzQysOhpnr2eyQVSE-tGfaRIHdr6tZQGWrAKcMpFyQumSKSvKH_80J_a2moHlMKOrks-bKVgH9d2H7lNRxbA1WITcUWqnow0ELzi-uNciWbjSxbk4ftHle8Qg8sXRhhHfoPQg9dPpdkTN5UrPKz_wOwo2DhzaEHIWzF0D4zYd32zSLLIZGPwx51DrYzKrxd_DSIaZ_FmjMAjKj60w9RTznhA5-MNs9HSaFZn718D77vdodywee1E5bqePnwOf_mifia8CbDb2hOeTvQzLPsO-31meMRWb-an89Lgpc5uME5iUjT84QfcTrj_m6aHqPiWhKI4rypBZsDRKWi_HJG-uWedmptfMwxJngMnYdD-a-SpWpqnAdfycyT54qj7wh9U5cGbWf0bx5owuS88J6ddTkHmve5GvszzYTMbWqUPJvWri07WreRcJxJuGbv3nGGVoXS22iUb__l38nrsNNJHeTF9vOW8hpOe7aad_ep_dyerT2IP9EIf7XMiy0rVTepdWsE66kBcRC6TbD7DI3kRobDlxfdYX9iSP3dVK-hNOPr6A2eKmyO4pLrNj4QJIYotXCRB_JgWBut7zvOlIWGVk43tdlULOfkTo4R5U7FeLNB4cR_AsY0MdQZy7BElQ_iFno0ldXXS5DLHjQRaKU4n266ZbKH3CElLFlaujOMkhwPxgkfdi0E8MnFMXUG2lpW7QBSlf2ZiGN6ZKlpCfrEVf46g1JnQ3fT3OK22Hpiymu7GJYphyTtmfIDONXLMHwXweHt7uSDetvq-E6lidkmOpPVQFhsf4Py6beRBZet0RB299uWfEDawwe1BjGmgk10NVXSrb7zcQS4xqPEWPvxyCV65q21qrHauQpMCZFZOLxaJGXvXjkCxN_CX_ETLV95ce_fOXBVa_Iz1Y3BzT90BRB-91SJDfajJe0VoCvGjg3n62MO-kOJhcFq2KCDc989qh_Dwc1x89QiMWBrPYzRsNukIsJmjJrFGTAIqr8oD5gLUzztN5fe3Gg437xOsjBaz1PoUPWMiYhU_CEZdRZYfbz8iXAj0fwqVoAyJGgeZqNja4VxpA6Oc1BOTMngLfY9nQjj0OSHaKSQT3s3StGLQtrwDkHz6VRYkSX7dz_wUwOy83cdXmyr7rNv9xOogldRedD98fYdkWHSoR2OahnuvV80bcDWYeVgPMCy4kI91zrmRyZOE_wtjt1n4bTIaVdOydzuWI8RJskfefe2uTY1X7zNox7iXyKwC_0cQ2-cCYk-z1PMlM4d7p-dHIvYwK1YWkgqDb2CSyJW32nrrLIDl3zSQQF89YH3V3aJiUFmKKtLArug4XyWtuTiNTyCtfKWJEBAYIiT227ITBqCD2QLSGt2VGIsqw0Ob2esjiGfsMTF_xb2gA2PjEk1t_RI5FNUuNi8T1-rQpdYwzOCQA1q6m-1DY15FHbAq5Ng2c7a9-gDTCBFIcsEdicADLi6N9ZUCjW3y4B5rTdvZKPGeK_CAH8v2nqGxr98-d_ddR_QR92WcJC1nrHh4AvZ-_9HyCWBezszog8NUt7gYEYaNS4oIs-8BL1TmJR5PfpE1liHIjuRUVZQW9KGxI3VnSzFhgRqVNK1Xgv8OI7Kc091edsUW0BwChdCqaUQlGn9huyogpQnB2ojGAbGqu8TzMzixWfrZ0yyZzZQwPBn4x6TYn8ib6ExNDjCCPmzPd9rdgSltP4TkEpJGuG_h68B-RJmuIj1Qbc7VVWXC56cEoL_DXOiJ5WxD8wAvO4cWs3WRPvbXeJH85PFwCt7fO2d4T5CMzq95HJvi80Up3zzAgoCuhJeOhRTv8L0MPkT9SEeLqCMMP3BqQOZBpMUPUvp5NuLfZqwgzLcQimk8_jeWbuwcRlq7lsS1ln5EF2rUWkbZz2fAbTOHfS-U1gX5hZ-Xu1P6_NOFOyUZRqjTvNc1QfDV4q_xJTkukn8ydYxLDUR36eaBp0fF-JZ6SfmsgDzqpUEfj-IdZJ-oyuXknVa7E-R0yl2LAOAaGhihVWoOdGLPJ5-uOiyLpavTXeUjuHkTftGNuMYCQRDd-gkcj0lNu3hR5b5r52KvgSvlptzo0NLTy8vYfgTS6gf2v3ZdeAvSFjNXtaZktTZA8R7XNcIiKhKdYYNhSntHpVBG2381p8Qox2nkW03meH-RImn6hUnukd2t3BkMI0P0cZniV53W5U7urdmQ7WS549zjNTmLsOeaPABIo3YWg9_Kh7qUYwljtSBkSPvuwAqh8ShBpX7417lEtJ02thH63ieYEEEs2nJZWWTeTDYl4nP9nj0QnwNqANqA5slq1zDgVeSi4FrZfcJ6CBFK3JOpan6qNU56UYfjlb4qfqK5CUoXRgKeO9mKRCl7cci2Z0sd__RLguGYqEhjWYzbM6XlECVWc1CCUvJgTcEwOpjG5jLra07Rdz3T-ltE-FNydhGCjopw1N4FbBBoGASHOFHkGGXo8qV09ytLu8pWsM0_kGQ07HqUjaMUWRM9LY_BgCYYxzxYzyDTwGylfq_FEx2bl-dPqMX31OkN1R08w5l8CTBeqY6A2g6Kmpf2gEpMAcOeSMs0qLF0qxAu917mDyOEBJBzD4dvU-hmq058LK_VfEK0IRnr8d5Z7lLyUQMlx0LRe4-Rt9t1HBrzxSGWB-dvk6Cm4K8Fk7kxLKAV31Zde3OcrCQC5La4T5d1x7_We5mzKeidnfYTNMSGuBJHPr67m1-5zqGgHnuFKkKnFyEHG1RC5Ubiok6Zzl3xvdWQ37bkgsXb1BwZ2Km0rlM1kBSGWOYniNQlrABJZVe1cpeHJhLm9lVXg8GcpPxLpWj30DK-Vj-7Mtqj5F8sMO53WjKFYmxk6JU0lWlvWrfkuuevuxs3mBh7m0-9G7K7CE1UCcajhbuO1Yks63mcQckgn9hK1F5zZ1j7vRH9XblGGGtLwogikGMyDJEn1PyQdHcPtpiBwDPiZZwEpUe2AT-cFNvGzUh6TRzlWhefB0SYFZ8pNgkPXPuW4_Kw9jHjkpKceNUDUHW23Js1wqVAC_0SeuFQ4wZp45jQw3YrPeavI3z0IEmy8asEHhkKBExkCgt-en4nkh4FG8cKk-WcLtX39gkVV7E-3COodG-j7wPGxeknKY_39kWr-QzeBOmxuAoJUrUhT3Hv3m0qYIGHH6sE1oCxMrQKdiwOOkjkQ5Q7U8V7FssweHDuR1sOVGrb1-MjWqlsHZBmu6W5K_vV7fiScEws9U-58hC3-LLiyb_0ttB0Dcw36Uh4VM9LNDuYa_N8cehuPf-feM4BOdlEmrkkAmsYXvzK9az2y8RMI3jO4K9tB9tlUlA_sjZDcK2JcfiJ_EmnrFPegLtSBmfkmDVeVzTRu947XqmPHtOqgpgrMM_lbYD3kFCikUqFHpu0teoUbANcUJg5uYXG8jS5CyrtYx-PNKPeU5O1qEaxEfdqCvkSLHwOPloWQDx449w-PvG70IZnTKr8owJn7aAXThmSZPz2MZn59_7KmU20fWfOj1rwUl5BLIKRLjoAfRGsxHlW8__gjM28i40qU7qOE_1VAxe0s1RUy2X1utGf8Y6oDPfih1IqJRtjV1Yc2MY9s1xUYt9C_KDuCMgVvYqGbAl0l6ERt46v5gUeREN0u6Ffjz4f75Mm8WEXd_ogvFzitiowCHcoFOrJVLF9KAX8Z3QlTJtoHvOYH29qwBI7vVzUAcyZtDL7uCyFiJMZyY71S3v3CMs7AH885p2NbIn66YuILxqexgEkKkWWGtLVa31W2-O4cBsEejcNJ32lTP7f7vgHA75aP2zWWG8A6n_UCCbEfhi6uLQxAz3aoOj8abddGRN2V0gQieUXhJJeiHpaGJO67t1Vp2ziR0cMA1MjcfFri03FxU48-laMT_Q1UAo788e63jPO51VDjZtrHoqmOEzmHMH9sTYaApnSV5K0ySV5SFtJrqySrZ9JipwE6-donNPstqqF0bjGbyedzuf7Yn9Ls0AZ2HPYDRzXO_f6ykm9PQibybzdF5Fp31BdEjoBzpp-sCd46ZNC2-iBqx7CBuPDb2gI91JOCb7YqwrnXF6rEC9gA4-mYWHxyaa2Hwkmzait6625yFIDTwidVCDUphDLlHDsAmyxV2qW72UM3ZpJRWJImlc5bE4Ik84xy18gG5HtsCoF3Y8t2ldwQBxNN8x4UhWrKH31LXAVhGWJyAWBkYhdsC1AZAzwdDeFbVeEg_2Ww-xZbSexN69IlrqjJiS-4NA4WqWVBcwSyxPbO03QQLuSNg41yV92gvFvWuWBHdSTPuhw9zGjclaO4a3e7U9UUzWJ7DZBtGlHz0cYSf9S1wFvURPHvrfsCOqXBjBDbwtkvS9fwTSNuvJzLxKSwOr9WJI2rOPFVv-HyD9Tu53SvpvyNJmXWypFPHRF4WsaICTTVWRQk9JZDGgpiXWcS0DAvOMPYaKL--v590O5sxQR8yPk8wy69Bot_NqEF3Qct_-OJe8AzO8lvsWiHnyOZgMdo24uU5QwWhOKXVZprAuFeiF-GxNf1ryahqFaBz1qlz7zaknNaWFKgiPSfh8TogdyMW3VORrSF81ECjWePGYCm6wkDxo3iptl1Y-kgFMhkp-UG0b72elDmFWc5uTU_be_b9514IhJP4Nw7rIonupNBADTFXvFVFCe-W5FrIdrle_-8NPqPhLd8JX7SCqSqRGbL8iwRKeCO2DzA42eQktPiTR68Fod7xVB47_2gtE9-qLFc_jEGljrKAmH-wYEBaiomDHBc4a6-tIYEk8wlMVs_gN_2J-s7b5L4TBgOEAZHUghw4O9mP1L--pW4qnWM3vu8-s-_YqsshMLongqfbvD5wqk-oBdLuVpQfXZkq1Ubg0NRQjiNxm_yLkK1jefnp0WtwDXxugZdp7IaanNuOLED2xY8gJ4zrqRGKRN7EoYcqqNFeb5stpbu9IPMNJhVqg0yZR3Cf0tpQmgnmPrPPytQbMW7Ce7ELoYtRPRs35h_zatfLX6uVvls2n4ZhxegV2tMg8Uz4r3S4Jc6bJ11zA1J9lZVrZsU7HybT19_P_mNWfKGdsvVy-K2BcJjDgjuzX8db-3TAMn7XPDkaskc7GD3vTjThBA5hh-TnR4v6lkbRIQYeJ_9djfaQ0sAXjei0z_48nD_IlyhtKkpUJYVsHu6fJlBRIsZ1J9mqfpsv3GVFwnoFZJdj2GtJPCC-5Jxm6i-8WQAklgitm91VIUrBNM7T6Xh1RkM1Vwc_PvdlDoCxgnyLA5W1UtvW8hXWtslaIyxHiQqV5Yo5Fj7SklctAlQx-3Taz28-INXrWXCPlrz3D_vqFDhjzoTLK12WSuOMdawNAndaYG4Q86p1bDczgMZ0-s5KcVYSYJKhr5MciW2B4rpvMtbK2PRjvVSkdEsSnrbj_MOed4RhpuA47ZdP-RksnPEdkFAnrDE2JDl2vN2nCm1SagP7CcTsAuOhdPwXATAfyEmlaID0Ziaoo4eg2-tEB4SqggGU-BI1wbYy2LEgKpsbHdMetnR5E8qowY1TubFiUgXeX9Ro1uxv10CZ7dayoXrRQBHLUfH8Necxbtc7-IPv2z3fbVyrKymI-6TTWsjc4YwfniCUNdwGwJrUhY5QauMTBfSwzd_b7gKJ03WCaALmvFh956mGqh2cWjbjCda54PokZqItf9GVEqXUbWNqDGIPjZniafwWeSuVkPGkRkyyvtL_aux_uKpH8GYSWf62XfNE0NutHw2YpSDb6CA7DI79hJL1DsqnhEUH7EjVqZm_Hf1zIDxgsmQI7h-Bql7EnnL4UII12JaUT9kbLT5oi4NqSMiIYhxA_T9owQMkkk8xcotz19KtFiI9-K_Ceb9TuuNdOptySoNuQp_P5D175vXJ-2s3Q70HV_F0A6tVGpg4WeOOClMpLgF5vbM-ei-902MFaAPHA3FHQLBaOpahZgeSbipETW0la1TjjMgFZ7tKxkMPB1Ym4RwYmVCgD1-iJjfxYaSBhVbJhXkx0cJiueJ3Jxn6l9BVi7AnwTfc68_mIwU4w6P1eYLi9rpF9Cs-HEVhSkgwtVFaaroQw-BDDtQ7p4N160qWByFd6sTkwtaJdd6jY94rjhTR2tZMDhfkw7WAmKJTODyfoTFhXW9DW4SOtY87TS67tl4WoKg00-5f0wytM3u_nf4alY0O_fa75KNm3HZKLi38IEw9c1dawK8RfFQle4iQfXZUZYKrrcNlyYC4Ao1Z5okFIdjSUufHDSYynQsWPbaWJQ-KSbk964Zd-L64LyyptXK9ZYoaKNqE_5Ta47qPchLRQHTllHsk0wXJPrDnE5Si0poCbztzlZ_elRtNy2pozOYrtYFDzvl-UCJ4BiLBK4VfM8wAFw3tc8n6ZKCkB4cnj6PHnnr_JZs-k6OFunMkGzyeFS5ekYWEg-FdehUKJgZ4MeU98PB01kXCnxt6PfLFCsvmpapb9v_zrUEBugaPWhc880unp6JxXie5sSksR0xWFtcfevttfwfnbOwjFnvO0FCXUGafkG-rZ6MG-RdHaXgM0qIxJQSTYkeRLaH9abeK1eBgDhn0smXFCESLUImeH5GurouH8rgAtIRpS3HT7A7ZVDa8GB_XCw5Dx1A6xsK_8BoVCRf57jfyz_VJX1J7FSixp7tZjjnDGtb11pKWx6Zc4BGRImdqz8rYUNNJNFcwUoFr_--D-neN4DKyK9KFT5wp5EBnfxcyhX_pkPFCSfV9f8qpPIliA2hD55-8MkawFucTwoW3SnsefO4r3kO_dBMVyT6ooxbWNJzSVEcWhD9QZov0yUpn_6iCmdWwXRnFCOxMPQe6nxOSxBf9TI9vJwvT_ctQIC_X_1VKISxL5A8WPxnb3uV-dtmCQX2OfSDR5E1Tc9fX-vjBA_1gJSjHXtljFOdXednXQBaqFy73JPwYlOh9R9jIgh8VDVt5QLfyrXlCBH5XYsJ_wxx_7B9xFFIwPBQVUhZGYJ2U7oRFtnGXW0phILXPOhY-RWJ3rt97waNDJZDuT3I8092pb_c6-kCam8Xy514T_bzlQ5di3Tf31JYQP-FYP2AjgL_jXny9aJnHBGqhqidVTwAHIZEeTNi4cpEItWj7sX43OISdQTkr8hhq0e0ApUiYAuL41bp311B9M2dDJeiCCud9wUr3vUHt3Xq6NuQM7WdO64aXf1h89IXM78yZxAsgo6wjfnlLCrXC3DSSuRpeIuEvm6Tl7Ki_2oeCG4xeBQznlZOU7mJv7v8g3Md4xocVJ6_ZP7AdbgtURcbnz3j0OKZ_BEN12OIsitWon4hHgFY8HVJSb-nU1_FoHeV6Av5TVI-lyXoBpSRLMBlUNDPmytbTl-XfLHt-hTJP9HHnIRqcEH98-v_0zvTgZi73BCx6xauRdD6Yb97crDbWr8j7BKsOiO4SZLM0gHadzxR7mH5w2Q-Uueod8q94KjaHmGOmGBML071vLFuT-D7F2rFjblmjTiY3Zc7rPU1jMrdb8byZuJtAnpuiouHzA_TIrgok8NBp-_NhfxuaUkf5GdSad8HasXHGDydP04mn9JqZ_Gie2Y1ufw8snjK2O-llyQIntW_Wgo8rwkhxZ6J78_xiFtkvvA2trsfHzN__o4VNw6BcoKu8p1_CjzbtqI-0lrLjfQ6WiYz10XwoZBc6UlozNd1YfyuWpxCpuAwCV5L02PkYTfF6n_UfwCuQDSUzEm8vE9wIYVk1Yy6hAS4aVm6wnkDGWtxK_OmC4lGAyaRJpGLo0_F00QLGd2IhEKcOHbu60dWGbMeLpNh5m0pyzFtPT5wkItsyFjVWa7tGbjYwljqccNk7FiMzASqW7pzLZmEncLbmTeVo5ffz1LxRbrNJm-815rO6SQMRoc9eONMH3PrGsuS0oxDZJ69_YwVghKKiP17o7nBPZmSpSpBCST6Me0M_w1DJaHv9risB1__VAJkJGW0diIPEdRKp6yoI9TWsUWT2CTio_IPOEjBlBPuwyUiwMR5OtNRgCSVXn6wFqgsXGzRI4pwN6e1TXBMCOM_yxeke5JOZGPHKBlthkkXX_Nb56Bebxpe5WKQxZ2gKEESvnOlYYPq9cuU7MuITVR1RwM3zSkNK9ROxOkkFf5TBs3yJjPCEYqFTR__FQ6nnXOYbTsbUlh8oSJBZbLhCGrJ07dX9Y99Ec-pOP_wkt2HgCxxRUvkbU_Hhy34_XUZE36FVH4ClIb_qmEyRkd4alxTUYlOa7X67PutIpUY5kBDiznERwpeZ991GdGV5ohhG2q3K8NNRz8S7ewdBojKWmeKCokU2qC9gxlWUiGN-yUMK6uMxmBD1VDvV6B6zVtAE4iHjA4a4krfQafePP2mxHUd2whTt7kxBdFt71DE_B9e28HrLf81xnUY7ioji3_8wul6LbCEczXBZO8hcOmIV2lKf4a5MZeofmTLSxkVg2VWnHFyWcZWZYoe3WZc_6Pa6LcheTv91RD2XQNwakkUHs7tOQd3d42NXxN2Rv1_xUb7Cwxj-z9MiIqq4kAFKXbSCchWD05U1G1posjR30G3y3b7YLLGsRFzQJrn6ifaj7H6CVbFQe18uQ8rxR1SghnfmDi2443b5zx54yrpWQH1nDeJDAxajyEkG5mv3DYehtXWhSk_058z0uDevMx51WUAIbSV-paz2vPv67qFh3fb4tjk_VM0RpOjBDFz1r4pYOtCK4eGCDRV7bjZcd9GxBjyFl4Gmsg8WodutMSUzD0qdgx2qa0xl9QQW_vRbQqiQxSrsGHUZPU3uw8UUn98Wwxw4A5YxepjEA6mPFCa0QTPZos7HFbvixXxKRGl8yxJ0KxMFgxRpojRYpP6wNZs0mtT7DtPjx0ZTyA_8zKzveXM4y-jG81nckYC7SP1Khz76pIQX6aDxcdMFd8BZzWJfRH6AEdi4HYTvUL-1zOKeyDYOin6XXwqiDsQOd38aB57YSvdqFKBGCyA3KEc2F-92gXOuAcYn_qi2hrxSkC58-b4S8sLpnTeISckxfYvZUtjRSD3ZuU00MkLmzeldhqdxa76rrymF1bE5axGkSvx5mEWENo1O7ewAIm8HYPmkUOLNvEk3v6XOsIjL33r73PDNBv-q2h3UXGrpLg6QV_nEiGDplfjJo8NKQHP1NvtZHui6Iu70RHbeTapsY1gYaAgIS0RbCSoZGAkHNpTz6wAYdgbg4IAQVLjBe_9yR3IG_qkRzKUxKliKmA9yQtuCs4y2CLLoywJr36gVZy8nrp4uyrB347EGpKULjPjwBCZGDOeDhjrZGnM4mCp-dyY4N-pX7U8TV8_SlFWdRNhdDaFTDeP_fkpf6WO9BLDySfXUM4aalY9OIvpZ9EVConT5-VzeDAI7Y8l6G48j5KZYr4px84v4AHR4XKIEC8PLqK9AwGkc-rAJ3euV2P6O_ImPXKbHoNetIcxnOWNZxpCPzBfW0VrlK-BTE8SyNX9_z-WFfKLE6Bb1KcJehZeayDAojZSFj5oaaiDk64gy491qysQu4W4ae0hLXCpKZSzxExVX7vu_-lA3MWHN_AGWkbiz2s-aKoQEpS3ecNEc2OIYaKh5CEetGoibkI3HjMJxZypNKdfUNfY2CVanwBOaanFewjXfD3OOhEZunu0lt7k_YCYsr3jQptb8XbO5Sa9pUzwkYIhIFT8rzOI6j4FZo-y73hQ1QmvTkmUNJNgCZHAv7qwq_wD_exutsLX153bIMZ6yfUHwBLmwPH75T8FNCAFKE_LDtihF6tTV2KGLfv36fZ0TkW2JJGPnc9X9cxw1vkxHD5kmb1WdMfYr8tV3e79PvSFEwCwnGKVKL_GFs-2jQ57rfqIO6t63yMVI417rGbFW0jERxAsYiU9Y8hvxaQjioxc914mKj_b8HPWUgK8WBfwjUqdg-QC749i3DOJBB4fF9R9BHLP5rABMAgDV_dInz-xJBgySw0-efJTAc_FZvsbrxjEqiYS0gH4X_sxX2hnTm7MUbzc5LF2eW8o6_mSowCW020bHDBStWwTqBR0XIG0-1GvmS6kf4lSMqZ5AjVizLtK47pSA7Kjt2awpb83tm-Z7mAY2k9rGY4_HfvqU5noD7Fq0xPj8UwpycM7dyxSCA0SmfyS4F7gvZTxlwYaPYADakpki4F_bm52DNbvnoddynqwBU_wvfdEd3CZ_kSXQjH6d7zqiH6O92AXWacerjgFIwRMrffhqNWrhAEahG_w4L5B-rgS7gZ4PzKrztapuHPgSKpmUomdoV83gbVSN98FHgjH-BgwZnZRX1EhzLyZ4YhllaECZVssWY4K4u35l9gDpjpPw6ddP4_eurqP3RH2CXzxi8wFYVy2_WPq6AYV8T3pARypPugrQc-ZsHer5d0_zuM-J2xM8QFuZygPw6-uxgMqVltshzNNAYQw9kD6FBy212Y0x_6bCytJ-8EuPq0t-7uEl9FyFrQ_vmUayqJItKN8shvxAxK44VY2qKgVVDS9t8--b6gNmjkIZIE4XuZc1N2G5cAxO4lWe6PtfMzrXFka4JIFucO8-KB2INGTTM8woMB22TwVKk9jaiDGm8pNM7nv3qmpgH7vY3-pc9Mt2W1xv2QQ5MmWUzUzuQWiItcXwKv5uL1thof2lA0HoTmXBHzOWHas8JNPXhyOKZMey7ZtMW9IWq48lnB06dBZyTCDLEJpBS9sKwjMyQ8Udi0t_z9rIc0usKAPpukellrPJUKysd9rcjMx2VhfUDK7KPk3Vd_Qsu4061QxsdkEv-SoccjGOVkhJlv3EAW2nYt2YGLY2a0VcB85hF6XQUnya_ExbrApqTHat9WHkJKNfZMDOdN80vXsm9PQRSkt790IwmN8YnAaB5unJjWdzv0s2kt6G6qfxVg2Vmv4pIjZrgMOmXuvnJodNi8Gmn2hpNKaaOaYGndEne_45QEdgf1y-_evGtim2zCEtJqw4sqyakFD2ohHRlg-frj_bGG_eXdF__axFlg0pL3o-0TXkhtHS_IyiJeCmQ1HDvD8wfJDEdLcmZsnB9zLx7_iZIBUI69NzohWISFamjwW43vD7XBF37ZyCXcR7R8DfAhLQrePjWHgodwuDLJof4iNYFO00IKbB1mxBwQ-oxXAVFUrfkV2KuwbGDua266o5PtoaKbHt27PxC6vBaChR7SgOA5OLZ3g1zuJXAT8D5cXObKTUWEC3NgWHAP32HAuZKLeUw_XFY2pR0nXqMxzDMx9dkYCCgsazlvbj_FeU8PNT8hFMx1EcDKAhikM1XsX0kTqsk86pbCjmLQYjKAb_yiU8-90eE9fJJE-fHXLu3TRRp25E8jrN8S93-DAfE5BwUc8chK8d0qfC9cSVOw7Zmef0e5EQORdfvOUQdNSYCDBCYcSG6COO_46oyHGaej7wEdDqho-QutOGDbwUn5-czu625RTo9lu_vB_3-tvX3w8x5nLoGs3GhbCW3ptuQ5RAE-g78B7WWEoGvyMueMHKMAZOwrxS-9-Imt4Zk0j6R9o4QWxuOyhUSQdKDwr8tn-KhfjEAMrMcm6RP1sv8eQOQcVcC8x8tBD8LRZSyWmvaKMNw1X8Me5D5XR7xH4cz3DpidnVfToq9GsuMkGEnBuyqU7diQrXvYHxwjd3fnFprqTdfiewW6DioTVuQ13z9bsF72O61U0wdFGTBes0r8JtXNzGw8EgQzJV-_HH4heFpwg9jzIgfETClLBeMiY20eNl0xQi6cYW3qkJWdtbGrOcLiQEKFApyZGaikQE26O_5afPUAQzACiECDLMQmgUsuR3Wgvg2tHUZxe4v1q17r8kg83vNWftA8JD71RdpPOQgKz9FTXT-dw1iGq2wvGG81RR32u_Ajj-11ytY9f6WM8-6dQuSF7WSYIefw2ktFjxM8O4pWppB0KcOwcdF-MgrRVGc8fnl7llJu8cxQc7xfu4u6XGBzcDeaEy_gUJsUj79rUre6SDCBmOPrVwCf6KMzOskbYNVBjpXSvrwpTMOlhqNGzr3cbQAv1NmeIXB-3Qk8QGhSwNHxADccIYxSadT_XOVMdYgOhNwscL-_SokgkU55mO_2XG4ehgrMNkOtppBLRwYyBz5PIBiX3uGGAPaS2aVb8788ZAxvHYTYFTwKukeA7wy8tZ3pjj8JEvPblSM8xzVypeN3uYtup8TEK_MXQ-uWbww46kDFxAG6HRo2DA3UtuJCG48P1zmS6tSmJiTtf6DBrgASzIOL7cKEtaDKjQESq2un30eSfo-z4mvb2wEiQNS4AVq6X031c5SfurN61EvUXduVf0umdBtOX3YYLpWVtedyJJRuDRWdbHSma5DMexqUJyhUMtk6hA-HyxBMzel8AOW_P44MqZFeZSxstU1O4eICgJGVEo66hgkDhiVrTD5o-r-ZIJuXIhhVZhlGABlVAZmHsVMcytZjohQVNtMgc2hAQKtwn0Q0jdiBTe2LakGr_9XklG3MSd--wPBs5lqV5n_Rt62t3HYqIrltN8vJCt-Nos8RKOPoRmfmKMSEIzvAmEBA44p-vs9MkycP33WSJyjsJeC06gbrgwvJbCKWdZpHbf7vgLUX1UU4hshLLC-mYLNoeaix0HFAIgkTeCqSLnGvjZf7HOF9UncsbO8W6zFo5VlLoMUp2oYbH_6lTwhj20nqJUUsoxYRRx-xQVVaVxySs78EAvVFo_7Fmfbva9hMsPTGMyBEgAsMzlfs2JKpYZqjqYbS-6EA--dzoZ6hXxAVzsNwYDtSNGZKULSSrqjgOgiwZe6wGqY0aNZSpTamCkCMELWXlPgBWSyDaiXu_DFyXBvnLkm787TkOzTTxMaF0QYgmXj5txKVJroAFr0_F6TTl1SPxa4cglwX94GotbL9VlHl8Ty5cjBgHMfz4F9w8uXg5BdHKAbUVYskE-XgntIp2USVZ_RJD-b9W19FF80S9OBqJonXCFs7Pk8yT3tik3ZjqSsMt1fopL734N8eEFIetXSgY5dbnV-NeHLswNSY5BbDhlF0JtI9CYU_rWBFYQSKvblf1zJqnd-i5mxmmAEOWE4INXFu149pEUKg3J4HHrlxpwuYrtN8FSjbUlyaFxOJ4MYKPE-ANt6gTiuI5JEcSDT9MkTpSQI3s7wFRqvPKY-E7qVALe6BtP4UXuvL9PLvk7pcS1gn3jussBnbVwzVKV3uYTnodWdCnJrOHIip6BFH6Hc-6VYrjd1NBZ9UVGO9Id3kXGxyk3Nz8xazEUHzZlT6LZLyA8vDiMBcuwQ2680BRV1yC_pyUEeuUhJ44HlsshgvUBnM4s8E0_7Uvw3YxvySIJWJPGP-aMSbWg8mhA9MaxNPE8W1FygIoG5BAm2NFGj4L2lU6m8bzrq09YgsozdIDtv210iVncBIbhF7THM_7wYQXN1GURbDNT-ZHumhyIQXMJOlPMf2JB3ptp3g_0BTiqRPKbsjwP2hjGxfv28bEkbQHhoylEpbPWHCDuKzDCgiro6UsqQuZ8ky3uskHfI-Fhpg9hCdo4SUJC50BzyrfTyJb3dETjoTM2o_dKe-cd8EhlfdlE4mXQcLB4PfTecXcuk7FblKUuwEYgG7Kg78do6Sg1Y1XsEUnLLxMJ0c7l3D4z9uaz5oH04pT90fqCgrsm4AgKBECKKbb_oC65yIHZ9GsKOAveCnm2l_IaZbNpGItxB-ncyIx_bEZ9LL3yCbaeZi5AundtE4GIbXCYIfj15zehmrCM3NlyK1IUZYe4r5Zxe8ROFddkoAfFKM7e9il1zrfHPmcaUfpdHXhOk7_1wepJt3j7YkaJhxsbe0D-N9yuOzzW4Tlg6urbu51fkBURfOmfoW3IwSrXnOBdIQ2O9uMrzb3h9rPZpsBZmKSYSEFibiLLksMkSE35_AFGCwoJPO-k1r6d-XpHhIM4wQ6NsqLM3s8KF0BGQlD6y_Ipntd2N7IuVO4pVt4WUQl6ElX_vTd0B81dG0-DNejRNBF2ib37JL1i_b6l-nhIvZpHUtUsaCdasCxClUBmAvxPb49EzWuQKz9euRFJSp_xC3cKf9dqq0Hg5P59zA5bQwwxQ7VNLZ232cRcrL5mzP6gUqFeAMJ1CrS8mGzzn0WQV-plcTzOBWPlff-DOs3pwD7qw7AwYP93pn11X1PZbOzbR7rIszDQXHMWiq9PhW1UPmTckjpDN0ohq8GxB-5iEVV37ukAqqq-zg68ghFcQhcJDQa4Pr7oUHOBTeOZG_qa5pW-NAVD-M0TyfMA5vwW3QYfqI6jiq1M8U3TZTjI-XTiIeOTHSZYR6FN2MnYVnke0jtBj9Yvixf6dySMSa2WGw4UutiwBkU6IGCP2dWqrGs47_lBIueB3KunjoEIXShw6Eh4TSufV9KGg8dwPfy24Y3Ec-iK7Gr1Mr6YvGE0hyBoDCzJfXR69RS-vGM0ywvCTJ-KNt24rDX7-YL0HVXEXw5i7KIVDP-q9b-fYDU2_YXPrY3kUdcHLlvUmBoIjMEVQi7tANifKCA97xB0BYkvtBeam-YfMiTnnRrXZ9m3LprbH-rp_gNHvjT9T6tzvEvekJLdEeaHqGDRqp-ym4qUT6287scv8LSMA6gesysk9xCMVqQcFN7s3J3brEQbYrbcbUtjqfFlECnu-rhGJmKk7oOD33mAnUtwpvyjknNBYKj3As450F-Fx7nMjwi7sgDI56brKkNA660H7DELjgGUkBPGEmaRZ7DvvWOYQGbaz_JgpzIGJBnumXSv771A1fs9TUq8ngMbR8L-yGRdvwPxWp-BhJ2FGBClLGfsNQ4OMN-wdgl2IkyA2QgeKIS9xwP3GmgEMoPdbbwU_ascd-Fk9UFYmYRLMg4ZbSzJXFbTo_ITRMtoRit-D_01q87_AkpiEsjajRcJWCkaouYV-tV1sr23duv-hzR4J39QOGJF0Orj40g69co_C5pAUhhPeo62lzi8cgK1n4ZSCWeva2Ki5qcCMCqxvgTt2eVHzUmKZVPwLFI-urEEvhPel2gJThSnCjj1lxJqCe_lZSYy6ljOEiRLO465QATEh0cCXCy9730yocf8e7tQXj_2if02l3fTR3BK_lApAsbOaxI27BR9NUJcYIYvwSGBLlSDkwtuvjtfjGxWI0qdWN8QIkW97PSVCTNgGTDWj8_XaZ72PQmmeWKDq7vdR96FpsiH11lCLTOQqaTIyxOopmaLAMBhNJCeGiLTf8LCyMOVFee8lK-czLYhsXL0Wp5U0GreWmcLPWvy0Qa8pkULT6Cm-rVHW9JaZTNfzk5wG8aAPetoHv5_Q1eQ-t8xIVWjQ8UGsi0FvhFxfIrMUWzY_JNXuYK2b_3hYx9WvZYCuXN2VPcQZ69nkeYv6UEGnShOJpIFj8dxZugb0DxGeeDuvGRai9XIwr1un2Y-PqljBxv8Srkl6K-RJxOfbagKkZzaeQROaUJUYLgKWxFW5zzfAH1ZBHfwrKpDX1WMksURigrhCUO6fO-8QLntoSLKETqSLBVJ69xFnTifOMUtT7ey_jA3cI9n5r5Vla2cSC_Nbxn-bZX0r5HTkwMsuhsEEtl0izT3D6wp_JdEomfOvARNh5X6oRyoi2UN6vxX9JBJByNRzc9LBHHhgLzjUxWDYT6P0k5rlnB2h1AOahD2yeDGmhRiqXjvoZzC0JH9Fu37qlds_o1zhCIKFTVOgxrY7FAn5o26kSHAGsqro4ENcmKxiMTN-9A4MmxKBgMWTX9eJYd7it52vACly-HkOvqihTM4chCyg7RwTeSHaBeiuc752m98z1QBEldfrlOcOQHJOBFT7p6DyCAWDSeRmXzPo45cxD6VJ8kpso_B_9kHzDxrKntsV8Zw8UizqNDNSEsap0HnHalsY1vl-z70aTFSMPBQQg5j-ep11H7q53hnWdU3V4bZjkK0F9zwDR0b5iaBMRijUhApKWXDJ3sZ59p0ElZZUT2_FowOZWuLDvFBgjw6908qvB-Or0Hu1Kydmh96jKPRxvbxnjjthKzg__ggqaAfdBd0XWrngf0VD_75MHC_H2Z4I8g2W-6kWEw1ZzyhNn2ItQOuJGG2xvC2Dkg5wUPfyyF3FdaAXv-7JyJ3pYKzS8JAA086L2_gHboVJdUcvO8WjvT0_lAWGLYz59QPAn_BjLCXreFjT7mC-IkLfMyRAz4qXNCwmUWiGIl9KIjUj5_CyfAFBGarspWtO8_eQGNy4APrCw0vSOMjTZCCEYm98_EpuO4Zgx1Wiu_G5-J-BfWvbgdguxo97oxmaB9QpLjyzk0GacyR3d3jHg9RAL_hmjNtgvtC-poB6YO7G6K3qkiik7-VuxLAA7v7rQtCYNzG47OO1NpgP8kXQ5utXRs8bwCdEogph7uz93nI3G-1e-tR5KJO8Mq2L2Ei8XGt2OwIi9qoUqmdoNUgv1QESUbpT8Qi3Lr07Mpzq67hb7VH8Ci9a5POKc_Hoc-xfDI7mTXy86eRS0qjI_drmjSqA7fYEsYfup68PLo2-sQxk8PPxYYlL40Jq984MEhZ2aSYTkml6qbfWozMakM-B3eCGdO-TLOuuTpNf8X0gcMUJXq7HRzFSEnnLa8MG3eIMx8VTWUbUWVF0luZpvOWr_vvyE0yW6E9RzV-fiGB3flueGqeXfC1HgE6n_WzvdP2nvggkEDzKfpq9itm1WXX20X2Ir_i75QWHtXdubX3f0pG71gppuU47DYKmp953OkCHvTd4Zh15ZPlh4bgcQeZUzwTKIVX3yxT1Jv1MUIz2ckwkDEy21f0nix16KF4hwc69v-3WQFsmSdplpkOdPiHSx38YO4g5T6UbIEj6sGBCP_Z-lmTga_stybgnQqSLTbfjJNIaLbNqSg2R7nvnN7_EB6T7y_-nLMgMs6J-EfGKLtS6-ldpMMQeihtfRLifuNczJrDWUQglIr3_kylG7Q2A-hbSHr4pyspOZ0gyVz51ZWLQHwF2kAx_JNG6UmaDOj9q-KRbLR5hm7IsLV5FVqpo7C90jK5LWKib8YI5TykWYozzTiDNASrMsSsRsBVJlIsFVjz0Pa3rOQbOQI5j08cRuUYeitFf6-YR88ZAmJs9Eo7DY9XbeFkVlUyRqikwTRvm-7NBfauMGo_WqA2Szjlv3R8f9_ikZJsk6-SDfxuUBfUtoKPTFW1GbhhSKb34by8QPIO3ywgfycEz1UGcSbJ3rpIfVIGAkqTdcD0euHYee2fr-6abKwvNu85SFY7k_AyeLbbe06YaVZHYBrWktMPJTGHCBVpr2ZpXBoVd_wDz3XI_TSuQj9yE9j4x4YXrhalbXwwP71BiO5xVGWbTi6HYtq-OzNRM44q4Bokquhun7Q7UjMYiJ5AdY7Zs-Qd4bOZaFbSkkreTmhvhWq7Y9GWSf7_9dRzxwxJ0kQGS3vA3ea83UhvuBj0xV18SlJXZdKUV3Ses3BbmPTmYCcupenRfC_MYa3x0jrW5LPGexugTDakIU6G29q3X7VJPFX_S1sqM7cVfx29VDaFHNYRw7P-h9q5T9U3cEE-K-VsaUj2hd3K54FQKHA-iR-wH9TI3YqbAqvpkBDCoZf7TFeLggagBkfqlSk137xjACPZZ2-kGdsr_dIBQAtxmmLwYjIog_F_DL4-kSxxV8_v0LkPonO1Ph746RXzKEjVxd8Ap1YuN5CTyWkZiyfGN6HVxbc49klaESLDk_jnD__coEe9DSfHaNz9kNofNnM54lCwdoASDDyjl9NlmMNtIHpjrWbdVw2cBoppwEcvuNaQ1oCz2fsF7_13PgBlhp43Zi0uwYIGDms-noJR65inPYsZgUHbgL4Pr_jAO3mDgdW9uxt61TMRN-FLYdFmsagoWoWIkVtysU3sBdps-09t0k6nm6x2ap2cO2nc7sR9XbhvmVOU4eCUGgT5N2JZBvcetpKPK9MiDIdlvB1WsFLMzcL5ElZUOxsHAKkJwF3OdJTzMTfJVndTNiyqd9oOdtnYE2HpsHy82dx27uoxLNuZvdv1XKUCwvVSvqdHswQll32Ac3BDai6U1Il2yAjXF28AAO1SDuzl53_1KpUDq7RFHC7Yhth3yObXeVBiRalaumrcNjk62ylRQAdkLpky9yrgFq4KQ_q-F-C1uyUJrvSnodWpKAn2j0qCKky6JI-DT6Ll2jxRLmexQENxXGzyVt2n0M0kVhvQJ3xmc2RHWu4SpkVnbm8ZmWVvJNIc0sW_yi-mKDPNEX4BhNNozfDiExZLJ6Aq4se4HiYfTLB7_GZ42veCHXLPsfMCI5HnK0RSwq-xFCEzBU5rWQa85Y6N7dSQGRYyyZKgWs0XT1Ob38YqIuhs8SALOrLCdyw-rpJ06utX3-TTkgZ54-E5WloGVfX5B8A_fmYyL-tp-hUhr6bHtVXUy15dIRWXvxeme4Y-v2etOR3mHejiz7DPCpitzfDFWkDATk84NMewpnWCw4xITGXyV1x9liEc98u65yZiA7wv-w-KD1QuplKHvmwW-AhuxDcz8pWp0l9ekevGToD263ux7Y3ExX5iochbnqINbNoopZdJED2l5NLXOdtExmEBzZ8-58RezRRAkKSZvFpzYF62uu2-sKPXgHe5a2kLgaMfncrUKF0Om43ZhXEZNnLs-rEYPkBiEPDgHOczQPLxLrIs9gjTSUGBvp0s2Kw7oBoWNFLlhEcOVqBdi8SqJIYahSIVYf4C26ULBrH3c0oAcK8qD2wY9Gbg9AJjMRiUTm7UBRGRm1FB8OjMaP9CDeJjl0ICXmRQE2w6GmKlvCppFADcYOTCj5wf8ksdB2Z-t4EDtJelnKdIQXe99C8hkESgnzzfnkIUoUe78qWGkJ1bavPoR5lnL9vgNuMbOUgvjJrtPHM9KK68BCy1LTG22RXGzXgoq3-t-WTxmjcNUGwVJq7cHaCFSyNBBgGX7Pst3ldzygGrE8Mk9fuj5Jj8IybtzPNEx431lxmHLEfOM5FWMs1Jf-OayT9YAAH02nUnuJ9DVHd28Ncdwl5z9vuqJEw7UiK0Fgr-Ffw-rG3Ptn4Y7EeNCI14xy4bsvnXfgy4RrEyFHwKfIncGHQQhIBuVUi2iVeMVWlEAnQDDTSk3BXtg3YzKQ6FCT3mVaKLCsnDsN1h0NHs4I3zRCByRJV8BYS6JtSXnTMpZNyHgblrvGqdQh0is8Fho6Mj6ekrEnHt1rEhNGO6QD5vPiZKihvE9rQgP1hapqeX4aMRLF3aUmuFmbcq55J7zxxdqBaltPInqALKz33-NI4gRN_Rf318Y5wVgqSaOwN2blI4mQMF54Lb7Cni0SmZeARmmo5C5k_Uhd_e3PGTDLJIc4Vu1qPdCoPHf6YJuHxZIg_If3stoR58rGpQfIuYl5yf_gZ8qZIrT_7GeeMFGo7_y7iyxM6AHJwuWjXok3Cdy6xIjOwzxXn8ulOOU4jdYRWW-hY-kjn4NwyollFoQiUEaKtQw4OPRQ2LVHp4byDBsrMUTeDwY2wKKky0QaVneQBA2Gp3hTpSpM3p3csEbw8gWFMvb-Lea1yftEbZNcUrKbleGfpON4jIbBOUjf6BRmyDdvvyTN44egtOYaUZtW3EnPIMCvIrOPTkgifHqQGWVGkIg2R4gOIj7UYsMAUF8X8IYjnaDLjVq9D6wE4MiutBw0g-vu-PtYOdMsV01JrCe5HU-pa0l5nXZxRzU_YB94QcV8WFIPL_AkzTFSEB2rMvUC7GSvHGz7hJTOKdFTBmgbSl_BoZM0hmH_Tyl8BPF-1LuQb0wFu8lX9Bki4SPuDAOu5lpIJ2dpeuh9547Gj_oGKcYUTtaXvnJ7g2TyMIHdm1Fq6xkowqIP3aGDIQud9E4eqEMeSSkwU7LNG_sJ3uVYEPSqchad-HBc0VPUseTJSs5WqCBh9ACe3_9ZL8Nvr1QTfCD_u5Hzek-9s24gUuKMNwLJ6sx_ikQ8EqMLLINE4AQPoKG5iTcbcseWKbkV031C5makjDSda8qfhx0equQJ923XU5DXEmNnNZqkC6k2JT09gjsFodPnTF63Hsg_2SPKzSVcOltkJr6WzybAVJu__9QpFDq-oe9qCUYH-AnRRxgxzaWCE0hu88eMXe-96L_Io3eJbLQbNlJDSgTNqyrnFlT6awqr1SGbsWydXJtjCpZgx9GV9nJ3XWFMRrbvMl1GFU9MXWcJv9NnMrvsbQZ20xnI1MadlIAik2atNXAZgIN-xJ7awE5c_7yaZKDH1GFtnS-kqUnQP7iPlEjq0_gM2yKfgpdO6sD6JuzVLbh9WiohHVr1iLbpoMTQg-rwp6PZ4f_410O9Q3yJz0rtxpniRZvulBgW1RypC9cv_aA5iEAJubtRFftMhFsF5zO7gSN3rtTYftyzPEn1rp89ClrXsw3owd9UpnYQmM2Ycjq6fpQ5CyGuglQ-3QPKQ9vflQZL4qvgKB0GiTT_h8aO1z1r7zXr2o1vbq-jWNvOvVn6Ilj4uKUHMD_BJbyDnB6igRlbf8aqFxcOXN5QmUnkC8jXbxM0duGxt0o0ODxqg0u5k_5zHy67PS5r3nrMClfdJUTmUxsT8i10rvuUh5ck9CUdANIpJ5wx0HPH6eUZoF-g51SPNjZfFADP0_kRQw77v-p9MNc99suyVvTguURF_Ko-6kXviiIMapvKzC4MRjkXXKBlsTmEoH0qzyHqiW81mWbgP6F4jiymVbMQiO_9qaiJHSk4pBkw9XnZwn1OUZeRD0wT7PT75CX2hN-a5zvxiKkSWYXHgfgwU6DBDXHeAUo77w_MChrZVt0EfdJRb204FMXeLDVYF47N_M0DGD4HXY7VkjCm19Qd5fmKHowracHSBAlSP-xFeswv8_eUHb_6-36WVZc_UInhegIybG3FKWyBg2ZpSWab1PGhw7gZZza8lVdUxxhKSQMr7iN4TlDyew0u6VmGE7jNTh2rTwzSzMSF-ELx3tk88UA9f7eb3BpnCTe8bYFVSINPIWa3R7XqJMbL6c1GTIhEFXUhCBq2CA4sdN4zIo5aNHFth_8EAtvPZpzEsWk4B5eOtz50vQioSBHyg5ZBhFYYoUEGuf6hmY4NET8e_FA7t3Gg4UPlM0Ckg2miVH_j8iMk9eVIpIS8N3y2WHH6hoHlHDDpHbq9EBdLZ-27wnT_acnmJunXZFeJ5vo0ow4vdIE2jvX-A9Y-rhbqSvSpmuCu-USzxhcadl2lU6ODzsGI_FJxJ6WEso8ZxlDDLIX-4vlWIOKpRz1Epe77TAeDj5tVM5dlEcVx02vvTbLVUWPX9l1Hr8knungpuDOXuerr5XOL8b2nEZL8tSagBqRODIMYoD7Mk1ROULkrs_MuUfjvbm6-CCLlzPPwW19GBVTNctIPgfSVBU28F1El7KyNAO1dMzWRxYZa9yb6m93bBIFZpXcJAyiDLAvZHePvk55U72GY1FI8Bk7C_gNdbvC47GHSmwP7z3IGqmSYmygnO1X-jzXOExJRrhC6_z3wSC-RXyV020xRXSeOYMxgtLMQftrZ9gHADUTLHKLKz2jsEUVdOm5eveUk2E2iDAzMem7AdRqkfkWzLvupE_H6hcSvm_MWz4TipYq52SLa8lzA7rbCB4Znqm5DW-oKffN0qFpoYutcxL6FzczYUdTI4m0nPmiYp70rJrF5P50q-HJW6AsKSIXLmmVflbM11u3ojh6ppEUkzl1RP98pMrJAtVWY9lhw_3_yZ9IZ3yq54vhckG-3fuRmXG_9B8wx1eqREYdP2SCv3RctjRGGcpRGTMf9ttS-GN4NDMSTTt6uuk68o3vskJbMM62Nij13nW-Bvzo1we5jK8FfLxs5O92LzeZupbZmZbomeWD7u1LJ50ti5wHXWtVIcCV4jYPxPaScuoNmuStL_1lYxJ9l-vTleOu7AkbyushcmIT7_aIVJjqiskdJaBYF_kopgdN9armCPcbE1lr1PYyn-LrOdd4oapN8s6PLE7EIr1CUGmklVHbHtGgmb_KynNNLTJxkJaCwe1qoNJC05DUU7kW4PXqsIsSf356r_g3mnU1x6y6VZcjkgKBeEPDasf5MtKIRHZIFO3A-brb9nF5i_FdqSeeMtB7jr9z-TNuB7Q21exHC-4-Slx3uyKd0OIX72uP6fPW5Bj7udm1mfILX4EOcBgt59qXWZw9BR9T6T2YRd9DzuAqF1fTPyw2s97ZeE9wPyQUpYLxsJI6NOn6baH1WNLax3Ugnot5yU-tSg7xOktg2AYj6ECtcs8Y9m-BtztCvIN7M_ptZtGlwkv2QqWwHB69rPcRN_scTA7a-1655CZqgRnl1KYeUpxAJxAHIAWggOUF_RMB4JFRc-WorRSmr6URJUUytI-Ju6nCHzYBqk5kDiCH_UNFcD0_Qbdt7nA6GcqVnOuz0lEwfrxRAzpSCSUj0yOsMh0n05EKFP81pXzKmQsvQGrQPsPDEs9lxi_SGd8vawqFZQHnQ629Oukr-yGhTr2G-mSQllLEhHlmCSvsR7XuFEOKnypkLcwCAwcVM-xftGKPvkafClfRbKRO_NsGvnzXTKqoXtHkhT426DQEIgAKLEcv8yToennqO4k-QtfS7ekZjpFIWOn48UgQ2UolOpFKTe6cnFzo1W_lVwiQwVePEQa44u5_k1-saSqa85GgIRErujJbCxoMHZk_fFIA-2OT6CD_0xFa2kgB13Qr-RBNn9PHdHEt6EtTTQLgDw0tiRipFwXxMyq2pKVhxZisYy9keyoQrr4wgUh8H3WYZRkF332TAgHcqn8UzqGdaysqRuFW_BBHpfMKQ4h86ZunzrTvSGJEboPLd9o6_Ofd_XK4hoQQ1eNl7xe4nfEqwaBPoPTUpvYZH0pUK7HfncL7_DDwdgpuYhrkKHwYZER8C6ljos3fe7GskEgqienp7Db46lwoNWZWJI-us7D180VxJSwZSO9HHrWUL5UEU0cXcQhqUB0WZYgoV1Mz-MHPJ3zC6sbiSVdugYZnLY0Eqd2YDHUmZ8OGvtEO902HvmAlYDqguKnrERFu6qt_gYiOhkrnYbTIMNk8AHN7OXiZgscW5r3IFAT4G_qWfV9f66dQaHLO74MPoVBwsfshHocqEoVxo3DXAxhZzeO3fWe96sQjgl0_ApKg-mAcG2jPwPjX05AztkenPSAhecMij_fv4e24JSpck2s5pwirUww-QMGbPCZmU0awa3vIQKgLkjLvL8k1KLd4sBVW87UAhZ4_pSKgawnPORJWzsrF-_yrclOm1AV0r0NhPVA-KM2a8FzMPtA_Zs2Yz3lqYklLr6oSvIbVQmMSxyYwKSH7I9x6e-7tDA5yw_cMwQIPIxQNqKawz4Ouk3B8oidWKpczIu4pXZpEk3g8N_TDKvpiCIolCnqFKxwahkouqSvALhXDBGknJT1PBp3LLtaz2rBija8B5MiZxhdd4j_DKQ0Oz_S6C00BUCmJuvlpNTQWA5lbagIGZhgS79JXCnwQFchMl2KPQrFx6GnqFG7l1_5CXs-MYTXfOQhfA8a7vcB1VUGgMCQKdEfBbt_ZbImxSQ1oOSBX_tw-XadYgXvvzhILBOTutOpyzvsZ6yIyqEIppkPKwitVGyRcWlzoPLTvss3WAzxda8nd3mnbxxzS6OgEqxYzFX0xmBj-eSq2904MZWTEkevZFbs80mNRPqSlvoXexk10Lwr2sXsVtL01lCBet8izpbN3phZjv2P_2MBgq8S8XRK-ZR7YXr2Esh-EBrKC08v0rExx__QPauU2dUqouyPN-qBe39cfvw9h_pOnAycTeUC-QU2mENRvx64bVcNhYC9X37x83txymyvojdqlqQPPq42oQSK3CNDCK07zQAzFEfZbcFtWOO3KwamrViavGoxr5RTfN924yW0a1xiAuI21UmHNZ8FY7j-QJfqzFVw7cQQfPSa6w1raZ2Ac8StoZ-SG0M82kgnQYaCUZ1nxfpWR9UjAFhUc_cNPEjV2Zil3b2ehSHnYSBT5U4Aukv59b8fy8tuHbxM2l5Nek-mCENTqSa0BjakNS3mmMG-v7RMZBlKsBW93qkx_gDkFZnhNra4F2Bmw2lrEIWWveiv1lYvC5N-rqK4fXudhjaqGw_-5Ndan6HZ9M8XeJIrwXxLIK0X6wLSFZdCJD8DfJ-b6_1b8S4x1Qlbn8znabF_dy8OhnFW5dUO_8oVMr38hRTxkrLxGPh5LfvmTyY_6qJiQ6FaMuvyN7ugChetX2EftV5WjsMJV5o0-UCjyG9DQr87eM7xho5HNoKSI218didC0H2TZe6ChDPBR120CDlYGORdVCP8EngDXCtbaEJRwfgp3jluYc7TTkhSCHSEcXAoxvRMj9g05TYrKXOS1_h_SpojDxuXYQwe9B9XpUuKyUUCZ4lsuoovuMruYX0rFIUsYg0myf-2L3op2OMmZ06C7SCcf_8jWs3TzbeeK9C6eDxgx7voyjfZm-3mdfe2xz4p3CJNQ6qlH_GNWAhi1YVbaNUNkVj4uygTkGOGtQ7M9w5ZBxjwlaxUY-KfkbKdC4xw6wrJqLCZEeoWj3vMvoeoyNSQVHiJdXMu8Xps9F-KmqgrqQ7dA9jtiKNfS_jAhnSXPv8EX8p2OV9DyHl-uLWI8lq8R60MJb55th3MGoNf81vlrRrFoLbEhdR9ERjdoVYKUmF8BMDUxCFoTqeKGx9MoiUQEjqFOziEPojjjOhV4jGkHLCtZrmYnRrkSGa7j1MFZwOxVwzUNWf3WXD2UJ-i68koZQD2LxKb99OszwDssMYPnw3-0awrAATbwpmM3W499Zecrqi6im81aXpXtEN7TDSCqiltqiWgDDkL-_vATlcw0QJ9N1Y49xSJBVSsFlW0mMsw_5MwgAeUOx78YWehWNIHS3Cvr__CdCWaHLuM3ofU5OR9jMoCkiUtpQaKyMuevYn9uahjvA3GGyleZSEVVztrRjBf02PTsGHkHxE4RQ4UX8cRsO8QIOUR-244jr9KLVadRmOpTzWScHQBCWZaBUBQNPAKB_r6I0qTuRl_rVmWBa53z1P1WJCYt-zVzcAHzue1FrSVE51RTJr5qUgVvv3vGWwb64uGgDcYTqrRZh_3iO205h0AK20qpbYYCHrx_qQry83jh0aNw_I5ila_4AxIhG23srB7rV310TtnNZJBJ6IhP0DhTjCAuzSVQ_d9k0hGyydQJFpK0Q6szYPaiKEmz3jaBMq-CeUpniN27l5P6v739YxD0CjIBRkQBFk22ya_J55cPj2X5NbjmaqfZLQA5SpwuHX5po8AIu5jTX-FDI24oU5iOxvBFtCRUPlPfjJwyI5bZkiENC8UOPp24_-_0vzgT1FLIZFtLDIbiiRedwUHZbRsRP1cdM9ae3J9-ppw3xqBFmo6hbBk6P0Kwp-ZsWN86DvezLhN8IeVO-5dXuz7dMd-yaIg-3t9NbMkfeMFMjA32egSXFCuGgC9uyhD7RAorvMiBkcJxAzDmbYU6axp4gMAHrlOn_bQ-dscua6GGNjj_Rb3GvGFxK8JrglImoUh_4OnvEVizqbI4Xok-p2hPTv9puAc9YgTP707FoghZq6GHpITTWW3UO4fYwmbewDnWNUnqZUtw0VxlY0UixXtM1s4zII9mmk58RieJC9rpnnNTjkAt6PgtozG-V4FX-b-HwJLVUENKeAZ5EGfPyXEkz9fd-GMpsmlf31sxfEoJzY3ISPNJd6KEbggf-Y9v4bVshVbkCBh-Fy5KK9L5IbhgnfyFqdvwUXGxXuNYEwRMT-r8WafvupKgjFfEYhO8teFCso77sNrmK_Dmeoob326LuUKgSTuwjhGYcGcko-Mahfw-mMkRaRDB-JX5neX9H7wcebUKbYtKtQSAm_xRvySWNw_DUH5Pbuoiwq-pn0yLYQeI3o9ZuLZCKichrh6M2R9iSiavoxeRFEeGy3X6zjAOvW10tJoNhgRRGLWleK0RAm85eHugzfkBQcw8QlOiIutsk24t9mZv6lYrYTeDHOQygT5AcxOAOtmBwLhCL-43Tn6h1PjwTRC7tQlCCdDNSXCu4okYFqr9bx0mQSMrAqSxHN3COJBykpTwhiCiC0bpGb8BffYHJ5fPA2AJhH_DGTepD2UyEcp4b8kvZoup4BJIQ32VIYERdH5b74xN9twB123b-1P6zCP1uaLQ7dzaX5ko98TpYkPCIgwI4J_kH05kxfTMvR5MV0X2RHF2aCUoSqrtU_MFPRvxlr8YWe1hmfYHK8KOr9tlTR5xJUCZb3n2f7MZsdv4j65bCFQgmsiB3QUh8Yyj8nYiBVDKlrVo1djTALmaJiXw3MwaQNeAGGWnhZtPC5LmW6Feqynot3N6i7WcRHbcxtZp_Iqdmi972HUovLLqSpI8WkFE8i3zUtBpXVh2iMhVhTTGoBKYnDdmM8itlMBnRtKCmUYw4PlS8Bt2RYWLOtbppkcQjzwF05DFVpNObCo9c4omQAgTcKEvg7WhYl78deaNJsKojWDxKHBTqiXBdKJW8u3qZzlP-YOFRWMW3Jn45krsCAKOagAxim846vymsoS8Qyicsm4WqFL7IBds4WpUqvrdmSTVVZjVMLtYNMmSlN2qM2yGI_llTW0wgkfgm0zuTL3W3FT_10poHKkUMgmDb9V4Hvz5ej___VbL-4hrKyU0L4CL7hsnN7WdnW4Kmo9IUTqGz4F93AQnO34DNEtGSynVVv917918dGowNskD8qmjfEXstJIKf7wT4fwq_TdAFPN26YKFXwC-aNhIVJh61DH-d8iRSp75tyqINLmfcf1yYEm1OtHsY9IvNr9sQxGUE8UBBEde-_YjfsaoJ8B1rCaid-a6rd8XkiqhnMfAg6PxyFYTPZPQ-lCZndbeExTrTEUDxjb4ovn13CJ2Y-LWvN38rABcteIk2hsOwHPn5idmN52IFsCUGtqiqC5iJnspOe4Jry9j1BuxL0G6F_wlNvlIH-frdJyPZp0dP4FhAQLteKJFAdpXND_iRxTPyNMB75MZ5YdAfMuxW3G4tzK-_OxKmOduv4Ayn12lSmiSM8V36MaarW4rUkc5lPzIHUnm92nzBZoTJXsIBuChF_FVbCN1aScSpTEe0tYCs9DTcvkvtz9d4rHFR1cgOZmPMOEvw60oZkssBGhahnZyl2jgi7DPMDf1ptY53GgejVdhZ8zAO9bhdRdphDhJ9vdzfP59wVpGqC5TKHdIBtSNMYSkeLfHfK-WzSg7w3FJh4qcZInffCu8m9FPCsA6pl1aYnnNQpaXYRa1R171Ler2JpQoQUCtkT6FsYSxhF97-U4zGNMciUZEkS_IjRMRYydgKqyxFkcxwtHPbnO_syomIreCM726_2AQlAa0amvT50y36_XdqtakgY3up85QQ99c486ZH4lhykt5tw4QCRgxKrKUVWPL04Ha_ByWay_DuqbXtVtlPtJS1VPj8Xn8J61LrF6Hq1muex3jQdyT05kphAPWwL93-dYYsZUzu7eYOGdkp5J_5N2ArYQeauoxOIPIl4WvmeIuTFGJWNBHLkgNukcBwEUPS7CiGNLBtQkTfUUM6DqA1ICnQ-fQnfBfRipMLQV3Msszt4Q0gssWqHILMjwk0cU21oMzSXqVaVCvCL0TOtjSARlO0GkkIub7u0gkOZ7jahWQb1-njrk66ic-HOhwhxsKxD4k019sXWPzVt9Lei7ONoyTLqXDSM_uM2RsSL-0a2BzO5Fco6h5kI8BbCdyysQesFM-b4WAImUnFcWSKaaREdVE9EVe5-2oDs5b0uA4adATcT3_CS3C514vHmPTqPYavh0vNKTtUm7qFcTny4B9ZgXBRCCWa6Q8mghZwXdWweSHzexRofMZFj4JAbjiislwVE7VmF3PJ0_ME7-Zh_VZSa1Np7uUuTW6sHHQwDUXJ7gaSZQv9SNpFJSUklCCts5FStOqgF83G0JN_rwmmpWN5PBps_PODziKAP-4_tDURfxM2Mpgy_HQsoL6iB0lyzfy06Zn6n2nh-1B3k9rzt44EXUBHbZl1B4Xxqc7wyU9J2QzzJyZBoZdpuekMJZbYglwhRfbw2hhFYgWrDl3-6Kfp37RtOzlH4tB58uuZQ1m8rhFJiNV8cHQUjse-7IqFz7UfASwR9TrGOBOz_ToPoJlQuWNdOA2JzyuD9-L8a0nhlqqkD8rZ5P1NrHDuN-5rTor_tNDSQDFP1PCTU2_Jt4BAsb1UmGnoVtHqT0ev1ISUCE_b2gcSWSSvZ2veuUBE94Nhi_kfvcMzNoG8fg2eLNU73Q5juPyzhhIy3j9rI8-6h8BVwwesvVqzAq3JzzXerNqLUBud1H2_isG4ZXOo8X4iBmjGg3p-MwDh3Qog-bwuJZJPFZCSU2mSz_05omDggJCOFZDWmINBgZc9qzJ8UTIaZKJenpjoO5VgK3qBJsK-AQrbQndcwQ97ymmgFzgHjekAQkMMrCWAZ_5_YIvpajWRnB_bCRrT4aUSk1Yqdgg1eEDQlCO-2VhU7RkQouWiMztdr2_4aHpFOGXLB_tK3rLxEF6Mjp4vYUmI9pfUbxgy_AyPNYbj6f_6vCmqWSpPMZew1nuO-rr2wga3zlv5g0NJDeYmE5A42gZY73MsAxP1gJgF09iZSJLLLuZPsCc75f06XWN22P_pVQqmcZkehLfDdet1REcB4MDmNvXWhyCHKagH6TPy4iQ1r-Js80GvRoOEQvwSTOq0hK4xvh8er_5CW0fQ7VZVjuES_0Fa7kh4DS_QetqdCFsYvV5z2cqyr6ZilgSkrFayuOAXvk4xNnoPPHxRnXM8zvcZC8lXDX_YxnjLaIzhMIURvGOAG4fwa7H7hgWm0Ggoy4hWgt1lUPewK5wLWSj4RSY9P-3Q1iszOutAMihH_xfNXQkXGUNrhAa7tKs35j5ALzm9qBJ_CrM1ICeCOMvAgGuJuosPbXPzX9a7yC6bkKiRhhm5L-MkFwuEc1JREkyqQGkkjWMENxBRZTunf7oAnJCZBUUh1hwBE6znQGc9dndyOHngjpoxRFbV6YsMqHzys2NGC88Mk-9BNR6SIqMVmEEc2CZChe1Glq7pLs2HzmpzGrcYXNYBK3MVITrYzNTq9B6nvK1-j2ULn-HkGVmlzijuvyuZEI8CBT3ePp-QOlFHHhFY6olHjCzXtrrvc7P-bYCOWYA3XH0wym1UCKEorlntAZ4D6GdV6m0cZic4ZEbdxak4sjZO9nIPanxaU0-Nar0dWF7T_8JvyZAbkSiXDG6GLdgegjE_zUTIaPRKQdVqNgZKQAe5LFLA0ztUODbFatei9AbZVybtOHmqvV3AgaLLFDGwHhWDx0JMFcq0gWWkIzvjEtF7F4bib7ICk8DFmtoc-Y_ibVqA375f3EaFYA4Lw2mGyeexLWjRW9GJgwAixXVuzxy9Bb5H9kXPUfvWOfLBkMQvdhpsolBUJaVbDDiJhqEqKZ_lSSf6Gz3CU0HedYXzTGwWuDIp4kk0CASRv-4K0K5BAn2V3tQUhgsVaFnuLtktfxEpPLsxl7nNF0W8Zd3gvYmGlE5AZOCgYEPcrhBYF-3FAKcrg3n3EfbOkzGZDsyJ6Baqqu_rdSOWyGrDYwWNvXZlCZrj9IfeglvHauYpZlBqvpFUVP6aA8e5B6Vz3oavEAcQxO-bnY8NGbuY6GA2BrVBoNl9jtxwYBntOnIFCJnxZus53oQK7G4pzEy2OvTuISRtoDhtlHEyo9SAhlutn4dDuCOK15GQvZbQUdSaIQpckDkORWvnruE-oim6jWf2ARw0o3H13xv0Gnli9VYk5EA91_etZozH2DHAmG9JRHEWSmYAmI48W84QM04UZt8TqJefImMsolPejhNzCz96f7HoSSixW-zMfyWWTTsvSyuZ117ezcazu51T_zetIdVct1dalrW0sO4xpa5mjPHxcF9_8e76N5vW_SAPpwamYHvHYhi8bWBq-tHUHszhc-XqtE5IdAHBOVSdqEWSNBL8_Q_qX82BlR1CSw7gpPmXUSoCsOHF9VHrlfyAze1dAAEjX5Yozwti87J4qZEbqNU5XrojzkmxydU0wvdTKEx7X8_6uJnLu-GAu7DkAyA25RGhIyJYmW-w_cwmIJSrCgubwom3NaUibZx5hjHHaNLRBJyMsOyysEahPDTUVvcq7PCBcJxugmYzygYWxml4sIB5628SXp6LU65atC3o7CnyMkkLBgGGgirCjeDdFKzfz1LszrrhJ4mLx8hQXpz_bCo5pz9iKwRssUDnKnswKuoSS4DOz3Nap5RLd4AJf5oZYeui_dilyXTJgZfdL27jvnK8XAl-5-HyjOluXmVabcY4Oez1vQrI_KlzKWsolmlPmFyHlj1bgPnRfUoM7ER7Aw14QeHTxOODQFxjKywLmRXxkqDatlzRWthj5CD-GDko5VbAvX-fycFAcatJW3xTVAVnF0ZBEYQglyehPxeya9yNMQrrgq2ilvXJjGykfTvmGQfbjC0ZQRbyeYy4irvWp383S19t44NdiGfDBLSk4gdRMUzKAsNxg5q8h3ssS3TEzMX7CTcnVpIRFvjUpO0Zo20TqPTVil2sRpyfcEokHSQZAvV50OrIB6MVaZJZPyzx-bQ-3eYj11AnBUzAMrnekO92BWDe-pFrGJJW8Mv1Rx8qdkUQrR611BgVDvLrmhuL4dfWww_8Z3gndK9_TIcpe5MwHClnv2FRWxMQ8gmWJmdW5uIDyQJtMsVY8vlZAArSb-lSvMbTjPTkDmK0Pd0GNtmAoVAVIyr9TH21zySNQF4VD_n3oGWt0lD-M23eAB-SoGJOUhCGpKaRqFSTtEQ6fP4LnCzEwAxWA-CIeIORvjbqAhs_9G7qPeep6-4cGPI_YDIZMUXnoRRRSQ4snbWenAbAbJgkFGlNRZc0-4giXWP47FAoF_SeBcvAxtC_W9v97t-BdEycawCwzbTIUfoQ0pEH_OKdrdyjm8QPzSnesz1Ryd-t1hWTGnBUr1B-4qkB8_PLW6Qs1_wo0DKYdBbyef31_bFXy-f_KGsHmCUbn_vZodRyxiQZHW5OLx8R2hO3vDptcSHUKNst1NW1A5br2iG0yoMfu-u1HQYDqXHfJzlgBLkB5Z1KL2zHQ_Q9YvImhX_WahLc7BJMGzenP5-ELbNoG4pcExCt1Z1g9xdTkNjyVeB4wIPAjVE-pteXkbqRwKjOYPGonC5d5H4jfSGbQlm_zPJBN9mSeF246vNIzAYXTaNqRf9LVnvieudzSiPaBbhMG7XLP2J36WcOFJLgOba7xkqOXL860MHa5UxqhLOw5HHQVGatHPSvaJyIYsWKSoG8GucqZt1HStZQiuSs9C6UzgBSmQTmbrRB-NZdfywWqtfs0jRp5zmWxiSWSKeV2ZFkdRjYoB_x4Nqk5nnXezoyQQMQA2KCoaRCPhmih6Rx0AapWH0O3NiFxn_XgAaWxcdwu5VRnfLTqZE4Dp8Yj-D4GELCVq1ftlzRtNbgs24DFmLo0aPChq1ltiwBa2IrfO-5kTqAB5xOtmccWCqI47XMsb4tzv8DTGjNaWI3mtcxb7PzpT14l2TpfSUUFJK82NzQ3dnQQMG4hHylUnOiK0c0ygEAvZZ13GBr_XvcCsg_F2f7WxIq8yoMvfwjZM2SkuxWOmt4hXPrI-XQ9boN4AnEFA9iRjps_Ur_3g_SEpDyQ8PTY_saYpy_DtBiBTr4MO0YrId_fLvc5JI6iQ5C6R5951-56Z2sDKTXPQx2U3Ls0yJBuzRBkez795d6IcQl0tFbTkP0lIkj4CNeOZRpTc5v76kQovRpfaXUmZW56B8lJG76FNLhsm-T4bMP5xiBVrAODhA0wp1L2pp7gD2bIWt65b8aklO16LveDJmnB3VkWDNL1s5F__WmfftZlTQ28V1TOTNwCCLdVr36PfVabDczwRL66xDdZKImzJn7CNnvH7zK1wVVIi7nMdon-KTQn7zkNVDqbYCUyFb1pKryiOeNXa0eij6ZJcqSo1BwYcyo6wpZNguFycs-PHeO24AjisN7Gnh_XKFsL_yx9USyWNZlLEmwEZjLqrEeYs5Iq3G4xJkMeXokTdXa72GikadwOW_tWf-G4kPOs7hlAKd8O0y4hISgvW-lsr4AoE7yS3h_cyiWl3sMt1Gf1VtQddEi_gKfmOmTYGKqTzYarOQCrulgp8ygEoRLHrS6c_o72kyjhXDmjE472NqVGt6tTdI96vCLll7rb0iKEA37UYLQ_bR0uS88Zum-buJp07buSELBYvfWhVnbFEydz8huU2-xNwE0TevFHO2Zf2feNY1OeGKqRmWxjct7FHGQpfp2BtgoIyrZRKEjFUIgMSMfQp7qZBooAKvd9jeYAsgzCg9nlkKYrwjwmf0fzKgnDJ39qHlb8_SA-pC7FA4ehWyTgUbyT_WwlQmHvZ8PulmjYPWJDDTEwa_C1Pv75BqVe6Oj1kf22Kp3s7_PPuAag28xfwDR60Kb1fvAqWLjGLAkFadoOsoYCRcSQ1qK-7XoJubcKr0pSEWjhCercIatTwXWE9aSMp3-g7LM-9ccRHLAqGO0h64bLJe58C486nH7eb8N5lYr7AGKPulreGQD_pbwd5t-iCqvWgILJOxLksRZPtJ1GaNyDC-HT_GR8X7jBgElDSNURwkkopqWrDZflS3x3-erHQ7sIUWf03P1Q0eR2FXVq3N6KS61AWO_KUxQi5nLysuuRHHE0hO59kj61CAmFfoVPdrG8SLpYRQEmfHWj8ih11Wr3lb_5NQ-HaFGU1gpKJyl0zL4SoSUo8COqq1eDlx_B2GOFQlZkB94xapMwiGHF9u_58BlopRROT_VMwMDmrkTYzCeA7_VigizS9su5cPJ8LibYphknl_I6Y36kZ0ps6Qf3Pw8W7XtQxRjC2skzcMuHMdN4cIsiP6tONyualOq3adKbf_QOW8t3gAysMs5Gcld2RgEhR_rsTU4hZ0DGg4e2DfNhsDxr2ZSc48P1Jqv_jhTXaajmmdvyTFtQ6PM9h_nqRTxf8PMFs9q0YKLry_C4LRj4dLSZY2kVGZaSv4QAMwZgAELl_-dE_Ff956qcv9bQFo1Q76hFktWqN9ILkRmR_12L_yMNYlb989OZvLz2cFIxRUmWA6ibARwYF9pntykuyKf6zB1HbXLDBYAxtxIvuGtH2VqY_U9iFOc1X9EyP7wTVgzVsPoj443zucVscyh_wcQM1eyAtEGuOVcMYVLFNxme9M0PfohkJUVJhOz1x9whaRCfiHuvvBd6smzxxthhcSr66pDqERRujyyLySnr_urym-gl28_Fg4WVwACMkEkr-PSRIWuOJO7TmfAVUoq_1iFuumJ7LjPM3EUiBjLHEr2zwLzLH1_jNwG6XnI83c2NEalp_CCdT6mogg6DQetYCZ3FTv8BGJ-Xm69Ow1c8PyqjDcl3I7I6OMOkT9z4ubFCfFd_pQWHyMcQHWLt-drtxnn_6q9HwX6cIdl-TxPQgkx2qVRyIfk1C9Xrut1gNxyV3Ec7ogQcs0AQc29nk7yTRDOBS8-IYxX_2Om0o9h4R1dHsXcZLOTLCEVq9xCpLm2pmxDr9VxM29bCB5Pk4cLxJIt3E5taqakThrZ4DNACb1MI1lYr9m_OWcitCdh1Rdkkvg3FbhgmJP2FJ1TgTHfGiySjPl6bs6tAn8tBWsKpFiz4RhixYArQJpqVsj2MWXL0wYP33u_6G6hSfJG1bVbNPzEmBkpkYd0_u_ETKMCwawIYdSy1J2NaHLHeyma-RGnhXWeEzqrWerLXNwrb8rZUNfO2n0eB2oqwlu1vEOYxWZAL6ursC-AuYv56_d540hKaR35Vq5nmsX_bM0orZFTF1eWa6F-o0X7afNSH5ZCbd0_A1NwqE-42b287Wl8ahby2Szocwmun12egkyLtS3ySTzNfhcUj4W_LRdn9NALY6CbU5kZUHuummk3SYlE6s0tndiyDNOm_hRcA8jjMYkvZE6v7Ny4XDy0RPqdFWnY0JeUq4-lze4Cpx-zLaqxB6qdCO3Rn75ce_6dNWaYf2CCTjDPcMI-i2jKR0026EXsaILIHrA82LkfgHm_lnLCPzUfkFQwC7MJYsRoAtup1Cmhr1T1MDDAuxSWKXZz0dtAt4HWxi4kEbGl40RhzUepDgIZb6YqCDv_FlDVemus_v9ZLmjGchaeYafNppbofxjMXWljJXTe_c44um3fVgLFErLw7hXlkCMZFwqGg6NdJVP_MLVVH8hyyM4-jZEYRQeI7cziot1ozXzwqr6o5Nec1uXoEDC59EXtMhYZJ1LbVVxP_Z0ekuy_FceeAs42UggqVu_APAl1aaULkr5GbPZxZ-JD2QJnNppvRDaYIhsf1QFZ4LdqheaOE8MIbSQnKnlHkLZnJEpse6AbV13IpFoTDvmd3FmiSLkn95OCpVINLdABI4c01MhhPjULJum8dWwcvix2pNqlpvXzGVubJojM49uD8sMgFGZMnPHhoUzys3Cg-WDKQEiTXx_sRidEM3mzmUS9SFnG4AmvtGUzGEmVJ3Q-8oA6TIa2PX90H0d7mHifWh2J9elYdQk6zjb8IiPXbMKYU05gz11Y-oDoXBURWVBG5E8szNJ6kaVvc-1HnW0I--mp4f03zxRpGAJBHSVmVMtVRxqXfX9zo9WRT1F38DV3SlLmPNh5gcui1QkWq4AkrRIzodi7AxHzyqooNknMev3R0wgthPEv62kqaFCKvGgZ5lknThf0HB-nsWZHMkR4DIPfWEPgaRl2OnaT8VZ-dD1szfQp9bmGeFXCpCXVSGBj6HPY8NkMRJHiGqENI-q-vI-MfBhRep51V5wTSjTpg-qj7jhE0TQPGmtVpQOtLKa_NjbszJzMhYw4TMCozJcyLSonnfjr0bACJ92sMLYZq0Jm7Le4YSZfBK45TMypCV6OLqBY46J1N3_eJHE3wwJvYxchpatW5rARkaZ-IRhjcKQ8BoYvmkB-rrpfx87eUsN8B-sOEJSOGl-RABDgmGtGRBB2JsoYQ7DL3lFnqPaznBwMjTZeVfW3V6DkW0NCy4OKTWLD_jt4-lkGwISqLOZVuCB3vSraf9qJPeXDtUudxl2JDf2pGnHkXsZW41vEyBYC0KHPeDlM1_SzY-oEqyte8yu_upGm7NGcN_fWOqXMaSH5lqgiUHBJqQw8MKwbOdr3xwccGi9BLIzATFnvhyFYTLr0QLfbJKJ2OJqAwOnUAiOEtkE2ZClMQaCWhXNVcYmBpkp6gOpk-Zf2sUceO76-Omxxjdbik0oGTIQWRAkHw532m8QhShPzjJ1iFDdRmyWNG5MOU37zeXLYIULdQ38p1Bj3ZcbNLnGXtyKV4kRA3lyiAbahp7ebYipD4fbmduxpKeCgD-5azhnbkfL6ooHgPr5oKMysPDsMViq6sKIPzbM57jtKTVqtHuS8dbgwYOQjciTVQNpWQX3_TXbMpNsW3l-3Ays7Hy6B2_4ob7YCUKmgozVeuV36nQr9BFhAQKN-AfZb2kPuq7VF0MtBlHj5_ei-Ck2h8GKnSNq7kA5BfvjEVKYMKL3E_3sBdgZ5EeaoWJnwd4qGssCQaQegNtva97t3p9a6g1HOonuzeA_SsOY9r3aun8Bz3XDnG5qe57bdMIhbBkO0kEeQvG21uplLjGuOGB5kLtBptKKOuFCukGMS__9rmYRINNd-yXYotP3zIrRVEt3ygT-uJMDF6uTJCfsVKHm63-Nv5GHdMUepEdwaA6d3fas0sma91hY2a__SuPLRKI-zF2LDrjdZna1cbtMKtqBmFWQpB2OLbwh9FsDcDVZExVZkCxYqtCNV7J83qA_G6i6luidOMz1FEczMqQGLUc20MUQW0PO_woqTYjuviJeH6Dybbl0D_OIZBLFHiYIBDIB75NtMXq1kL55rcwSIWRlJTqVbVOGmDgf52moeKs77DMFJZekYEJhWYfdKWZqrC1SlxqrcSNEjx0zhDKgkTo9OnNwbe24hQmJyLlinRocBXtcFvpo92J18tjkeALQYlp4scDVDrbwzZcTJxNhj5jpIEy1mcESdY73nv502OIzkwdFFvNocI7V1uwp3QbBeVyofKBSQk1ABHcUS62MAAvBvGt6W6nno0IOFwtOXQJeXYvj-h3Jw5ovAZscMurUjEjL19c7AUdXvCPJVSIm6gH1nQWjOvnsZRI0SkJ_B5EArG9G_k8bCtD4gwNQmvLqMwYT-UTvFCqxwWAmkYR4vmOkZjHqbRKpvRZhBffo-Rz15ns1UFg2Gah7yAAyFVaUkkpYh0BWBb3jrLalS58PJEBdWR8ZvfboWbZf6iHxvblgA-MZ4C6xV3po9-i6EehxA4etcJv2j2H3p0x3Y9Qf1qzV3DokK_NPB2qJxIc10_TxRzyUiuLax4En3v89Y9Q8ko8ZpBCyEaxILRp33-2LR4ZHqje5k-NCf3XCdKbwfxsR0t3KbtdrQU1HnBpWJPyB-5A1yAUxqYd1ycBqmHBfFzoGEcBpO4Vzu1Wc5ScEqGXxFyxPKIbAntkVIv2ycA_WaPcMP0YCtjpjK7K63SUZ9MeSpqx5CVPk_lqcfuQrCzmXs6kFTMh0N7hxQfyxbl-GjJ5ZYvrOP75RKCRGhjHeSjnFt9toFiNSjh1uPBkMpRqVKnaTkW7qI7z0FB_6OToE1da3CnDbh3UtZiFzUAo6wh3tiAiLhjMdzb_vJJ3D10uEcN2ZmXnMjqfIaPYEmfgJU-TkZ8FLmj6yGGKVOymDlq-HAVjrQuRThpGpXQFlilRhLoVQCbGIrUnH12AP-Gxhf3MAali1rTtUbe44vdAs_j1RZJ0m6IJ9ZrmF2Cd0lAljrpgOO6bxGmAwG8uMT6eJ-_mYIyJFqBgSa5T_-e-qBkTEuziEQnH2Gvyg4_RdYCBsegOLe6C2i9zyGL-LC1_MyDHuDo1BvqQSOvzoOnBq0AOmLQOQx7-4kDIS60ypNmLmBelocaEeSE92Vg7_SWscdIsRnT4k4n3TGpjZKCMQ5O15OHJ6l5mBYYJOk_A6noLYFCTvUi7fNk40dVX8H5GRuNWMrE87YEH9S6_NA86I7IMJ8THj5Tw8xOx88q2nxiH0D9DxgI1CoFzqJ9AkRUbh5p_xto-UzL6iS4G46ZWHAR3C9Wogtgo_RrVPyvpNLGL_ohkKCgI1gHAcMXQq0nN0DpcOACRMpjH4G1iCmFO1ou0TbSpcdnf3ea9SSdJl5_628-38bO_GY7rCp7coqf21mnZdMlvFdddaXlbrVtf19vd1nOp1gW3ppBYVcc5xMjnPZ7lL2XZ7mD4w6SnGviTVMsjjaMKcPeT71ewC40nTEss4NIW4Wlh0_9eyHdpP-hJ_5gAAZ5AV4wNRwU0FJNCErjQ-oY0t4p9G1n8mDkPR2VNIyyDcqVvwqbflhaa8bGrZ_YqEXhNJdMN9gcgqPXflSeris4G621vYcIDMpRkOLGlTBk6ZTBruvOt5Fb930ewEd3xuocPwzlQ2qsumcgKdAq6Z0h8tZX8V5lJzeEDawJgWDjTCeRD3o8YmowrjNWP-ZGmBalVXeL1OKW_az3qbhijjFySeZBycOCrsEfawYz4mVhoHkVab6ao0mY72TDa1JNleZkhO42DfnTTYUdSnXpvnaxP-y06RivdI2HdfInxzN58qyVUK3iaK1xsX3DDSDuA-hmiG-BydGCAdHZJK-hUiWVSUTPVawKQbh9cH9hrXL6OdVBFuZ1Ycibp2RPHY8aYsRhwtDJa2Vhh6D4VGXTgcX0z8OQVGP5uifxYKUja8Zs-ln9kdD8XgaXfP3U5HbysTL5NHm5fUC4uddIs8OKWoLfcdEYlZ9RBDlitPVbXYY1geQJbBFU6cg0uKgeMmjBi7_bGkoo-Om_XmwYODuMhrx21YTyDqwc-t3kBkdkD922eyw6l-_CBT5Eb9-CbFHHyrTeq0t5vIYNpwoUHJU0JjjxN2OuwMnkj_7VAxiDsIT6Pjr4NmRg2xw7wL31RZonY6hqEzfUIxmxtEhZP3smbs73SjFuX48sGwQWH6AwS5kYSdNMYUaR6JIREeXW1ko8Tth5Qejp4AcEJhOgVKyDKWlPa78JqqSXQ14COkDDYxX5wizTiWQ1m1GE1gIhBsp70iFuNPCVoRNwASwjKwDj62yGJLqi7g5erB8B9TIyLyh-jsz1_bp4dt2v23WdkjD0OBzS9D4KMzJpJsg81GVjGmipbgbf2fFcUEyl5fUMzn1iz9luzg6Ebx5mUn9dcPOa2u_BurgRxIu20ZpN8BV6P5f3TJL5eEOU77inYx5gthrQv8bx5XP2iagPFHPtfKm0LG9WFMmcDZGk3avtCE__R9dxaRC4Ov8lgnagGNtoJdf45szYh5cZRMiFqO2dxwGvVi1rc_EiSoOa3bQLDVQ7Bx8t81ORpvbxegycjvIkD78_I8AljUlP5dTqt7OU3laWRNGEd77KlwF7rq7BGax7qhFD2BUR4IN6HxzCAazwddBg0q1Lrg4eNf-AEAPWwbF-eyLGT3KraCnSW47OxMPObYcjjAj4VRK3txFXzhYsRnaCuRYJq9csKrh579Lie16T4VgJMNJsg18q5Pbirqb4O7elX6PMIMfY8hYsA2DIRwV8np97MKFXNbHVi-eTg7cQ_6APSBisA25x4G5xdk3SSxu0z7lXHaFClcT-cXMt_IltqQ4JbeqWDfyHb51_4kQ-3Mx8Hf1Q0IMPhabzTltAS4wghTt7ZbfcpbqYSIwdJLmdVxIwUURddek_-aePVnsMxFwQCVMLk4wKqmMyBnnAhSAlB--hlA-BwEqSz_dXQmswNMUls2DsHId3YON5QbB6M4swpttgjE9cuY9yll9knhjQyEi6ao7UwwoAekozjabasQGmV-BLm0DmCmcKyUpFdPjGlZ8bjXKhHmDK3yYuik5x7ErOo_3Pknirtw2uT3mjHEjIafSyADnA-7PL6vTl05-90YkX22JOxc04ssSB7ECc_gdE_oUg_RFZ0csDiq15cJfsRghaEhai-KtIIIfetW1t9sS1kH7eGYXWcy80ZacJaLFWfjDk1DkIJC6w8mSmwv0GhW1-SXgE-SQjDDblMZUZaqv1tCzH7Y59xM25H6Mle8jq7Ru6q6JUztWUzcw7DBKIRO-I903BRq9bmw66XYNDXWD0LvEtuiaX8xo0j6rkksR3dzvAeZWy-e6VctXMs6aE-KimxcNvA--kB4mbnT2jTvGqvDD6wY3-FQbVW2iiMRwsqkWk19TAsfZPLPWyIgCnxbC4Y0gHatB3_mpLU67ajwjLFrTYGzYv_hQ54aodhP7_hqu21XAuv8ZQQdfzUwTvFyUMmbljIFABdLLely4hqTJ8kfiuN1pWo43-Zn8K_mSzQA-edQetZOrf7edRLtk2G89VRAYd1s6c7TKp-JXdaxX3-_zi-pw-RZmRptdkVaCQyJnwP9FuGrrhmywHcSjW2Hfcgt1HeekjV0jbAbZ5A041wuEM9CIAuO7lCxi8rxMoOl8vlipJNGLi73J0tOkpl-9-LLX0uxq6W_VwDtgsurQ9z2d5PzMhMgFeJpSHxPhm0qNeeX4w3BMDHBc1-WQ-vMnJ66rWiEqX496Lb7J2lbXAgwVNCHtyig6ngJTG1Q0XmCGaoALw_sd2dpeX8w4QMFZ82QvTtPXN-LigL4hYSXoPGjur3t59fRLtwRO1VCUTQoK-l6_RvOFUnYcwRQS_p2_O_mTm70dKJEyVXw8X5qI7u4mRCHaDnFLPj1YCv6zU5-8iccp4eQopAN8OMrTPCnB1iIRe48VqwHeSsnV_EDeYZtCgB2283WCnlCHT7Tc72AgTFVsj-hZQIsVfKszJJWxNMmO3tO1C-HFOhmQNuT7jI0jQLZnwhVk5IUoixSjBHt0iJO-ZVTuE_QX0rZazLeqSg9iTO6-4kCuPKL3EriesdcZd-E-4bl76ShSR1CKnIDLjFiTRHVr7jimu1ceNRSschGf7jZmx3GV6q2pgC6UjfNff3JxffnSnIdzINpKq1gi-22pI3M6g9PkKLxuWVqppm6L_8D3P9e_N46_iMin7c77081d69aHloVaQQsO5TGFwLMH-ARL5kIAUvSVwQx-tIY9PqiIJwuY5pEKdHkyNE6mSeDCRwPT69LNACUSxIFQdDwZwvHRCB2IuUJnozB8oekSPvgMhO3aCo5f3rx8X9VtwPa32yOA0q3vIFyU2dDL13f_As1d1bEAi66xOSIKoCbqFTD3_LkDuqoIV_Ay5XxND-icrbTXEGymBqCL7IuLjs-FxTJw_NIMiusATOvDolHZGfZMxFvByppiIa-wzy1U72scRSWrivj87J1tfOplljRlwfVCBZcgYlbIfUALTCbrjP1zsorLv0eMyQc_fHQdUmTv-_IcURRHbNrWJpkOol3WfB-BRz_LS13attpPenTwrW7gR-IlxXywgAJ5BCAPlhIq9bC_zzqZdXFO4Co2Tx9UGt-bi02R4BRwi8tZevaCrcRv8NmW6pLhcgH240StB0dSZnYm29afsyrW5Vcu7fgX4GYhr_jBbv70kVayYIIy5jaOCJMRM_hD0SUkJGdDgI6TySnSCotXGpBEMJ2Zh0F72i0Of65pSYl2UwxO0yV2EalVn8fsbrgyAZ4f6bioyJSX5B-Z2bv4dKNDAEGVQJXSjp7wev8nDG2v6GxVUaJtF85XGw6Jm7NLPp9Pq7sS6OjZCf1QeGVGo2KQKOMHWi657oM8A0LtvfhKyHbCSEow3KCAg_BGQXWH5kSC9dcg-G9fYPsKr7TnYVssA2EQcM0UNv-64MlmSxOvqvATFKAa77igprGpAlu5khdlpWvv00O54b4mM7MrwdJ-NAVb0Uo1XoIXdRL72KZdZWPe4Ddvd2gF_jRxvx3LDxrVyiBqgD3Pdm-C7Koa5z7WE4R3ckAqtSjAw3neCsBQ0pZFDTOGOgcvrPmanEyAlqNrKJtZy2QmO3JxDj6-RqR41KkjUIDjFe3SoPtFW9zJlUALIrfzbcvAnVAhK-pAN3OPFtwYnbE5c76qBS41Yy7lZK5ymxkbVkckXlx7a8IidE_CJlmwk1VMgHet0j-DyQS0lj0YG6zkhSv9Ag6kcAHi5gnt7heHNUVypY4dsiOMa7xR4AOm8IsDnT4j5AxcCOXe48sCmY-iCSQVwV6DZIOEqdCE6yzMPkVRHrckQuXMGHUZdx4ftLOlxnXdM1kdnP3ZUp2WGyemkeK8YDa6NUwMHr8cFvYPGTGZ5TSvC9re_9cYsoqKOhT5str07ysGN2a0AEMDOta_7LEoNjhyw_E-riJGnpYkMAL5aOD3yEcF5yexkg3g1_gX-7QAfdBXWOuuY55J1K5U7HqWUna8rSFHTSXNFJJAt9WHCsWSgh5xoEbu8VCyxjVLRm-tO3KIB0u2AVwV3Eg9jtNDZVeJ8LgQ8v6hgnwtB9N7MyXjVaBf87BhkqK7klllV0uhaLhHtJ01eABXa-D0b9QMSP228ubmCk0so-pWOLoD3kLcAhsPG5HK1Ym5C0euqEImAcCvc8jJdhMyPu99JOapaSd_4RchP_SAH9BftLQrEjuv3zTsNdgX_jxqXSizSKZjMRvpMN9gUjz_D53uaB-NYtalkeVvbRLM45c5pI2RaX32PmxBo1kcxKwaYATFXxtJ4sruKv9ALBzmwzhosk-k4Ppin5Co_did5lAvgtXq32w6nQqXFIH_m1YZpXJ-YsRwzl5YWbEm3SzGKvfysYSQmjR751MGpXwODT6fQkkva3foa0x43PdW09Ni7pf0eUjlpxXcTe3lkwvOXF5iM7h0waVmvQzBpUREiajJ1yLM-QKEva-9fjbzNOLxKlpt8aERVA1-KkwsHTNlLa0alMfxo8AzpnW25Sn9XOQC1FSXulKshqG3bgpjqmOrTPcz1GNHxHiJl-ywjyPzpBR7jVe-nIR-tnaTomjgdiEbAuxb4T4JwbqDPBdWnyM6j3-7lQdaqWjLHMsxq5WFQ89cV_2PUSG-Trp-A6t_VWuf7xq8w9GdlzCFezJl0nD5Vh9o8NgewngcuitgQRdTpJ1nHu14vLIObWsd_fMCrvTjmk9gwzqJH2WyrSsk73DezmR6LhHeeHyBSkto5qTLIlEF191h_iW9-UzkrnbkG0HIsfzGgPfdFI5Hzka_C8Vs5Vjo9dUepYZQ3QZyQvzmHXC7wIWmB6i_QaPRvAcQKY1C_l88vgcJjJyldVu2jjCNWgdnXF06Ltq3ZvUkT9Ry0VWY7r-rgibcfpNqIOdTH4UDaCT6GtO_v5aQUQA4k8GQEd2Q7Bd46GopCuaYJGPyoCB2UXkcCQJeZTiyQdDsDk6q9Zagrqk_j5GKXwV5NzCnHHJbwDH6BXrHpE_WiYFGQ5SIs8VgJJFWs9RtUdY4WFiird9GcQratEqIGoILf1h4ku9bbhjnsrRZX3Xkag-JnfZLn91gr1JfK8dyLy5tdva-Edyc3XQHRwF-yHLuowg-VTZXFH22ZPtBXpfaWZGOt5UmfJzlC4EvSSz4iGYXS7HkSyZuAgblclERzOgG1-lmFTWSGutN0lJM-hWUe8IUdomO5bKf4zc0l-Ag81mRvI2N_gYQsKV_uXbPWN5sFuar_P1s7hFZbMDJ554S9wytBNtHYpl--_FJ7kchHUQheE6n84y0kOTC3pscZHz6zstyFoJb9e8v_HCtgRJ-lnpxtijVX2XwSBA3OCzwyHNyoFk1E9EFgH55cXcT56PvmVNyaih__G_ZgR2SfFgu5VN-Gf7l4MElrYb0Ft_TJj56aGORYDkzENjvf8r2_Pt1BPaW-Msrj2pmRwHEGLmtLAv3JoRXj0UO5R3lSkAYK1ytUvMUKCDSxd9KdNfeXMKi-1PgyS6tQ08Z1LxJYmMiti7-Gcn-CV01Ej50aw1Ts-G5n_1qg0xls6ceIbZM5Ekzov5zBznx_42apstcyvjU12b4AsV3bZn4ksQ6czuitCrndLbGcuzlyyoVkiI5KTWfTQK6i3Y9qAus5OiSGpQOrbW0S1lsR8DrLf4NDYSBinuWHft9njuOmsWJJ532oLsjeSGTC4ffuQsVGAhUIX9CuzX-thtGWrdAtP21iie36TK9IxaisKm2nUrF_hjfrT501MpHXCtX-nvZBViNxMfnCwxps1ceftqSDWWc5kLRhsp1T2jM9fHpHDjKdBzBDZ1Pzd3fL3AGyb34c9I7-W_j3aMHoF2sSI7c6JinlRfFNxL8Gds6buvyOKnYuNy0uhFjEjcLGiaf4fhfDHBG6ElHOXK8B7gNlXfb8WLVWoS5cdtazNwf90rwsDkEUEyBP87jnfe6YkLXVK1VU8QiXXbjaIR4BLWepBY21JLfY86kXoLPbpgR1CnrYh6vzOixE7NTMsGSP5LteWhs91FUGHZKozKbLWGN7rwlDlzm6VGOYD03AwdDjapqEbmKccnnqtXO6_7ksNpYcY4-l-7MzxZekh6nxF4RQw_xdl0slgG7g1ehDIP7VG3dRLk_QRwt1e1LZK8nMJxMsG1Zr6eKr99Lm0ZUKvwcQjbAEbJNKtssKP19J495rw-2d8qlTJnNzeHpNHMqBvWrGMal2KVrSMmDaioR4rpKRA68_qpNe9pdfIG3P8hC2rKecFutR4kn-7WrhYpOPLXITwSPBYm-kQvx4DvTPBVBACxqi5N7PqtWMwym2vZIDTh-9oMr6J7JlTQKwczdte3cIJf7OJKhG89TpJtbq9beIiDqC_0BqibM5ZMyzgLyXD1SoNn8iqm-KUBbSRd4ul5GzuK7qKUN_ZocEeVbuUe8rFGzUrOPH1KObnobaBe413Zuk-1hLfZbgcDvyqNta-_pPxIOT3csKLUkiMbsU29E8omg_KSG31TCD5tJJFQD5144fbOrBoUZu92gmEil7rn-XQJJSewryAfdJ57RhJIrIFOdeV-NWXVFttA6PH1C8s6LgYffcHln8OHDwRskraeiW0T3HCs5bugq2-TasCjzecLnekfb04Uxm4GRJqltq0wdTUtGJRR7Gp9LAoqzB5B3Wt8Lu50rhB4pdzx45ExCsPuy9P51Ibfq7qs1KrS5js_WYleqVPfAbXJROCMZola3GSWLSuWqDB4vM1-OM-fJyQYs6BIdIRGdzZrlEhjpltck1ms8Q9GFa8JIajlw83Wj1I822ts7oaTdHO6GWjeeMx19GygXyQWhdFljuXOuyg69jNnviC5kodf4VMZhqk7iSIZJrw4dy5X338FFh8SRG7aLicp_0F6_shdA34XT5YcEA9sicT39wE90Gk2sIxnfcRkIHGPeb2H4fJ0cnpH3qrIJ_VlO9lNporA4lA2jcyJUGr9Xz4gWnog7bGy4E45y6UN53hc_yMUAwsn7EWT1wfgz6cCM508XkORCygzJR-Hc0BWG-_LFbPnofeXh74_1twEWppy5J0TYn2BAdw_7jKm7ODmVoJaYD4cvG9VRDlFE0gNITFMPiOug_m7Jen9bwBqPtTl6uwg8yegL0bqk9AVA90ys4yObmovcnX1TXpQEoKse6IvuepY16rV0HueAxpMep59UoMXBdz1ymrO8u2qrhVsrUZrLzBe_ZBTh8ZGkzs6A1GLzDN89txkml8qEEDN7gP1bgWfTJKHfVvht02qqBrTHlJTIOhwJ1QSfATrhbK0wGPmio_znoiY1QWW_10dtlRmF0FarUAQcdKLXuDFC7VLi9iER9-uY67cIYOserbE03kKZSYEoCg7Exd0rBomiEwu4EZtHS_k4W1RQu4ctY6We95S-BFQYTSO4EVjYh2SVHpAXG0Mr4JuRYQ2JjGv_Iy-j7pb1vwg0Z_R9lXLXIv2d0LdjHP4IsN4nF8vX7_CdcHL2ugz6i5MrDVObTsQP0rISysoYOwnkpkAwZDKVOCXWpwwt9_sANK6kiMHwu7WqX4mzTQnqGYKXSmGpKAMY9eaqJsdhBQ-l-9bUOsoeRu8-srxQtBlyTy7SQvM7NZJknFOcbp5c4P28eIdlVrvxaP3F7iSDw9jrqH8gNG2iJr6zEfYZ2LpQ_dj9EaqAlrwXo71UKeN6PEMMXW8i4qDbMR3kB4dKUXA7WAxrPyuMRtFo3eg7RW4lKSk4Iv_bddN7nK8zZI3azkRL0u0-AjYsSwotCgXWk8kZQtJOuTbOjWwHxgvSB5gca68xKGddHurFcTafBvt_12mTW8Bb6uH2bWr2Oac9bm0WvBVVCuzG-bgPIr9dIydc181Up0I3DQxrdrufyCxuj7t7qFCNKlLKpF-ryyU3TwqcGHSm42BWxs0FdXzGmxYaJokd6yDmvGoLqxvPeCRLfq_ebHoOw_36R5v-YeSDV-CeseEsIEiSLqF6KzBi2XSSZ3iEXf1fPV_5lDyYj-cFErZ8_IrPFRy6vN9yN-hWzbq8sNBSDvUv78wcQ-KH6BnWOyRLQsdRjAv_35w7qqDwejAz3npj5_-CZui7Nibo0OkYAh1GfXNU_nh6lvhTBGv_X7u3zC_8Wca1g3m8jdsNAvzlFEPCbPhpPUrOUkEMYWTIYC7oo7d_iZmI9ZM82RobZkuOsPwo8Apm_xl-ejU5X3oSbfnhvoQbSarXhbdl8VA1x9AcPkWVZTrRzdhtCd0Ze48z-A6QZQE646Cy4Ey3sVeWrBgfkwvpXM8tZgFXW_BY4aLdNKn_FMWClGk8_xXRj-i779ay6RVUVMs5LBYWCLeBRWpxAMVD4jk8gyDllB0EAjjveGCXId7jqr-g30jkcZCqrfPufxv79JiqtGfo8Yv2SUj_2Qh6SV_qBcjzvHx21ZCBcdBBgH2n58L2lreCteJGd5xhxWbzqg1a7uN3n_wuRnFyrp-axwzAKgvkbj4qtF0fwBxPrlB40BS1xCsOZW_7UiJ0jFUDcwZHIq2cXtZqVFCrRfUeFN9cqdhaF9UvQ70z0agRcbch1ljxE6a6rSBw-xZYWdKpQIQiPIkdrpZGL9aHEXHKat4dEcyVMz_yZ16fCVvvSw5-mZviMEXUTsyYaaWA6B4_XSjcuMqBGqMbPN_HZlESkIddWTJoIZIAjPC5Y-fMx0sHwovbRmrRrfslDbPweBOFjlQZ1YymXH4QfNS_048dBEteLzEZGwPgyhMgIKe7smVT0Xmlf4boOPzjLhYJuQRVN8u3JoyM-O7YyVu0A2_kus5v49BiNC4xrgWHwErKK51xwkkcL651uh1JoMNHMrIQj01No8ccblzqni0bT1x1_5x_ciHc7_hxYaCrtONUxV4ekTdWdhN5yEAhyKRpGZrlN48CjDTr131Oo2UAtjGbBCFNOQzIPpBn_sedaEJnBH4WS3D3rLKqXPfFOCxBCMRxjdvTPBYIBol4mKKYgGUsrmD-vnX7tx5YlDwbyZmD-qNvKl8tPVv_S2T8xH6X_3DpItDPDNPFa4WluOdn9r87rg6OHargHSG3pLcvK1CFpTjm8yxcwLlWjczIjsNfgUcGcVrz4Ie0lt301D6H6hBWVgul8uBt5kusBrdwlBDwsUyhrSTAOao2uidVMERJx_ct4NkuS-fb9wvg10lNm24R7mOsahxrmQUGky0k2oJM0fbRXiHf0ZmKFGmTYn-3GwY2FNAD03n90FKJhTz01SFdcHJdfQo4WbRT4CBan1sX0Eo_ozgsG3mAVwteUJrDRByaonBhPlINEZQJ9WOV9qqUWk_h49wWlbPP8UeSFE28VQvhs4Kih1-j6OQ_ZD3D2VhCjFcaAQyPv0HE1EmAHos6emWL80RtWx4NnqHesSFOSvVj3wwIAo88VnNfgzG5Ey8q4AuAuo-BUrKfH8SMAVQVunFyz0zlOvyMY_Z5hi8jMzLy1XTWlgUoCiBCkhnard5F8UbHfvJFtlYF-3uviqirZLrfUQBPxEyChGcgVO3dzUN8UflwvBdnnkCX0RVs2NucsTYdlnVj1spkb1X8GqKf8idXRVnldg47ewaRgCTuR-5Sc3_jcqnQo5GQPiRv-dVn1Fi_LRJatOX7rZBdTdWZMc3yTcCRDz0ye0nZBErU2Df6VE_wIC85JAZUEqKioLFxG7CeTX3RIQtZYd6SCQJY4rtIosxh5z7t5uzhTfeM2eTblIC9i_h1FkOdruVEid2x_hgUhi2YF2YpKH5llVAC532Hd8qn2a-Vy-hdzHydnp_rQYahsQQ5M8RcYNPqnvfQSRdJ51wqfRI_FBPjCbvGbWc1Ub16j1l_16ubN9s3OKI7NX3Lto63Hi0qLOmpfAJ6XIE_bYDKE_ldwUgXRyUdEhBYUiZupYHRhMvmIgAybIrZTBMOAo993NJW6JR1vvfTRLzYotqkVFKVOQ4rqrRFm7n_8gyBCyo26W8hvVjFdYK4h7h3g3MYGM9rWxY628f2eApGAaNevcVIHRHS6gabylBfON18y9WqOUTscWH5zTYBbXamsP1ZIKTYvhjQz4Pd5GJkygFYDguCuJgHvSNghQsolRD_1aXXq3yp7bOvRJdt5wJwosfhqIP2dV0G_HZOWjTth43o7C2_5mmQ6yykGR7re8_m-afUVXD_7uAvaDXyirfPlSdB4F63FFAt9QP3_mEeSvGtj0eJhlkPCHIdVyI5jMK3z2AhuOwefQLprkJbFwcYkLhaLkS2tW319sU46AUL6kIXHsTbEGMIL88aV7dsMV31db-KDXK8FJHGS-0V25Sx3PsEcDv38m3JqXtiRhAWJh07xVulyTejvlqd8VCehISN7Fz3ex-HntndrnMaqLjR_PkkZOjfOgmUdyD-PYJDFy-NvTgGREh5Ytjmy77WfSeZ40y2NWBi6CzlrV0xq-DYdp_X_91bB4PohNOD4EHmQlThUCCJtOgnUxRtcuNRM5Y8c35OQLtqHydfvHNysc_Tf0rvlG4NG07VZuWi46CQnOmlN1cU0_g5HlvwF40eGbdNbCpXRgrp7VN1vMCVW1nINpgROObQQNNzH31zJViKnvNcXpprBm7hVVR1efvgWXf2CScYtM4SDBYuV48qkdMBWjEX4bisDjgiT6-uR4ca3SVcE3ip6b8U0sGzyJFQ3OLyS-B9Nhu4wcBZ32apGth1eGNodasw_6Gq_WfAO0aS9-ukOOzEwUAJ-_bJdcsFbLrpFJLdD3MyQlKgMgv_WJCYjC43gcfooAig3nVk7NsQSXVzxD2aCLW1iLGKlDm9alqroPPpO-jIoj8XQ83lI6LJXxdJ63AKtSr6xjMwrqFjcNE9j9RLHQSg58xujkjlvmKFaxCq2XDv7TZi34LTjsZWdMVfW_nC8QX_fkOEDmDblMWn-JnbqR6E2bJmkeOb4fc46lDf0EJ6UjaQ-jQ5_N11l4-jX89bfKLzkDkG--nFDPZwS3Yw5lUljc5nlFutFQpXbDu4sl2F4R3_BAZGKgOgmSycVsJfmTLIhT1HprdrLeOQnkfZ15M5Yn-wrFESg57ycHEtalvIF6fjme4x89kMKTvYIQkybZqLCluTWPbbxA7xs4oE-cWtcC6wVdBgnI6GwaIk2KtQZhEqkSHZXuNy9jIw7w_YaIFtd25zmCfyO5R0AkpXOlGvCApgx0tkwq56IYpGEYnjdLUICVb5lqafKxgL2KTJcVmhsSJlx5zYoJyfAi_RkQB-MXJ8lz2JuYFAU-XxY40J0dRbsVrIKyjJdalOQqLSKEjgUStR8616azU1W3hPlbF5hl86IorGTlRXcFN7ARz_4vPM3MTnHP4caNv1ZHDAhosNZL01n2mXqhaYeuLDJ__mIuY8YDUUqrV4cpCvH7QO8m7R2DAnt1Pj5UBlIJp5eEm7G7GpnhPs5yd4R_O1jq1jcDOqOfyEXAgS6PvClpBfvVFXdSVxWmvrvn5yAka30VUjP9by65V1DTWy1Lztb0XxAzsT-prKExVpmwa6zlCE_E1oxFlo4Z55TrL3Bbf3oofs7M8ZWer2hLWVrmy8CQNxvKEoZOTquNmrO8vWCie-dlPu-X-lGSfDqeZkppwBcpBAQxmsmi8jThUN4Yvxz1vcFVrd4yuZ5KZNkHJBJ_zBycdYPAg3vCnIfJimtUPUD1R0LAoeAaAmjmAzAKwGQmktx8ZYafNHb4goNdOVf_9hrONaYAEs5g8tsN_SvduF7AMyZ9sHeY1n3SqYxwSa0IER53O1r3_Zdy2NunNLgDCQMLEU3GLZ6FhqoGzx0tOgNVtUhz57xINh24EJmz7Bv35oza5DRI26Y32PJCGJ0dwEhIWcsdnQgkLX9iYPIJqIUnjqW7U8P7NHOYDCkGh7YrQR5USWa7Z2w8aUtkdQICaAqyPPnCiM6ab0Xg9at_oI7VNb8huOXcOdk9ihTSPXzZszq3yMxR5cGtu_55GBxvoTYSricSo8asYcNLdO7xgD-Y8PaU-Y0jYaqjjeQSvf95GviUg6cd67_gc7i3RqdQdDjei1CM7eYKjX_2JmwQzXXJfIvhA8DS5Y1o2XwgyrjjgwviHysVFiajKFeHwDE8c9FM_35MpyRFjeOY9c2weyRioMYGmsZ2KITve2SP9vxexCldVmyVj4tSOWkmmx-l--cWQBiZ0EOULtmW3AfWx_s-jJolrk6qaKRfjTET9v7FcwOrW1C7j_Nx6EtAWRleCOzXF9LQNq8Qclge5HzVoTs-Bvf3BCnP0ePlSsAQiSXejd4-ME-mrH5Pvfo6F6toIrEaBFukRYCs7QKAvJQksjrt12hj5y_l9WmMXRzK6IRK1ml8C0pjUxlwaVWJWDhTJA8eRlQI68n8T9RJTEPqSPm7_3EF2pSqX21c1GRF0SVtpjvnczj_cloXucpjsf_OxJv-A8_nw0lDh-onCTvYX1i9AeUXGQwa3ZFgvCaXxvzbAVdcjduJV3TqumihD2rww3ptRfjzQUpafNZe3fWWo8aM-P3kuYaE7p3YrKCDUTABuePzvqaloRTuoFkN1yCD6d7yJEX9H-h3jhAsB1wYLoax7ymnmVl_kEa3Zy0AyTwX9nm17v739n10rTX8uiZyPzqyVJZkc5K0b6TUWkfHmErJ__dSlSTiP_-1Tsd3Lps1hAekRhoe1Tw1_O4ivY3niPcKrWB-0oyZGJpyBWXs9lcyr1sC8eBp_62WK78oN85mAnA2VQFknKVGIIu16OJ9FcXDREpLzF9JBDpnHsfGYLan6PdKDSDen2KbRQcd4T5yT9JLwXDPcuStCaFo7WxlwewbE15YJDcQKXDx5-1w74mLqGwZ0aIcd7HEUHKOwwU2qgmd2Lj4v9wypwLQAa2B2KSCJOr17xrw2EqDy3HQ_1DI9vQfKxHyoVCBsayW3eIVfyUuaz4WgHqds7C6484N5UvjON9xW5d2bnIrXUd6vxhm9D0IvqnYNHIUT-6_gRKk3lBT73eKQQfMMUt_WPwJY-JZ4YTsdr3TQsqJraLMFigp3-M-1Tpsuy5K1CaT3n044jm95r7QPVaf_DukFv6SCgH-U9k_1O6ZSm2sOhYGbnWxLMXH4KgKZkKMRvP5LoNV-SizxB7_LhNCL7SvcSZ5ad_N0BPYQI2TtdVmYukPiD7exFqTV9vjRMN4H63-Q1aVD6HiRwqznoB2yaF7PLENNq0WH31L1B2IATqMTQobkbcU_GBBZIFk6dU5R81zR4_cZh73ApbrBAbXjDLoSo-V5ca_o0ATQogJ0SQGiDszy2C71gUZZCWFPG0PUw1Cg_u38DpaTnXwaORX9EkfJOgaCCH3s45VrCx8MzlDlTtGSWxzMPSGWckYjY0V2JZDZkauP5jGr40FPlSM2eOOsuvL0fLRRUCdi19VJLXvh_5VqQwVIsFDCo7DpofsWmiZF0B1UeLPwyHpqPBt6iOn34kAJ13HaIArckv414daX2Y6PMoSSMorebQOvROfUr9pSL0zcASDl5TSZbDsSqERnGzP6o-RnUIbXsBCw9syAq1B4cV_eF2VAW-Rplj3LDmiDw2ujedluwvrZkbx3JQK0hE8q7ZZvUNpRBwXKUkCpkZyP9LMBfYCUro77qHhkawXGI37M2CPhzdN7ov_FbiaeRDQt9zFfiSfWgIj3Ehcj4e9EU7SkqSTHGoaLtsLl_kLOpIPvwgGOzAsego0dnmUEPxnRcj0jld6fym8XjWVaF6iuNb-qouRy9H4fPyQBHYa_2bE0GiGEU9TcObfaXXX1h-QR_z0SWPsE6EYSLbiKRHets7g80Q6ogfRvsKD3P8S6wQu5Qn5EbBpY5ZMxQ2u768vQq5aXaXQqXHTW--BNP6xrXVlZBXaQi8nOj4GjQpmzEfycEr1U2JtkNdkxzxKJJEkbSoQVotWk_s06qHJictEk1JzqMpDgpGI-27DZ8RbWO3zAQ8fvTA0oVNgCv1dZNY_S3BpqVrOK7TBC1OuCqIIbFeFnQ6zNjcbg3dVnW1zZovzbXllCWGTS8ZOIpTNBLR5AE1QF8B8bchwYOqvd6Nb7SQtwCylsaPBtZxq1JtHkaAgAM3vipyTMECakEqqf2Jc0PfIu24UqhAzzhxx9Y54Gw6sZ2dlCS8UeTOwFVmIMXxBAE-lyodbhkDHLzEUhsBbbcoXkRDs3BKUk7o5FGOd4jQjNwjZN1oPx_ZPZSEXPeKcesCBkK7DR15hfGX49KUVpc_qUVJwaAYDA8bqkzu2k7H7hXkZ9MDHt40e_AlGHisiHOurfPoxgzzhqtPDPBNzcEqJ4Lg52rY4R6VWAm3qIFAKhdfVQ4skyrNNTGsWi4JV3_q7lQFNc3-2ScaO2HOb5MUTlnKcrLUDT5vJfa6f264YzK-lTJ2u9soh1F6a-TnieSEkXGy9y6Y8eLw4RqvHjrw2oAwoMp1rtqhicYEAPIyKoEg1BhMjWr1tp3FfnqPhM73cpfxmNYKIwrT6ShjRamyW6L8IuYNRf1jHX492uoCEK4IdUtEZwK9Bqxe3zy28fhBMHBZQnLv9OSQuCUr016MW3lDlDt2nndsoPdThi0GL0R7SFaaT6bjXEk4tWYV5eSgoDtG9Zpwekao9Kf34TMatcWsrolQbTkuHNb--WwmeLweLGkOjDurHvlyhmyoWCAIM6STxv9ABjeWNipEuxuoNXPSE6hsN__c_tWoYqk9tjjlDLI5Oix-67xIB7EkiN9aKai0wC_jeqyMFAddU-gd6mXsjmNdbzFmyEshLqYyWU5XLtilA6CK3g9rav6zfAvmZQTcc18zgLj6EyGZqYUObvvXyvZQGLiEDZCkbsvfQZPmxYthKJgjij3dd52VglNEJQx4pd0yFyRp4QsiZ0iIQ8ph8B_qQckT1jHCYRbyfNu5iQ2Cr8AhBp8G96kGWcYlxVMzuNwwpFN4XOFnrLv7AEkCw";if(!e)return null;if(Tn&&Tn.sealed===e)return Tn;let t=null;try{t=_s.parse(JSON.parse(er(e,Jg)))}catch{t=null}return Tn={sealed:e,bundle:t},Tn}function jt(){let e=Ol();if(!e?.bundle)return null;if(e.runtime===void 0){let t=Date.now();try{e.runtime=xs(e.bundle,{signedAt:t,fetchedAt:t})}catch{e.runtime=null}}return e.runtime}function Gg(){let e=Ol();return e?.bundle?(e.keys??=new Set(e.bundle.filters.map(t=>le(t.slug))),e.keys):null}function Ht(e,t=!1){if(t||!e||e.length===0){let n=Gg();return n?new Set(n):null}return new Set(e.map(n=>Zg.test(n)?n:le(n)))}var Jg,Zg,Tn,Bt=b(()=>{"use strict";ks();Ge();kn();Jg="tokmizer-default-rules-v1",Zg=/^[0-9a-f]{16}$/,Tn=null});function qs(e){Il=e}async function Kg(e,t){let n=await ya();if(n.size>0)return Pt(e,n.values(),t,n);let r=jt();return r?r.selectFor(e,"free",t?[...t]:void 0):null}function Xg(e,t,n){let r=cr(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 Re(e);if(n!=="compact"&&n!=="minimal")return r;let s=r.endsWith(`
72
72
  `)?`
73
- `:"";return sr((s?r.slice(0,-1):r).split(`
73
+ `:"";return ar((s?r.slice(0,-1):r).split(`
74
74
  `)).join(`
75
- `)+s}async function Ze(e,t,n,r={}){let s=Buffer.byteLength(t,"utf8"),{exitCode:o,yolo:i=!1,resolver:a,...l}=r,c=bt(sl(e.startsWith("bash-tool: ")?e.slice(11):e)),u=o!=null&&o!==0&&!(o===1&&Mg.test(Bs(c)??c)),f=el(a??Al??Dg),d=null;for(let M of ol(e))if(d=await f(M,n),d)break;!d&&s>=Fg&&!js.test(e)&&(d=await f(`bash-tool: ${e}`,n));let m=Hs(e.startsWith("bash-tool: ")?e.slice(11):e),p=d?.slug==="git-log"&&m!=null&&/^git\s+log(?:\s|$)/.test(bt(m)),k=o==null&&(p?/^(?:fatal|error):/im.test(Re(t)):tl(t)),g=d?.transform==="smart-read"&&s<=2048&&(t.endsWith(`
75
+ `)+s}async function We(e,t,n,r={}){let s=Buffer.byteLength(t,"utf8"),{exitCode:o,yolo:i=!1,resolver:a,...l}=r,c=Fe(cl(e.startsWith("bash-tool: ")?e.slice(11):e)),u=o!=null&&o!==0&&!(o===1&&Wg.test(Zs(c)??c)),f=ol(a??Il??Kg),d=null;for(let D of ul(e))if(d=await f(D,n),d)break;!d&&s>=Vg&&!Js.test(e)&&(d=await f(`bash-tool: ${e}`,n));let p=En(e.startsWith("bash-tool: ")?e.slice(11):e),m=d?.slug==="git-log"&&p!=null&&/^git\s+log(?:\s|$)/.test(Fe(p)),k=o==null&&(m?/^(?:fatal|error):/im.test(Re(t)):il(t)),g=d?.transform==="smart-read"&&s<=2048&&(t.endsWith(`
76
76
  `)?t.slice(0,-1):t).split(`
77
- `).length<=60,T=s<=16384&&m!=null&&/^(?:head|tail)(?:\s|$)|^sed\s+(?:(?:-[Eru]+|--(?:regexp-extended|unbuffered|sandbox))\s+)*(?:-[Enruse]*n[Enruse]*(?:\s|$)|--(?:quiet|silent)(?:\s|$))/.test(bt(m)),x=d?.transform==="smart-read"&&s<=16384&&(l.verbosity??"normal")==="normal"&&l.smartCode!==!0,C=d?.slug==="read-tool"&&s<jg;if(!i&&(x||C||T||g&&l.smartCode!==!0))return{output:t,filterId:d?.slug??null,rawBytes:s,filteredBytes:s,debugBypass:u||k,droppedTail:null};if(!i&&d&&!d.preserve_exact&&(u||k)&&xl.test(c)){let M=El(t,l.verbosity??"normal"),Z=M===null?s:Buffer.byteLength(M,"utf8");if(M!==null&&Z<s)return{output:M,filterId:d.slug,rawBytes:s,filteredBytes:Z,debugBypass:!0,droppedTail:t,failureSummary:!0}}if(!d||(u||k)&&d.preserve_exact&&!i)return{output:t,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:u||k,...i?{droppedTail:null}:{}};let E=M=>{if(!i)return M;let Z=M.filteredBytes>s||s>0&&M.output.length===0?t:M.output,V=!M.debugBypass&&!d?.preserve_exact?Js(Z,"minimal",M.filterId??""):Z,ue=Us(V)===V?V:Us(Z);return{...M,output:ue,filteredBytes:Buffer.byteLength(ue,"utf8"),droppedTail:null}};if(d.slug==="tsc"&&!u&&!k&&!gl(e)){let M=yl(t);if(M!==null)return E({output:M,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(M,"utf8"),debugBypass:!1,droppedTail:null})}if(u||k){let M=i?ir(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?Hg(t,d,l.verbosity):d.strip_ansi&&!d.preserve_exact?Re(t):t;!i&&l.verbosity==="minimal"&&d.transform!=="smart-read"&&(M=pl(M)),!i&&d.slug==="pytest"&&(l.verbosity==="compact"||l.verbosity==="minimal")&&/^={3,} test session starts ={3,}\r?$/m.test(M)&&/^={3,} FAILURES ={3,}\r?$/m.test(M)&&(M=M.replace(/^([=_])\1{2,} (.+?) \1{3,}(\r?)$/gm,"$2$3"));let Z=!i&&!d.preserve_exact&&s>=Lg?Ca(M.split(`
77
+ `).length<=60,T=s<=16384&&p!=null&&/^(?:head|tail)(?:\s|$)|^sed\s+(?:(?:-[Eru]+|--(?:regexp-extended|unbuffered|sandbox))\s+)*(?:-[Enruse]*n[Enruse]*(?:\s|$)|--(?:quiet|silent)(?:\s|$))/.test(Fe(p)),S=d?.transform==="smart-read"&&s<=16384&&(l.verbosity??"normal")==="normal"&&l.smartCode!==!0,C=d?.slug==="read-tool"&&s<qg;if(!i&&(S||C||T||g&&l.smartCode!==!0))return{output:t,filterId:d?.slug??null,rawBytes:s,filteredBytes:s,debugBypass:u||k,droppedTail:null};if(!i&&d&&!d.preserve_exact&&(u||k)&&Tl.test(c)){let D=$l(t,l.verbosity??"normal"),G=D===null?s:Buffer.byteLength(D,"utf8");if(D!==null&&G<s)return{output:D,filterId:d.slug,rawBytes:s,filteredBytes:G,debugBypass:!0,droppedTail:t,failureSummary:!0}}if(!d||(u||k)&&d.preserve_exact&&!i)return{output:t,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:u||k,...i?{droppedTail:null}:{}};let E=D=>{if(!i)return D.output!==t&&!D.droppedTail?{...D,droppedTail:t}:D;let G=D.filteredBytes>s||s>0&&D.output.length===0?t:D.output,X=!D.debugBypass&&!d?.preserve_exact?Vs(G,"minimal",D.filterId??""):G,ue=Ks(X)===X?X:Ks(G);return{...D,output:ue,filteredBytes:Buffer.byteLength(ue,"utf8"),droppedTail:null}};if(d.slug==="tsc"&&!u&&!k&&!_l(e)){let D=wl(t);if(D!==null)return E({output:D,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(D,"utf8"),debugBypass:!1,droppedTail:null})}if(u||k){let D=i?cr(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?Xg(t,d,l.verbosity):d.strip_ansi&&!d.preserve_exact?Re(t):t;!i&&l.verbosity==="minimal"&&d.transform!=="smart-read"&&(D=bl(D)),!i&&d.slug==="pytest"&&(l.verbosity==="compact"||l.verbosity==="minimal")&&/^={3,} test session starts ={3,}\r?$/m.test(D)&&/^={3,} FAILURES ={3,}\r?$/m.test(D)&&(D=D.replace(/^([=_])\1{2,} (.+?) \1{3,}(\r?)$/gm,"$2$3"));let G=!i&&!d.preserve_exact&&s>=Yg?Da(D.split(`
78
78
  `)).join(`
79
- `):M,V=Z.length<M.length;return E({output:Z,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(Z,"utf8"),debugBypass:!0,...V?{droppedTail:t}:{}})}let{text:O,droppedTail:N}=Ms(t,d,i?{...l,verbosity:"minimal",...d.transform==="smart-read"?{smartCode:!0}:{}}:l),F=!i&&!d.preserve_exact?Js(O,l.verbosity,d.slug):O,z=Buffer.byteLength(F,"utf8");return t.trim().length>0&&z>=s?E({output:t,filterId:d.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):E({output:F,filterId:d.slug,rawBytes:s,filteredBytes:z,debugBypass:!1,droppedTail:N})}var Al,Mg,Fg,Lg,jg,vn=b(()=>{"use strict";ma();Yn();Ls();Fs();nl();il();ll();wn();or();ml();hl();or();bl();Tl();jt();Al=null;Mg=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,Fg=2048,Lg=8192,jg=32*1024});import Bg from"node:os";import{join as En}from"node:path";import{existsSync as Ug,statSync as zg,lstatSync as $l,unlinkSync as Jg,mkdirSync as Gg,chmodSync as Zg}from"node:fs";import{createHash as Wg}from"node:crypto";function Kg(e){let t=Wg("sha256").update(S()).digest("hex").slice(0,8),n=En(Bg.tmpdir(),`tkr-${e}-${t}`),r=En(n,"d.sock");if(Buffer.byteLength(r)>Ws)throw new Error("Temporary directory path is too long for IPC");return Cl(n,e),r}function Vg(e,t){try{let n=$l(e);return n.isDirectory()&&n.uid===t&&(n.mode&63)===0}catch{return!1}}function Cl(e,t){Gg(e,{recursive:!0,mode:448});let n=$l(e);if(!n.isDirectory()||n.uid!==t)throw new Error("Unsafe IPC directory");Zg(e,448)}function kt(){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&&Vg(t,e)){let s=En(t,`tokmizer-${e}.sock`);if(Buffer.byteLength(s)<=Ws)return{path:s,isPipe:!1}}let n=En(S(),"run"),r=En(n,"daemon.sock");return Buffer.byteLength(r)>Ws?{path:Kg(e),isPipe:!1}:(Cl(n,e),{path:r,isPipe:!1})}async function Ks(){let{path:e,isPipe:t}=kt();if(t||!Ug(e))return;try{if(!zg(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{Jg(e)}catch{}}var Ws,SR,Vs=b(()=>{"use strict";H();Ws=100;SR=5*6e4});import{readFileSync as Yg}from"node:fs";import{join as qg}from"node:path";function _e(){try{return Yg(qg(S(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var Tn=b(()=>{"use strict";H()});var Dl=ae(($R,Nl)=>{Nl.exports=Pl;Pl.sync=Qg;var Ol=Le("fs");function Xg(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 Il(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:Xg(t,n)}function Pl(e,t,n){Ol.stat(e,function(r,s){n(r,r?!1:Il(s,e,t))})}function Qg(e,t){return Il(Ol.statSync(e),e,t)}});var Hl=ae((CR,jl)=>{jl.exports=Fl;Fl.sync=ey;var Ml=Le("fs");function Fl(e,t,n){Ml.stat(e,function(r,s){n(r,r?!1:Ll(s,t))})}function ey(e,t){return Ll(Ml.statSync(e),t)}function Ll(e,t){return e.isFile()&&ty(e,t)}function ty(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 Ul=ae((IR,Bl)=>{var OR=Le("fs"),mr;process.platform==="win32"||global.TESTING_WINDOWS?mr=Dl():mr=Hl();Bl.exports=Ys;Ys.sync=ny;function Ys(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){Ys(e,t||{},function(o,i){o?s(o):r(i)})})}mr(e,t||{},function(r,s){r&&(r.code==="EACCES"||t&&t.ignoreErrors)&&(r=null,s=!1),n(r,s)})}function ny(e,t){try{return mr.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var Vl=ae((PR,Kl)=>{var Ht=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",zl=Le("path"),ry=Ht?";":":",Jl=Ul(),Gl=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),Zl=(e,t)=>{let n=t.colon||ry,r=e.match(/\//)||Ht&&e.match(/\\/)?[""]:[...Ht?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],s=Ht?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=Ht?s.split(n):[""];return Ht&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:r,pathExt:o,pathExtExe:s}},Wl=(e,t,n)=>{typeof t=="function"&&(n=t,t={}),t||(t={});let{pathEnv:r,pathExt:s,pathExtExe:o}=Zl(e,t),i=[],a=c=>new Promise((u,f)=>{if(c===r.length)return t.all&&i.length?u(i):f(Gl(e));let d=r[c],m=/^".*"$/.test(d)?d.slice(1,-1):d,p=zl.join(m,e),k=!m&&/^\.[\\\/]/.test(e)?e.slice(0,2)+p:p;u(l(k,c,0))}),l=(c,u,f)=>new Promise((d,m)=>{if(f===s.length)return d(a(u+1));let p=s[f];Jl(c+p,{pathExt:o},(k,g)=>{if(!k&&g)if(t.all)i.push(c+p);else return d(c+p);return d(l(c,u,f+1))})});return n?a(0).then(c=>n(null,c),n):a(0)},sy=(e,t)=>{t=t||{};let{pathEnv:n,pathExt:r,pathExtExe:s}=Zl(e,t),o=[];for(let i=0;i<n.length;i++){let a=n[i],l=/^".*"$/.test(a)?a.slice(1,-1):a,c=zl.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(Jl.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 Gl(e)};Kl.exports=Wl;Wl.sync=sy});var ql=ae((NR,qs)=>{"use strict";var Yl=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};qs.exports=Yl;qs.exports.default=Yl});var tc=ae((DR,ec)=>{"use strict";var Xl=Le("path"),oy=Vl(),iy=ql();function Ql(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=oy.sync(e.command,{path:n[iy({env:n})],pathExt:t?Xl.delimiter:void 0})}catch{}finally{o&&process.chdir(r)}return i&&(i=Xl.resolve(s?e.options.cwd:"",i)),i}function ay(e){return Ql(e)||Ql(e,!0)}ec.exports=ay});var nc=ae((MR,Qs)=>{"use strict";var Xs=/([()\][%!^"`<>&|;, *?])/g;function ly(e){return e=e.replace(Xs,"^$1"),e}function cy(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(Xs,"^$1"),t&&(e=e.replace(Xs,"^$1")),e}Qs.exports.command=ly;Qs.exports.argument=cy});var sc=ae((FR,rc)=>{"use strict";rc.exports=/^#!(.*)/});var ic=ae((LR,oc)=>{"use strict";var uy=sc();oc.exports=(e="")=>{let t=e.match(uy);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),s=n.split("/").pop();return s==="env"?r:r?`${s} ${r}`:s}});var lc=ae((jR,ac)=>{"use strict";var eo=Le("fs"),fy=ic();function dy(e){let n=Buffer.alloc(150),r;try{r=eo.openSync(e,"r"),eo.readSync(r,n,0,150,0),eo.closeSync(r)}catch{}return fy(n.toString())}ac.exports=dy});var dc=ae((HR,fc)=>{"use strict";var my=Le("path"),cc=tc(),uc=nc(),py=lc(),hy=process.platform==="win32",gy=/\.(?:com|exe)$/i,yy=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function by(e){e.file=cc(e);let t=e.file&&py(e.file);return t?(e.args.unshift(e.file),e.command=t,cc(e)):e.file}function ky(e){if(!hy)return e;let t=by(e),n=!gy.test(t);if(e.options.forceShell||n){let r=yy.test(t);e.command=my.normalize(e.command),e.command=uc.command(e.command),e.args=e.args.map(o=>uc.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 _y(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:ky(r)}fc.exports=_y});var hc=ae((BR,pc)=>{"use strict";var to=process.platform==="win32";function no(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 wy(e,t){if(!to)return;let n=e.emit;e.emit=function(r,s){if(r==="exit"){let o=mc(s,t);if(o)return n.call(e,"error",o)}return n.apply(e,arguments)}}function mc(e,t){return to&&e===1&&!t.file?no(t.original,"spawn"):null}function xy(e,t){return to&&e===1&&!t.file?no(t.original,"spawnSync"):null}pc.exports={hookChildProcess:wy,verifyENOENT:mc,verifyENOENTSync:xy,notFoundError:no}});var bc=ae((UR,Bt)=>{"use strict";var gc=Le("child_process"),ro=dc(),so=hc();function yc(e,t,n){let r=ro(e,t,n),s=gc.spawn(r.command,r.args,r.options);return so.hookChildProcess(s,r),s}function Sy(e,t,n){let r=ro(e,t,n),s=gc.spawnSync(r.command,r.args,r.options);return s.error=s.error||so.verifyENOENTSync(s.status,r),s}Bt.exports=yc;Bt.exports.spawn=yc;Bt.exports.sync=Sy;Bt.exports._parse=ro;Bt.exports._enoent=so});function vy(){let e=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(e)&&e>0?e:6048e5}function pr(e,t=Date.now()){let n=e.lastHeartbeatOkAt;if(typeof n=="number"&&t-n>vy())return!0;if(e.subEndsAt){let r=Date.parse(e.subEndsAt);if(Number.isFinite(r)&&t>r)return!0}return!1}function hr(e,t=Date.now()){return e.plan}var oo=b(()=>{"use strict"});function Rn(e){let t=e;for(let[n,r]of Ey)t=t.replace(n,r);return t}var Ey,io=b(()=>{"use strict";Ey=[[/(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]"]]});import{createHash as ZR,randomUUID as Ty}from"node:crypto";import{readFile as kc,writeFile as _c,mkdir as Ry}from"node:fs/promises";async function ao(){try{let n=(await kc(mn(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(n))return n}catch{}await Ry(S(),{recursive:!0});let e=Ty();try{return await _c(mn(),e,{mode:384,flag:"wx"}),e}catch{try{let t=(await kc(mn(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(t))return t}catch{}return await _c(mn(),e,{mode:384}),e}}var lo=b(()=>{"use strict";H()});import{readFile as Ay,writeFile as qR,mkdir as XR,chmod as QR,rm as eA,rename as tA,readdir as nA}from"node:fs/promises";import{join as $y}from"node:path";async function Me(){let e=null;try{let t=JSON.parse(await Ay($y(S(),Cy),"utf8"));typeof t=="object"&&t!==null&&!Array.isArray(t)&&(e=t)}catch{}return e?Ct.parse({...wc,...e}):wc}var Cy,wc,iA,Ut=b(()=>{"use strict";Je();H();Cy="settings-cache.json",wc=Ct.parse({}),iA=Ct.partial().extend({filters:Ct.shape.filters.removeDefault().partial().optional()})});var xc=b(()=>{"use strict";H();Ut();gn();It()});import{join as Sc}from"node:path";import{appendFileSync as Oy,chmodSync as Iy,existsSync as Py,mkdirSync as Ny,readFileSync as yA,renameSync as bA,rmdirSync as kA,statSync as Dy,unlinkSync as _A,utimesSync as wA,writeFileSync as xA}from"node:fs";function vc(){return Sc(S(),"spool")}function Fy(e){return Sc(vc(),`${e}.jsonl`)}function gr(e,t){if(hn())try{Ny(vc(),{recursive:!0,mode:448});let n=Fy(e);if(Py(n)&&Dy(n).size>=My)return;Oy(n,JSON.stringify(t)+`
80
- `,{mode:384}),Iy(n,384)}catch{return}}var My,co=b(()=>{"use strict";H();pn();lo();ms();Ut();gn();xc();My=512*1024});function Ky(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 Gy.has(n.toLowerCase())?n:""}function Vy(e,t,n){let r=0;for(;e==="git"&&r<n.length&&n[r].startsWith("-");)r+=Wy.has(n[r])?2:1;let s=(n[r]??"").toLowerCase();return t.has(s)?`${e} ${s}`:e}function Ec(e){let t=e.toLowerCase();return t.startsWith("git")||Uy.has(t)}function uo(e){let t=e.trim().split(/\s+/).filter(l=>l.length>0),n=0;for(;n<t.length&&By.test(t[n]??"");)n+=1;let r=Ky(t[n]??"");if(!r||!jy.test(r)||r.length>Jy)return"";let s=Zy.get(r.toLowerCase());if(s)return Vy(r.toLowerCase(),s,t.slice(n+1));if(Ec(r)||zy.test(r)||Rn(r)!==r)return"";let o=t[n+1];return o&&Ec(o)?"":(o&&Tc.has(r.toLowerCase())&&Hy.test(o)?`${r} ${o}`:r).slice(0,64)}async function yr(e){if(!e.telemetryOptIn)return;let t=uo(e.cmd),n=t&&Rn(t)===t?t:"other",r=e.sessionId?e.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";gr("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}:{}})}var jy,Hy,By,Uy,zy,Jy,Tc,Gy,Zy,Wy,br=b(()=>{"use strict";io();co();jy=/^[a-z0-9][a-z0-9._-]*$/i,Hy=/^[a-z][a-z-]+$/,By=/^[A-Za-z_][A-Za-z0-9_]*=/,Uy=new Set(["gh","glab","gup","hub","gist"]),zy=/^(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,Jy=24,Tc=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"]),Gy=new Set([...Tc,"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"]),Zy=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"])]]),Wy=new Set(["-C","-c"])});async function kr(e){if(e.plan!=="pro"||Qa(e.filterId)||!(await Me()).telemetryOptIn)return;let t=uo(e.cmd);!t||Rn(t)!==t||gr("learn",{cmd:t,filterId:e.filterId==null?null:le(e.filterId),rawBytes:e.rawBytes,filteredBytes:e.filteredBytes})}var fo=b(()=>{"use strict";br();io();co();Je();Ls();Ut()});function Rc(e){return e?Yy[e]??"anthropic":"anthropic"}var Yy,Ac=b(()=>{"use strict";Yy={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"}});import{appendFileSync as qy,chmodSync as Xy,mkdirSync as Qy,readFileSync as Pc,realpathSync as eb,renameSync as Nc,rmSync as Dc,statSync as Mc,writeFileSync as mo}from"node:fs";import{basename as $c,dirname as Fc,join as _r,resolve as tb,sep as JA}from"node:path";function Lc(){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 lb(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"&&ib.has(n.o)?{o:n.o}:{}}}catch{return null}}function cb(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 ub(e){return e.s==="b"?`b:${(e.c??"").split(" ")[0]||"other"}`:e.s?.startsWith("u:")?e.s:e.o==="n"?"n":"?"}function fb(e,t){let n=ub(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 db(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>ob){e.ox+=1;return}if(cb(e,t),t.k==="restore"?(e.rn+=1,e.rb+=t.f):fb(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=Rc(t.h),r=e.prov[n]??{r:0,f:0};r.r+=t.r,r.f+=t.f,e.prov[n]=r}}function mb(e){let t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function jc(e){return _r(Fc(e),rb)}function pb(e){let t=jc(e),n;try{n=Pc(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]={...Lc(),...i});return s}catch{try{Nc(t,`${t}.corrupt-${Date.now()}`)}catch{}return{}}}function Oc(e,t){let n=`${e}.tmp-${process.pid}`;mo(n,t,{mode:384}),Nc(n,e)}function hb(e){try{return mo(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-Mc(e).mtimeMs<sb?!1:(Dc(e,{force:!0}),mo(e,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function gb(e,t=Cc,n=Cc/2){try{if(Mc(e).size<=t)return}catch{return}let r=`${e}.lock`;if(hb(r))try{let s=Pc(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=pb(e);for(let c of s.slice(0,o)){let u=lb(c);if(!u)continue;let f=mb(u.t),d=a[f]??Lc();db(d,u),a[f]=d}let l=s.slice(o);Oc(e,l.length?`${l.join(`
79
+ `):D,X=G.length<D.length;return E({output:G,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(G,"utf8"),debugBypass:!0,...X?{droppedTail:t}:{}})}let{text:O,droppedTail:P}=Bs(t,d,i?{...l,verbosity:"minimal",...d.transform==="smart-read"?{smartCode:!0}:{}}:l),F=!i&&!d.preserve_exact?Vs(O,l.verbosity,d.slug):O,J=Buffer.byteLength(F,"utf8");return t.trim().length>0&&J>=s?E({output:t,filterId:d.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):E({output:F,filterId:d.slug,rawBytes:s,filteredBytes:J,debugBypass:!1,droppedTail:P})}var Il,Wg,Vg,Yg,qg,Rn=b(()=>{"use strict";ba();Qn();zs();Us();al();Gs();dl();Sn();lr();yl();kl();lr();xl();Cl();Bt();Il=null;Wg=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,Vg=2048,Yg=8192,qg=32*1024});import Qg from"node:os";import{join as An}from"node:path";import{existsSync as ey,statSync as ty,lstatSync as Pl,unlinkSync as ny,mkdirSync as ry,chmodSync as sy}from"node:fs";import{createHash as oy}from"node:crypto";function iy(e){let t=oy("sha256").update(x()).digest("hex").slice(0,8),n=An(Qg.tmpdir(),`tkr-${e}-${t}`),r=An(n,"d.sock");if(Buffer.byteLength(r)>Xs)throw new Error("Temporary directory path is too long for IPC");return Nl(n,e),r}function ay(e,t){try{let n=Pl(e);return n.isDirectory()&&n.uid===t&&(n.mode&63)===0}catch{return!1}}function Nl(e,t){ry(e,{recursive:!0,mode:448});let n=Pl(e);if(!n.isDirectory()||n.uid!==t)throw new Error("Unsafe IPC directory");sy(e,448)}function _t(){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&&ay(t,e)){let s=An(t,`tokmizer-${e}.sock`);if(Buffer.byteLength(s)<=Xs)return{path:s,isPipe:!1}}let n=An(x(),"run"),r=An(n,"daemon.sock");return Buffer.byteLength(r)>Xs?{path:iy(e),isPipe:!1}:(Nl(n,e),{path:r,isPipe:!1})}async function Qs(){let{path:e,isPipe:t}=_t();if(t||!ey(e))return;try{if(!ty(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{ny(e)}catch{}}var Xs,GR,eo=b(()=>{"use strict";B();Xs=100;GR=5*6e4});import{readFileSync as ly}from"node:fs";import{join as cy}from"node:path";function we(){try{return ly(cy(x(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var $n=b(()=>{"use strict";B()});var jl=ae((XR,Ll)=>{Ll.exports=Fl;Fl.sync=fy;var Dl=He("fs");function uy(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 Ml(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:uy(t,n)}function Fl(e,t,n){Dl.stat(e,function(r,s){n(r,r?!1:Ml(s,e,t))})}function fy(e,t){return Ml(Dl.statSync(e),e,t)}});var Jl=ae((QR,zl)=>{zl.exports=Bl;Bl.sync=dy;var Hl=He("fs");function Bl(e,t,n){Hl.stat(e,function(r,s){n(r,r?!1:Ul(s,t))})}function dy(e,t){return Ul(Hl.statSync(e),t)}function Ul(e,t){return e.isFile()&&py(e,t)}function py(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 Gl=ae((tA,Zl)=>{var eA=He("fs"),gr;process.platform==="win32"||global.TESTING_WINDOWS?gr=jl():gr=Jl();Zl.exports=to;to.sync=my;function to(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){to(e,t||{},function(o,i){o?s(o):r(i)})})}gr(e,t||{},function(r,s){r&&(r.code==="EACCES"||t&&t.ignoreErrors)&&(r=null,s=!1),n(r,s)})}function my(e,t){try{return gr.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var Ql=ae((nA,Xl)=>{var Ut=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Kl=He("path"),hy=Ut?";":":",Wl=Gl(),Vl=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),Yl=(e,t)=>{let n=t.colon||hy,r=e.match(/\//)||Ut&&e.match(/\\/)?[""]:[...Ut?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],s=Ut?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=Ut?s.split(n):[""];return Ut&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:r,pathExt:o,pathExtExe:s}},ql=(e,t,n)=>{typeof t=="function"&&(n=t,t={}),t||(t={});let{pathEnv:r,pathExt:s,pathExtExe:o}=Yl(e,t),i=[],a=c=>new Promise((u,f)=>{if(c===r.length)return t.all&&i.length?u(i):f(Vl(e));let d=r[c],p=/^".*"$/.test(d)?d.slice(1,-1):d,m=Kl.join(p,e),k=!p&&/^\.[\\\/]/.test(e)?e.slice(0,2)+m:m;u(l(k,c,0))}),l=(c,u,f)=>new Promise((d,p)=>{if(f===s.length)return d(a(u+1));let m=s[f];Wl(c+m,{pathExt:o},(k,g)=>{if(!k&&g)if(t.all)i.push(c+m);else return d(c+m);return d(l(c,u,f+1))})});return n?a(0).then(c=>n(null,c),n):a(0)},gy=(e,t)=>{t=t||{};let{pathEnv:n,pathExt:r,pathExtExe:s}=Yl(e,t),o=[];for(let i=0;i<n.length;i++){let a=n[i],l=/^".*"$/.test(a)?a.slice(1,-1):a,c=Kl.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(Wl.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 Vl(e)};Xl.exports=ql;ql.sync=gy});var tc=ae((rA,no)=>{"use strict";var ec=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};no.exports=ec;no.exports.default=ec});var oc=ae((sA,sc)=>{"use strict";var nc=He("path"),yy=Ql(),by=tc();function rc(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=yy.sync(e.command,{path:n[by({env:n})],pathExt:t?nc.delimiter:void 0})}catch{}finally{o&&process.chdir(r)}return i&&(i=nc.resolve(s?e.options.cwd:"",i)),i}function ky(e){return rc(e)||rc(e,!0)}sc.exports=ky});var ic=ae((oA,so)=>{"use strict";var ro=/([()\][%!^"`<>&|;, *?])/g;function _y(e){return e=e.replace(ro,"^$1"),e}function wy(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(ro,"^$1"),t&&(e=e.replace(ro,"^$1")),e}so.exports.command=_y;so.exports.argument=wy});var lc=ae((iA,ac)=>{"use strict";ac.exports=/^#!(.*)/});var uc=ae((aA,cc)=>{"use strict";var xy=lc();cc.exports=(e="")=>{let t=e.match(xy);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),s=n.split("/").pop();return s==="env"?r:r?`${s} ${r}`:s}});var dc=ae((lA,fc)=>{"use strict";var oo=He("fs"),Sy=uc();function vy(e){let n=Buffer.alloc(150),r;try{r=oo.openSync(e,"r"),oo.readSync(r,n,0,150,0),oo.closeSync(r)}catch{}return Sy(n.toString())}fc.exports=vy});var gc=ae((cA,hc)=>{"use strict";var Ey=He("path"),pc=oc(),mc=ic(),Ty=dc(),Ry=process.platform==="win32",Ay=/\.(?:com|exe)$/i,$y=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Cy(e){e.file=pc(e);let t=e.file&&Ty(e.file);return t?(e.args.unshift(e.file),e.command=t,pc(e)):e.file}function Oy(e){if(!Ry)return e;let t=Cy(e),n=!Ay.test(t);if(e.options.forceShell||n){let r=$y.test(t);e.command=Ey.normalize(e.command),e.command=mc.command(e.command),e.args=e.args.map(o=>mc.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 Iy(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:Oy(r)}hc.exports=Iy});var kc=ae((uA,bc)=>{"use strict";var io=process.platform==="win32";function ao(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 Py(e,t){if(!io)return;let n=e.emit;e.emit=function(r,s){if(r==="exit"){let o=yc(s,t);if(o)return n.call(e,"error",o)}return n.apply(e,arguments)}}function yc(e,t){return io&&e===1&&!t.file?ao(t.original,"spawn"):null}function Ny(e,t){return io&&e===1&&!t.file?ao(t.original,"spawnSync"):null}bc.exports={hookChildProcess:Py,verifyENOENT:yc,verifyENOENTSync:Ny,notFoundError:ao}});var xc=ae((fA,zt)=>{"use strict";var _c=He("child_process"),lo=gc(),co=kc();function wc(e,t,n){let r=lo(e,t,n),s=_c.spawn(r.command,r.args,r.options);return co.hookChildProcess(s,r),s}function Dy(e,t,n){let r=lo(e,t,n),s=_c.spawnSync(r.command,r.args,r.options);return s.error=s.error||co.verifyENOENTSync(s.status,r),s}zt.exports=wc;zt.exports.spawn=wc;zt.exports.sync=Dy;zt.exports._parse=lo;zt.exports._enoent=co});function My(){let e=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(e)&&e>0?e:6048e5}function yr(e,t=Date.now()){let n=e.lastHeartbeatOkAt;if(typeof n=="number"&&t-n>My())return!0;if(e.subEndsAt){let r=Date.parse(e.subEndsAt);if(Number.isFinite(r)&&t>r)return!0}return!1}function br(e,t=Date.now()){return e.plan}var uo=b(()=>{"use strict"});function Cn(e){let t=e;for(let[n,r]of Fy)t=t.replace(n,r);return t}function By(e){if(!e.includes("PRIVATE KEY-----"))return e;let t=e.split(`
80
+ `),n=[];for(let r of t){if(jy.test(r)){let s=n.length;for(;s>0&&Hy.test(n[s-1]);)s-=1;if(s<n.length){n.length=s,n.push(`${Ae}${r}`);continue}}n.push(r)}return n.join(`
81
+ `)}function Sc(e){let t=e;for(let[n,r]of Ly)t=t.replace(n,r);return By(t)}var Fy,Ae,Ly,jy,Hy,kr=b(()=>{"use strict";Fy=[[/(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]"]];Ae="[tkr: secret masked]",Ly=[[/(-----BEGIN [A-Z0-9 ]*PRIVATE KEY-----)(?:\r?\n(?:[A-Za-z0-9+/=]{16,}|[A-Za-z-]+: [^\r\n]*|\r?(?=\n)))*(?:(?:\r?\n[A-Za-z0-9+/=]{1,15})?\r?\n-----END [A-Z0-9 ]*PRIVATE KEY-----)?/g,`$1${Ae}`],[/(?<![A-Za-z0-9_])(gh[pousr])_[A-Za-z0-9]{36,255}(?![A-Za-z0-9])/g,`$1_${Ae}`],[/(?<![A-Za-z0-9_])github_pat_[A-Za-z0-9_]{22,255}/g,`github_pat_${Ae}`],[/(?<![A-Za-z0-9_])npm_[A-Za-z0-9]{36}(?![A-Za-z0-9])/g,`npm_${Ae}`],[/(?<![A-Z0-9])(AKIA|ASIA)[A-Z0-9]{16}(?![A-Z0-9])/g,`$1${Ae}`],[/(?<![A-Za-z0-9])(xox[abpors]-)[A-Za-z0-9-]{10,}/g,`$1${Ae}`],[/(?<![A-Za-z0-9])((?:sk|rk)_live_)[A-Za-z0-9]{16,}/g,`$1${Ae}`],[/(authorization["']?\s*[:=]\s*["']?bearer\s+)[A-Za-z0-9._~+/=-]{8,}/gi,`$1${Ae}`],[/(?<![A-Za-z0-9+.-])([a-zA-Z][a-zA-Z0-9+.-]{0,31}:\/\/[^\s:/@]*:)[^\s@/]+(@[^\s@/]+)/g,`$1${Ae}$2`]],jy=/^-----END [A-Z0-9 ]*PRIVATE KEY-----/,Hy=/^[A-Za-z0-9+/=]{16,}\r?$/});var vc=b(()=>{"use strict"});import{createHash as gA,randomUUID as Uy}from"node:crypto";import{readFile as Ec,writeFile as Tc,mkdir as zy}from"node:fs/promises";async function fo(){try{let n=(await Ec(hn(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(n))return n}catch{}await zy(x(),{recursive:!0});let e=Uy();try{return await Tc(hn(),e,{mode:384,flag:"wx"}),e}catch{try{let t=(await Ec(hn(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(t))return t}catch{}return await Tc(hn(),e,{mode:384}),e}}var po=b(()=>{"use strict";B()});import{readFile as Jy,writeFile as wA,mkdir as xA,chmod as SA,rm as vA,rename as EA,readdir as TA}from"node:fs/promises";import{join as Zy}from"node:path";async function Le(){let e=null;try{let t=JSON.parse(await Jy(Zy(x(),Gy),"utf8"));typeof t=="object"&&t!==null&&!Array.isArray(t)&&(e=t)}catch{}return e?It.parse({...Rc,...e}):Rc}var Gy,Rc,CA,Jt=b(()=>{"use strict";Ge();B();Gy="settings-cache.json",Rc=It.parse({}),CA=It.partial().extend({filters:It.shape.filters.removeDefault().partial().optional()})});var Ac=b(()=>{"use strict";B();Jt();bn();Nt()});import{join as $c}from"node:path";import{appendFileSync as Ky,chmodSync as Wy,existsSync as Vy,mkdirSync as Yy,readFileSync as zA,renameSync as JA,rmdirSync as ZA,statSync as qy,unlinkSync as GA,utimesSync as KA,writeFileSync as WA}from"node:fs";function Cc(){return $c(x(),"spool")}function Qy(e){return $c(Cc(),`${e}.jsonl`)}function _r(e,t){if(yn())try{Yy(Cc(),{recursive:!0,mode:448});let n=Qy(e);if(Vy(n)&&qy(n).size>=Xy)return;Ky(n,JSON.stringify(t)+`
82
+ `,{mode:384}),Wy(n,384)}catch{return}}var Xy,mo=b(()=>{"use strict";vc();B();gn();po();bs();Jt();bn();Ac();Xy=512*1024});function ub(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 ab.has(n.toLowerCase())?n:""}function fb(e,t,n){let r=0;for(;e==="git"&&r<n.length&&n[r].startsWith("-");)r+=cb.has(n[r])?2:1;let s=(n[r]??"").toLowerCase();return t.has(s)?`${e} ${s}`:e}function Oc(e){let t=e.toLowerCase();return t.startsWith("git")||sb.has(t)}function ho(e){let t=e.trim().split(/\s+/).filter(l=>l.length>0),n=0;for(;n<t.length&&rb.test(t[n]??"");)n+=1;let r=ub(t[n]??"");if(!r||!tb.test(r)||r.length>ib)return"";let s=lb.get(r.toLowerCase());if(s)return fb(r.toLowerCase(),s,t.slice(n+1));if(Oc(r)||ob.test(r)||Cn(r)!==r)return"";let o=t[n+1];return o&&Oc(o)?"":(o&&Ic.has(r.toLowerCase())&&nb.test(o)?`${r} ${o}`:r).slice(0,64)}async function wr(e){if(!e.telemetryOptIn)return;let t=ho(e.cmd),n=t&&Cn(t)===t?t:"other",r=e.sessionId?e.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";_r("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}:{}})}var tb,nb,rb,sb,ob,ib,Ic,ab,lb,cb,xr=b(()=>{"use strict";kr();mo();tb=/^[a-z0-9][a-z0-9._-]*$/i,nb=/^[a-z][a-z-]+$/,rb=/^[A-Za-z_][A-Za-z0-9_]*=/,sb=new Set(["gh","glab","gup","hub","gist"]),ob=/^(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,ib=24,Ic=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"]),ab=new Set([...Ic,"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"]),lb=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"])]]),cb=new Set(["-C","-c"])});async function Sr(e){if(e.plan!=="pro"||sl(e.filterId)||!(await Le()).telemetryOptIn)return;let t=ho(e.cmd);!t||Cn(t)!==t||_r("learn",{cmd:t,filterId:e.filterId==null?null:le(e.filterId),rawBytes:e.rawBytes,filteredBytes:e.filteredBytes})}var go=b(()=>{"use strict";xr();kr();mo();Ge();zs();Jt()});function Pc(e){return e?db[e]??"anthropic":"anthropic"}var db,Nc=b(()=>{"use strict";db={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"}});import{appendFileSync as pb,chmodSync as mb,mkdirSync as hb,readFileSync as jc,realpathSync as gb,renameSync as Hc,rmSync as Bc,statSync as Uc,writeFileSync as yo}from"node:fs";import{basename as Dc,dirname as zc,join as vr,resolve as yb,sep as g$}from"node:path";function Jc(){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 vb(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"&&xb.has(n.o)?{o:n.o}:{}}}catch{return null}}function Eb(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 Tb(e){return e.s==="b"?`b:${(e.c??"").split(" ")[0]||"other"}`:e.s?.startsWith("u:")?e.s:e.o==="n"?"n":"?"}function Rb(e,t){let n=Tb(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 Ab(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>wb){e.ox+=1;return}if(Eb(e,t),t.k==="restore"?(e.rn+=1,e.rb+=t.f):Rb(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=Pc(t.h),r=e.prov[n]??{r:0,f:0};r.r+=t.r,r.f+=t.f,e.prov[n]=r}}function $b(e){let t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function Zc(e){return vr(zc(e),kb)}function Cb(e){let t=Zc(e),n;try{n=jc(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]={...Jc(),...i});return s}catch{try{Hc(t,`${t}.corrupt-${Date.now()}`)}catch{}return{}}}function Fc(e,t){let n=`${e}.tmp-${process.pid}`;yo(n,t,{mode:384}),Hc(n,e)}function Ob(e){try{return yo(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-Uc(e).mtimeMs<_b?!1:(Bc(e,{force:!0}),yo(e,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function Ib(e,t=Mc,n=Mc/2){try{if(Uc(e).size<=t)return}catch{return}let r=`${e}.lock`;if(Ob(r))try{let s=jc(e,"utf8").split(`
83
+ `).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=Cb(e);for(let c of s.slice(0,o)){let u=vb(c);if(!u)continue;let f=$b(u.t),d=a[f]??Jc();Ab(d,u),a[f]=d}let l=s.slice(o);Fc(e,l.length?`${l.join(`
82
84
  `)}
83
- `:""),Oc(jc(e),JSON.stringify({v:1,days:a}))}catch{return}finally{Dc(r,{force:!0})}}function yb(e){let t=tb(e),n=t,r="";for(;;){try{return _r(eb(n),r)}catch{}let s=Fc(n);if(s===n)return t;r=r?_r($c(n),r):$c(n),n=s}}function Ic(e){return e.length===0||e[0]==="cd"||e.every(t=>Hc.test(t))}function xb(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(),Ic(t)){t=[];continue}return t}n+=i,r=!0}return o(),Ic(t)?[]:t}function zt(e){let t=xb(e).map(a=>a.replace(/^[({]+/,"")).filter(Boolean),n=0;for(;n<t.length;){let a=t[n];if(Hc.test(a)){n+=1;continue}if(bb.has(a)){for(n+=1;n<t.length;){let l=t[n];if(l.startsWith("-")){n+=kb.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("-")&&_b.test(o)&&wb.has(s.toLowerCase())?`${s} ${o}`:s).slice(0,24)}function Sb(){return _r(S(),nb)}function wr(e,t,n=Sb(),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?yb(a):"",m=d&&d.length<=ab?`,"p":${JSON.stringify(d)}`:"",p=l.s?`,"s":${JSON.stringify(l.s.slice(0,66))}`:"",k=l.o?`,"o":${JSON.stringify(l.o)}`:"",g=`{"t":${Math.floor(Date.now()/1e3)},"r":${e},"f":${t}${r?',"m":1':""}${c}${u}${f}${m}${p}${k}}
85
- `;try{Qy(S(),{recursive:!0,mode:448}),qy(n,g,{mode:384}),Xy(n,384),gb(n)}catch{return}}function xr(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 Sr(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}}var nb,rb,Cc,sb,ob,ib,ab,bb,kb,_b,wb,Hc,po=b(()=>{"use strict";H();Ac();nb="stats.jsonl",rb="stats-ledger.json",Cc=2*1024*1024,sb=3e4,ob=3e4,ib=new Set(["n","g","e"]),ab=256;bb=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),kb=new Set(["-u","-g","-n","-s","-k"]),_b=/^[a-z0-9][a-z0-9._-]*$/i,wb=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"]),Hc=/^[A-Za-z_][A-Za-z0-9_]*=/});import{appendFileSync as vb,mkdirSync as Eb,readFileSync as Tb,writeFileSync as Rb,renameSync as Ab,statSync as $b,readdirSync as VA,rmSync as YA,chmodSync as Cb}from"node:fs";import{join as Bc}from"node:path";function Uc(){return Bc(S(),"sessions")}function Nb(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Bc(Uc(),`${t}.jsonl`)}function vr(e,t){try{let n=Nb(e);Eb(Uc(),{recursive:!0,mode:448});let r=JSON.stringify({t:t.t??Math.floor(Date.now()/1e3),tool:t.tool,target:t.target.slice(0,Pb),...t.fail?{fail:1}:{}});if(vb(n,`${r}
86
- `,{mode:384}),Cb(n,384),$b(n).size>Ob){let s=Tb(n,"utf8").split(`
87
- `).filter(a=>a.trim()!==""),o=s.slice(s.length-Ib),i=`${n}.tmp-${process.pid}`;Rb(i,`${o.join(`
85
+ `:""),Fc(Zc(e),JSON.stringify({v:1,days:a}))}catch{return}finally{Bc(r,{force:!0})}}function Pb(e){let t=yb(e),n=t,r="";for(;;){try{return vr(gb(n),r)}catch{}let s=zc(n);if(s===n)return t;r=r?vr(Dc(n),r):Dc(n),n=s}}function Lc(e){return e.length===0||e[0]==="cd"||e.every(t=>Gc.test(t))}function Lb(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(`|;&<>
86
+ `.includes(i)){if(o(),Lc(t)){t=[];continue}return t}n+=i,r=!0}return o(),Lc(t)?[]:t}function wt(e){let t=Lb(e).map(a=>a.replace(/^[({]+/,"")).filter(Boolean),n=0;for(;n<t.length;){let a=t[n];if(Gc.test(a)){n+=1;continue}if(Nb.has(a)){for(n+=1;n<t.length;){let l=t[n];if(l.startsWith("-")){n+=Db.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("-")&&Mb.test(o)&&Fb.has(s.toLowerCase())?`${s} ${o}`:s).slice(0,24)}function jb(){return vr(x(),bb)}function Er(e,t,n=jb(),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?Pb(a):"",p=d&&d.length<=Sb?`,"p":${JSON.stringify(d)}`:"",m=l.s?`,"s":${JSON.stringify(l.s.slice(0,66))}`:"",k=l.o?`,"o":${JSON.stringify(l.o)}`:"",g=`{"t":${Math.floor(Date.now()/1e3)},"r":${e},"f":${t}${r?',"m":1':""}${c}${u}${f}${p}${m}${k}}
87
+ `;try{hb(x(),{recursive:!0,mode:448}),pb(n,g,{mode:384}),mb(n,384),Ib(n)}catch{return}}function Tr(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 Rr(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}}var bb,kb,Mc,_b,wb,xb,Sb,Nb,Db,Mb,Fb,Gc,bo=b(()=>{"use strict";B();Nc();bb="stats.jsonl",kb="stats-ledger.json",Mc=2*1024*1024,_b=3e4,wb=3e4,xb=new Set(["n","g","e"]),Sb=256;Nb=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),Db=new Set(["-u","-g","-n","-s","-k"]),Mb=/^[a-z0-9][a-z0-9._-]*$/i,Fb=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"]),Gc=/^[A-Za-z_][A-Za-z0-9_]*=/});import{appendFileSync as Hb,mkdirSync as Bb,readFileSync as Ub,writeFileSync as zb,renameSync as Jb,statSync as Zb,readdirSync as w$,rmSync as x$,chmodSync as Gb}from"node:fs";import{join as Kc}from"node:path";function Wc(){return Kc(x(),"sessions")}function Yb(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Kc(Wc(),`${t}.jsonl`)}function Ar(e,t){try{let n=Yb(e);Bb(Wc(),{recursive:!0,mode:448});let r=JSON.stringify({t:t.t??Math.floor(Date.now()/1e3),tool:t.tool,target:t.target.slice(0,Vb),...t.fail?{fail:1}:{}});if(Hb(n,`${r}
88
+ `,{mode:384}),Gb(n,384),Zb(n).size>Kb){let s=Ub(n,"utf8").split(`
89
+ `).filter(a=>a.trim()!==""),o=s.slice(s.length-Wb),i=`${n}.tmp-${process.pid}`;zb(i,`${o.join(`
88
90
  `)}
89
- `,{mode:384}),Ab(i,n)}}catch{}}var Ob,Ib,QA,Pb,ho=b(()=>{"use strict";H();Ob=96*1024,Ib=500,QA=168*3600*1e3,Pb=120});import{basename as Db}from"node:path";function Jt(e){let t=Db(e).replace(/\.(m?js|ts)$/,"");if(t==="tkr")return[];for(let[n,r]of Object.entries(Mb))if(r===t)return[n];for(let[n,r]of Object.entries(Fb))if(r===t)return["hook",n];return null}var Mb,Fb,An=b(()=>{"use strict";Mb={exec:"tkr-exec",processor:"tkr-processor",daemon:"tkr-daemon","shim-run":"tkr-shim"},Fb={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 Ae(){return!1}function $n(e,t=process.execPath){let n=Ae()?Jt(e):null;return n?[process.execPath,...n]:[t,e]}var We=b(()=>{"use strict";An()});import{rmSync as Lb,statSync as jb}from"node:fs";import{join as zc}from"node:path";function Er(){return zc(S(),"shims")}function go(){return zc(S(),"fail-open")}function he(e=Date.now()){try{if(e-jb(go()).mtimeMs<Hb)return!0;Lb(go(),{force:!0})}catch{}return!1}var Hb,we=b(()=>{"use strict";H();Hb=24*36e5});var yo=b(()=>{"use strict";H();We();An();we()});import{chmod as Gb,lstat as Gc,mkdir as Zb,readFile as ko,rename as Wb,rm as y$,unlink as Zc,writeFile as Kb}from"node:fs/promises";import{createHash as Wc}from"node:crypto";import{basename as Vb,join as Kc}from"node:path";function Vc(){return Kc(S(),"backup","config")}function bo(e){let t=wo(e),n=Wc("sha256").update(t).digest("hex").slice(0,16),r=Vb(t).replace(/[^A-Za-z0-9._-]/g,"_").slice(0,80);return Kc(Vc(),`${n}-${r}`)}function Yc(e){return`${bo(e)}.written`}function qc(e){return Wc("sha256").update(e).digest("hex")}async function qb(e){try{return await Gc(e),!0}catch{return!1}}async function _o(e,t){let n=`${e}.tmp-${process.pid}`;try{return await Zb(Vc(),{recursive:!0,mode:448}),await Kb(n,t,{mode:384}),await Gb(n,384),await Wb(n,e),!0}catch{return await Zc(n).catch(()=>{}),!1}}async function Xb(e,t){let n=`${e}${Yb}`;try{if(!(await Gc(n)).isFile())return!1}catch{return!1}let r=!await qb(t);if(r&&!await _o(t,await ko(n,"utf8")))throw new Error("backup");return await Zc(n).catch(()=>{}),r}async function Qb(e,t){try{return(await ko(Yc(e),"utf8")).trim()===qc(t)}catch{return!1}}async function Xc(e,t){let n=t;try{n===void 0&&(n=await ko(e,"utf8"))}catch(r){return r.code==="ENOENT"}try{if(await Xb(e,bo(e)))return!0}catch{return!1}return await Qb(e,n)?!0:_o(bo(e),n)}async function Tr(e,t,n){return!await Xc(e,n)||!await Ar(e,t)?!1:(await _o(Yc(e),`${qc(t)}
90
- `),!0)}var Yb,Rr=b(()=>{"use strict";H();$e();Yb=".tkr-bak"});import{readFile as ek,writeFile as tk,rename as nk,mkdir as tu,chmod as rk,stat as sk,unlink as ok}from"node:fs/promises";import{existsSync as ik,lstatSync as ak,readlinkSync as lk,realpathSync as Qc}from"node:fs";import{basename as ck,dirname as $r,join as uk,resolve as eu}from"node:path";function L(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}async function Ke(e){if(!ik(e))return{};try{let t=JSON.parse(await ek(e,"utf8"));return L(t)?t:null}catch{return null}}function wo(e){let t=eu(e);for(let n=0;n<32;n++){try{return Qc(t)}catch{}try{if(!ak(t).isSymbolicLink())break;t=eu($r(t),lk(t))}catch{break}}try{return uk(Qc($r(t)),ck(t))}catch{return t}}async function Ar(e,t){let n=wo(e),r=`${n}.tmp-${process.pid}`;try{await tu($r(n),{recursive:!0});let s=384;try{s=(await sk(n)).mode&511}catch{}return await tk(r,t,{mode:s}),await rk(r,s),await nk(r,n),!0}catch{try{await ok(r)}catch{}return!1}}async function Ve(e,t){try{await tu($r(e),{recursive:!0})}catch{return!1}return Tr(e,`${JSON.stringify(t,null,2)}
91
- `)}function Gt(e,t){if(typeof e!="string")return!1;if(e.includes(t))return!0;let n=Jt(t);return n?.length?new RegExp(`^\\s*${fk}\\s+${n.join("\\s+")}(?:\\s|$)`,"i").test(e):!1}function Cr(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(!L(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 fk,$e=b(()=>{"use strict";An();We();yo();Rr();fk=String.raw`(?:'(?:(?:[^']|'\\'')*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?'|"(?:[^"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?"|(?:[^\s'"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?)`});import{existsSync as N$,readFileSync as dk}from"node:fs";import{join as mk}from"node:path";import pk from"node:os";function gk(){return mk(pk.homedir(),".cursor","hooks.json")}function yk(e){return L(e)&&Gt(e.command,hk)}function bk(e){let t=L(e.hooks)?e.hooks:{},n=Array.isArray(t[nu])?t[nu]:[];return{hooks:t,entries:n}}function ru(){try{let e=JSON.parse(dk(gk(),"utf8"));return bk(e).entries.some(yk)}catch{return!1}}var hk,nu,su=b(()=>{"use strict";$e();hk="tkr-cursor-hook",nu="preToolUse"});import{existsSync as H$,readFileSync as kk}from"node:fs";import{join as _k}from"node:path";import wk from"node:os";function Sk(){return _k(process.env.GEMINI_CLI_HOME||wk.homedir(),".gemini","settings.json")}function vk(e){return L(e)&&Gt(e.command,xk)}function Ek(e){return(Array.isArray(e.hooks)?e.hooks:[]).find(vk)}function Tk(e){let t=L(e.hooks)?e.hooks:{},n=Array.isArray(t[ou])?t[ou]:[];return{hooks:t,groups:n}}function iu(){try{let e=JSON.parse(kk(Sk(),"utf8"));return Tk(e).groups.some(t=>Ek(t)!=null)}catch{return!1}}var xk,ou,au=b(()=>{"use strict";$e();xk="tkr-gemini-hook",ou="BeforeTool"});import{existsSync as W$,accessSync as K$,constants as V$,readFileSync as Rk}from"node:fs";function $k(e){return e.includes(Ak)}function lu(e){try{return $k(Rk(e,"utf8"))}catch{return!1}}var Ak,cu=b(()=>{"use strict";$e();We();Rr();H();Ak='"rewrite", "--host"'});import{readFile as fu,mkdir as Ck}from"node:fs/promises";import{existsSync as vo,readFileSync as du}from"node:fs";import{dirname as Ok,join as So}from"node:path";import mu from"node:os";function In(){return So(process.env.VIBE_HOME||So(mu.homedir(),".vibe"),"hooks.toml")}function uu(e){return JSON.stringify(e)}function Ik(e){return["[[hooks]]",`name = ${uu(pu)}`,'type = "pre_tool"','match = "bash"',`command = ${uu(e)}`,"timeout = 10.0","strict = false",'description = "Route shell commands through tokmizer."',""].join(`
92
- `)}function Eo(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 On(e){return/^\s*\[\[hooks\]\]/.test(e)&&new RegExp(`^\\s*name\\s*=\\s*"${pu}"\\s*$`,"m").test(e)}async function hu(e,t){try{await Ck(Ok(e),{recursive:!0})}catch{return!1}return Tr(e,t)}function gu(){try{return Eo(du(In(),"utf8")).some(On)}catch{return!1}}async function yu(e){let t=In(),n="";try{vo(t)&&(n=await fu(t,"utf8"))}catch{return"error"}let r=Ik(e),s=Eo(n),o=s.filter(On);if(o.length===1&&o[0].trimEnd()===r.trimEnd())return"present";let i=s.filter(l=>!On(l)).join("").trimEnd(),a=i?`${i}
91
+ `,{mode:384}),Jb(i,n)}}catch{}}var Kb,Wb,E$,Vb,ko=b(()=>{"use strict";B();Kb=96*1024,Wb=500,E$=168*3600*1e3,Vb=120});import{basename as qb}from"node:path";function Zt(e){let t=qb(e).replace(/\.(m?js|ts)$/,"");if(t==="tkr")return[];for(let[n,r]of Object.entries(Xb))if(r===t)return[n];for(let[n,r]of Object.entries(Qb))if(r===t)return["hook",n];return null}var Xb,Qb,On=b(()=>{"use strict";Xb={exec:"tkr-exec",processor:"tkr-processor",daemon:"tkr-daemon","shim-run":"tkr-shim"},Qb={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 $e(){return!1}function In(e,t=process.execPath){let n=$e()?Zt(e):null;return n?[process.execPath,...n]:[t,e]}var Ve=b(()=>{"use strict";On()});import{rmSync as ek,statSync as tk}from"node:fs";import{join as Vc}from"node:path";function $r(){return Vc(x(),"shims")}function _o(){return Vc(x(),"fail-open")}function ge(e=Date.now()){try{if(e-tk(_o()).mtimeMs<nk)return!0;ek(_o(),{force:!0})}catch{}return!1}var nk,xe=b(()=>{"use strict";B();nk=24*36e5});var wo=b(()=>{"use strict";B();Ve();On();xe()});import{chmod as ak,lstat as qc,mkdir as lk,readFile as So,rename as ck,rm as z$,unlink as Xc,writeFile as uk}from"node:fs/promises";import{createHash as Qc}from"node:crypto";import{basename as fk,join as eu}from"node:path";function tu(){return eu(x(),"backup","config")}function xo(e){let t=Eo(e),n=Qc("sha256").update(t).digest("hex").slice(0,16),r=fk(t).replace(/[^A-Za-z0-9._-]/g,"_").slice(0,80);return eu(tu(),`${n}-${r}`)}function nu(e){return`${xo(e)}.written`}function ru(e){return Qc("sha256").update(e).digest("hex")}async function pk(e){try{return await qc(e),!0}catch{return!1}}async function vo(e,t){let n=`${e}.tmp-${process.pid}`;try{return await lk(tu(),{recursive:!0,mode:448}),await uk(n,t,{mode:384}),await ak(n,384),await ck(n,e),!0}catch{return await Xc(n).catch(()=>{}),!1}}async function mk(e,t){let n=`${e}${dk}`;try{if(!(await qc(n)).isFile())return!1}catch{return!1}let r=!await pk(t);if(r&&!await vo(t,await So(n,"utf8")))throw new Error("backup");return await Xc(n).catch(()=>{}),r}async function hk(e,t){try{return(await So(nu(e),"utf8")).trim()===ru(t)}catch{return!1}}async function su(e,t){let n=t;try{n===void 0&&(n=await So(e,"utf8"))}catch(r){return r.code==="ENOENT"}try{if(await mk(e,xo(e)))return!0}catch{return!1}return await hk(e,n)?!0:vo(xo(e),n)}async function Cr(e,t,n){return!await su(e,n)||!await Ir(e,t)?!1:(await vo(nu(e),`${ru(t)}
92
+ `),!0)}var dk,Or=b(()=>{"use strict";B();Ce();dk=".tkr-bak"});import{readFile as gk,writeFile as yk,rename as bk,mkdir as au,chmod as kk,stat as _k,unlink as wk}from"node:fs/promises";import{existsSync as xk,lstatSync as Sk,readlinkSync as vk,realpathSync as ou}from"node:fs";import{basename as Ek,dirname as Pr,join as Tk,resolve as iu}from"node:path";function j(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}async function Ye(e){if(!xk(e))return{};try{let t=JSON.parse(await gk(e,"utf8"));return j(t)?t:null}catch{return null}}function Eo(e){let t=iu(e);for(let n=0;n<32;n++){try{return ou(t)}catch{}try{if(!Sk(t).isSymbolicLink())break;t=iu(Pr(t),vk(t))}catch{break}}try{return Tk(ou(Pr(t)),Ek(t))}catch{return t}}async function Ir(e,t){let n=Eo(e),r=`${n}.tmp-${process.pid}`;try{await au(Pr(n),{recursive:!0});let s=384;try{s=(await _k(n)).mode&511}catch{}return await yk(r,t,{mode:s}),await kk(r,s),await bk(r,n),!0}catch{try{await wk(r)}catch{}return!1}}async function qe(e,t){try{await au(Pr(e),{recursive:!0})}catch{return!1}return Cr(e,`${JSON.stringify(t,null,2)}
93
+ `)}function Gt(e,t){if(typeof e!="string")return!1;if(e.includes(t))return!0;let n=Zt(t);return n?.length?new RegExp(`^\\s*${Rk}\\s+${n.join("\\s+")}(?:\\s|$)`,"i").test(e):!1}function Nr(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(!j(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 Rk,Ce=b(()=>{"use strict";On();Ve();wo();Or();Rk=String.raw`(?:'(?:(?:[^']|'\\'')*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?'|"(?:[^"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?"|(?:[^\s'"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?)`});import{existsSync as i1,readFileSync as Ak}from"node:fs";import{join as $k}from"node:path";import Ck from"node:os";function Ik(){return $k(Ck.homedir(),".cursor","hooks.json")}function Pk(e){return j(e)&&Gt(e.command,Ok)}function Nk(e){let t=j(e.hooks)?e.hooks:{},n=Array.isArray(t[lu])?t[lu]:[];return{hooks:t,entries:n}}function cu(){try{let e=JSON.parse(Ak(Ik(),"utf8"));return Nk(e).entries.some(Pk)}catch{return!1}}var Ok,lu,uu=b(()=>{"use strict";Ce();Ok="tkr-cursor-hook",lu="preToolUse"});import{existsSync as d1,readFileSync as Dk}from"node:fs";import{join as Mk}from"node:path";import Fk from"node:os";function jk(){return Mk(process.env.GEMINI_CLI_HOME||Fk.homedir(),".gemini","settings.json")}function Hk(e){return j(e)&&Gt(e.command,Lk)}function Bk(e){return(Array.isArray(e.hooks)?e.hooks:[]).find(Hk)}function Uk(e){let t=j(e.hooks)?e.hooks:{},n=Array.isArray(t[fu])?t[fu]:[];return{hooks:t,groups:n}}function du(){try{let e=JSON.parse(Dk(jk(),"utf8"));return Uk(e).groups.some(t=>Bk(t)!=null)}catch{return!1}}var Lk,fu,pu=b(()=>{"use strict";Ce();Lk="tkr-gemini-hook",fu="BeforeTool"});import{existsSync as k1,accessSync as _1,constants as w1,readFileSync as zk}from"node:fs";function Zk(e){return e.includes(Jk)}function mu(e){try{return Zk(zk(e,"utf8"))}catch{return!1}}var Jk,hu=b(()=>{"use strict";Ce();Ve();Or();B();Jk='"rewrite", "--host"'});import{readFile as yu,mkdir as Gk}from"node:fs/promises";import{existsSync as Ao,readFileSync as bu}from"node:fs";import{dirname as Kk,join as Ro}from"node:path";import ku from"node:os";function Dn(){return Ro(process.env.VIBE_HOME||Ro(ku.homedir(),".vibe"),"hooks.toml")}function gu(e){return JSON.stringify(e)}function Wk(e){return["[[hooks]]",`name = ${gu(_u)}`,'type = "pre_tool"','match = "bash"',`command = ${gu(e)}`,"timeout = 10.0","strict = false",'description = "Route shell commands through tokmizer."',""].join(`
94
+ `)}function $o(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 Nn(e){return/^\s*\[\[hooks\]\]/.test(e)&&new RegExp(`^\\s*name\\s*=\\s*"${_u}"\\s*$`,"m").test(e)}async function wu(e,t){try{await Gk(Kk(e),{recursive:!0})}catch{return!1}return Cr(e,t)}function xu(){try{return $o(bu(Dn(),"utf8")).some(Nn)}catch{return!1}}async function Su(e){let t=Dn(),n="";try{Ao(t)&&(n=await yu(t,"utf8"))}catch{return"error"}let r=Wk(e),s=$o(n),o=s.filter(Nn);if(o.length===1&&o[0].trimEnd()===r.trimEnd())return"present";let i=s.filter(l=>!Nn(l)).join("").trimEnd(),a=i?`${i}
93
95
 
94
- ${r}`:r;return await hu(t,a)?o.length?"updated":"added":"error"}async function bu(){let e=In();if(!vo(e))return"absent";let t;try{t=await fu(e,"utf8")}catch{return"error"}let n=Eo(t);if(!n.some(On))return"absent";let r=n.filter(o=>!On(o)).join("").trimEnd(),s=r?`${r}
95
- `:"";return await hu(e,s)?"removed":"error"}function Pn(){return So(mu.homedir(),".gemini","config","hooks.json")}function Pk(e){return{enabled:!0,PreToolUse:[{matcher:"run_command",hooks:[{type:"command",command:e,timeout:10}]}]}}function ku(){try{let e=JSON.parse(du(Pn(),"utf8"));return L(e)&&L(e[Cn])}catch{return!1}}async function _u(e){let t=Pn(),n=await Ke(t);if(!n)return"error";let r=Pk(e),s=n[Cn];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[Cn]=r,await Ve(t,n)?s===void 0?"added":"updated":"error")}async function wu(){let e=Pn();if(!vo(e))return"absent";let t=await Ke(e);return t?Cn in t?(delete t[Cn],await Ve(e,t)?"removed":"error"):"absent":"error"}var pu,Cn,xu=b(()=>{"use strict";$e();Rr();pu="tokmizer-rewrite",Cn="tokmizer-rewrite"});import{dirname as m1,join as ge}from"node:path";import Nk from"node:os";function vu(e){return e.kind==="hook"?e.installed():lu(e.files()[0].target)}var Nn,To,Su,Eu=b(()=>{"use strict";$e();cu();xu();Nn=()=>Nk.homedir(),To=()=>process.env.XDG_CONFIG_HOME||ge(Nn(),".config"),Su=[{host:"opencode",label:"OpenCode",command:"setup-opencode",kind:"shim",files:()=>[{template:"opencode.js",target:ge(To(),"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:ge(To(),"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:ge(To(),"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:In,installed:gu,ensure:yu,remove:bu,next:"Restart Vibe so it reads hooks.toml."},{host:"antigravity",label:"Antigravity",command:"setup-antigravity",kind:"hook",file:Pn,installed:ku,ensure:_u,remove:wu,next:"Restart Antigravity, then check it with /hooks."},{host:"openclaw",label:"OpenClaw",command:"setup-openclaw",kind:"shim",files:()=>{let e=ge(Nn(),".openclaw","extensions","tokmizer");return["index.js","openclaw.plugin.json","package.json"].map(t=>({template:`openclaw/${t}`,target:ge(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:ge(process.env.PI_CODING_AGENT_DIR||ge(Nn(),".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:ge(Nn(),".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=ge(process.env.HERMES_HOME||ge(Nn(),".hermes"),"plugins","tokmizer");return["__init__.py","plugin.yaml"].map(t=>({template:`hermes/${t}`,target:ge(e,t)}))},next:"Run: hermes plugins enable tokmizer, then restart Hermes (needs Hermes v2026.8.16 or newer)."}]});import{existsSync as Dk,readFileSync as Mk}from"node:fs";function Or(e,t){return L(e)&&Gt(e.command,t)}function Tu(e){return e.path??(e.nested?["hooks"]:[])}function Ru(e,t){let n=e;for(let r of Tu(t))L(n[r])||(n[r]={}),n=n[r];return n}function Au(e,t){let n=e;for(let s of Tu(t))n=L(n)?n[s]:void 0;if(!L(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function Fk(e){return L(e)&&Array.isArray(e.hooks)?e.hooks:[]}function $u(e,t){return(t.matcher===void 0?e:e.flatMap(Fk)).filter(r=>Or(r,t.mark))}function Cu(e,t){return $u(Au(e,t),t).length>0}function Ro(e,t){try{let n=JSON.parse(Mk(e,"utf8"));return L(n)&&Cu(n,t)}catch{return!1}}function Lk(e,t,n){let r=Ru(e,t),s=Array.isArray(r[t.event])?r[t.event]:[];r[t.event]=s;let o=$u(s,t)[0],i=t.entry(n);if(o){let a=Cr(s,c=>Or(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 jk(e,t){if(!Cu(e,t))return!1;let n=Ru(e,t),r=Au(e,t),s=t.matcher===void 0?r.filter(o=>!Or(o,t.mark)):r.map(o=>L(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!Or(i,t.mark))}:o).filter(o=>!L(o)||!Array.isArray(o.hooks)||o.hooks.length>0);return s.length?n[t.event]=s:delete n[t.event],!0}async function Ao(e,t,n){let r=await Ke(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=Lk(r,t,n);return s==="present"||await Ve(e,r)?s:"error"}async function Ir(e,t){if(!Dk(e))return"absent";let n=await Ke(e);return n?jk(n,t)?await Ve(e,n)?"removed":"error":"absent":"error"}var Ou=b(()=>{"use strict";$e()});import{existsSync as Co,readFileSync as Hk}from"node:fs";import{join as X}from"node:path";import Bk from"node:os";function Ce(){return Bk.homedir()}function Du(e){return e.version===void 0&&(e.version=1),e.version===1}function Uk(e,t,n){return Promise.all(e.map(r=>Ao(r,t,n))).then(r=>r.includes("error")?"error":r.includes("updated")?"updated":r.includes("added")?"added":"present")}function zk(e,t){return Promise.all(e.map(n=>Ir(n,t))).then(n=>n.includes("error")?"error":n.includes("removed")?"removed":"absent")}function _t(e,t){return{...e,installed:()=>e.files().some(n=>Ro(n,t)),ensure:n=>Uk(e.files(),t,n),remove:()=>zk(e.files(),t)}}function Gk(){return X(process.env.COPILOT_HOME||X(Ce(),".copilot"),"hooks","tokmizer.json")}function Wk(){let e=[X(Ce(),".trae","hooks.json")];return Co(X(Ce(),".trae-cn"))&&e.push(X(Ce(),".trae-cn","hooks.json")),e}function Vk(){return X(process.env.QWEN_HOME||X(Ce(),".qwen"),"settings.json")}function qk(){return X(process.env.XDG_CONFIG_HOME||X(Ce(),".config"),"crush","crush.json")}function Qk(){return X(Ce(),".junie","config.json")}function e0(e){return e.hooks===void 0&&(e.hooks={}),L(e.hooks)?(e.hooks.enabled===void 0&&(e.hooks.enabled=!0),e.hooks.events===void 0||L(e.hooks.events)):!1}function n0(){return X(Ce(),".zcode","cli","config.json")}function s0(){return X(Ce(),".grok","hooks","tokmizer.json")}function $o(){return X(Ce(),".factory")}function Pr(){return[{file:X($o(),"hooks.json"),spec:Oo},{file:X($o(),"hooks","hooks.json"),spec:Oo},{file:X($o(),"settings.json"),spec:i0}]}function Iu(e){try{let t=JSON.parse(Hk(e,"utf8"));return L(t)?t:null}catch{return null}}function Pu(e,t){let n=t?e?.hooks:e;return L(n)&&Array.isArray(n.PreToolUse)&&n.PreToolUse.length>0}function Nu(){let[e,t,n]=Pr(),r=Co(e.file)?e:Co(t.file)?t:null;return r&&Pu(Iu(r.file),!1)?r:Pu(Iu(n.file),!0)?n:r??e}var Jk,Zk,Kk,Yk,Xk,t0,r0,o0,Oo,i0,a0,Mu,Fu=b(()=>{"use strict";$e();Ou();Jk={mark:"tkr-copilot-hook",event:"PreToolUse",nested:!0,entry:e=>({type:"command",command:e,bash:e,powershell:e,timeout:10,timeoutSec:10}),prepare:Du};Zk={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:Du};Kk={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};Yk={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};Xk={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};t0={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:e0};r0={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};o0="tkr-droid-hook",Oo={mark:o0,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},i0={...Oo,nested:!0};a0={id:"droid",label:"Factory Droid",setup:"tkr setup-droid",bin:"tkr-droid-hook",restart:"Restart Droid, then check it with /hooks.",files:()=>[Nu().file],installed:()=>Pr().some(e=>Ro(e.file,e.spec)),ensure:async e=>{let t=Nu(),n=await Ao(t.file,t.spec,e);return n==="error"||await Promise.all(Pr().filter(r=>r.file!==t.file).map(r=>Ir(r.file,r.spec))),n},remove:async()=>{let e=await Promise.all(Pr().map(t=>Ir(t.file,t.spec)));return e.includes("error")?"error":e.includes("removed")?"removed":"absent"}},Mu=[_t({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:()=>[Gk()]},Jk),a0,_t({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:Wk},Zk),_t({id:"qwen-code",label:"Qwen Code",setup:"tkr setup-qwen",bin:"tkr-qwen-hook",restart:"Restart Qwen Code, then check it with /hooks.",files:()=>[Vk()]},Kk),_t({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[qk()]},Yk),_t({id:"junie",label:"Junie CLI",setup:"tkr setup-junie",bin:"tkr-junie-hook",restart:"Restart Junie CLI so it loads the new hook.",files:()=>[Qk()]},Xk),_t({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[n0()]},t0),_t({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:()=>[s0()]},r0)]});function Lu(e){return l0.has(e)||(c0[e]?.installed()??!1)}function Nr(e){return null}function Dr(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&&Io.includes(s)){let o=s;return{host:o,source:"env",os:n,arch:r,shimRecommended:!Lu(o)}}for(let o of ju)if(o.vars.some(i=>e[i]))return{host:o.host,source:"env",os:n,arch:r,shimRecommended:!Lu(o.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}var ju,Io,l0,c0,Dn=b(()=>{"use strict";su();au();Eu();Fu();ju=[{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:[]}],Io=[...ju.map(e=>e.host),"shell"],l0=new Set(["claude-code","codex"]),c0={cursor:{installed:ru,setup:"tkr setup-cursor"},"gemini-cli":{installed:iu,setup:"tkr setup-gemini"},...Object.fromEntries(Su.map(e=>[e.host,{installed:()=>vu(e),setup:`tkr ${e.command}`}])),...Object.fromEntries(Mu.map(e=>[e.id,{installed:e.installed,setup:e.setup}]))}});import{existsSync as j1,realpathSync as u0}from"node:fs";import{basename as B1,delimiter as Hu,join as U1,dirname as z1}from"node:path";function Bu(e){try{return u0(e)}catch{return e}}function Uu(){let e=Er(),t={...process.env},n=process.platform==="win32"?"Path":"PATH",r=t[n]??t.PATH??"",s=Bu(e),o=r.split(Hu).filter(i=>i&&i!==e&&Bu(i)!==s);return t[n]=o.join(Hu),n==="Path"&&(t.PATH=t[n]),t}var zu=b(()=>{"use strict";An();We();H();Dn();we();yo();we()});function Po(e){return JSON.stringify(e)+Mr}function*Gu(e){let t=0;for(;;){let n=e.indexOf(Mr,t);if(n<0)return;yield e.slice(t,n),t=n+1}}function Mn(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}var f0,d0,m0,p0,eC,tC,nC,Ju,Mr,rC,Zu=b(()=>{"use strict";pt();fn();f0=h.object({id:h.string().min(1).max(64),op:h.literal("filter"),cmd:h.string().min(1).max(2048),plan:h.enum(["trial","smart","pro"]),allowed:h.array(h.string().min(1).max(64)).max(512).optional(),installId:h.string().min(1).max(64).optional()}),d0=h.object({id:h.string().min(1).max(64),op:h.literal("ping")}),m0=h.object({id:h.string().min(1).max(64),op:h.literal("shutdown"),installId:h.string().min(1).max(64)}),p0=h.object({id:h.string().min(1).max(64),op:h.literal("reload"),installId:h.string().min(1).max(64).optional()}),eC=h.discriminatedUnion("op",[f0,d0,m0,p0]),tC=h.object({id:h.string(),ok:h.literal(!0),data:h.unknown()}),nC=h.object({id:h.string(),ok:h.literal(!1),err:h.string(),retryAfterMs:h.number().int().nonnegative().optional()}),Ju=h.object({filter:ze.nullable(),cacheHit:h.boolean().optional()}),Mr=`
96
- `,rC=64*1024});import{createConnection as h0}from"node:net";import{spawn as g0}from"node:child_process";import{existsSync as Vu,openSync as No,closeSync as Wu,unlinkSync as Mo,writeFileSync as Fo,mkdirSync as Lo,readFileSync as y0,appendFileSync as b0,rmSync as k0,statSync as _0}from"node:fs";import{dirname as w0,join as jo}from"node:path";import{fileURLToPath as x0}from"node:url";function Ho(){return jo(S(),"daemon.spawn.fail")}function Bo(){return jo(S(),"daemon.log")}function T0(){try{let e=Number(y0(Ho(),"utf8"));return Number.isFinite(e)&&Date.now()-e<v0}catch{return!1}}function R0(e){try{Lo(S(),{recursive:!0});let t=Bo();try{_0(t).size>E0&&Mo(t)}catch{}b0(t,`${new Date().toISOString()} ${e}
97
- `)}catch{}}function A0(e){try{Lo(S(),{recursive:!0}),Fo(Ho(),String(Date.now()))}catch{}R0(`spawn failed: ${e.message}`)}function $0(){try{k0(Ho(),{force:!0})}catch{}}async function Fr(e,t){return new Promise((n,r)=>{let s=h0(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 C0(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:x0(new URL("../bin/tkr-daemon.js",import.meta.url))}async function Do(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 Fr(e,75)).destroy(),!0}catch{}else if(Vu(e))return!0;await new Promise(o=>setTimeout(o,75))}return!1}async function O0(e){let t=C0();if(!Ae()&&!Vu(t))throw new Error(`tkr-daemon binary not found at ${t}`);let{path:n}=kt(),r=process.platform==="win32"?S():w0(n);try{Lo(r,{recursive:!0})}catch{}let s=jo(r,"daemon.spawn.lock"),o=null;try{o=No(s,"wx"),Fo(o,String(process.pid))}catch(i){if(i.code==="EEXIST"){if(await Do(n,5e3))return;try{Mo(s)}catch{}try{o=No(s,"wx"),Fo(o,String(process.pid))}catch(l){if(l.code==="EEXIST"){await Do(n,5e3);return}throw l}}else throw i}try{let i=null;try{i=No(Bo(),"a")}catch{}let[a,...l]=$n(t);if(g0(a,l,{detached:!0,stdio:["ignore","ignore",i??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:e}}).unref(),i!==null)try{Wu(i)}catch{}if(!await Do(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(o!==null){try{Wu(o)}catch{}try{Mo(s)}catch{}}}}async function I0(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:kt(),n=await ao();try{let r=await Fr(t,Yu);r.write(Po({id:Mn(),op:"shutdown",installId:n})),await new Promise(s=>setTimeout(s,150));try{r.destroy()}catch{}return!0}catch{return!1}}async function P0(e,t){let n=Date.now()+t;for(;Date.now()<n;){try{(await Fr(e,250)).destroy()}catch{return!0}await new Promise(r=>setTimeout(r,100))}return!1}async function Uo(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:kt(),n=await ao(),r=null,s=0,o=!1;for(;s<=Ku;)try{r=await Fr(t,Yu),$0();break}catch{if(s+=1,s>Ku)throw new Error(`tkr-daemon unreachable at ${t}`);if(T0())throw new Error(`tkr-daemon spawn on cooldown (see ${Bo()})`);await Ks();try{await O0(n),o=!0}catch(u){throw A0(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]===Mr&&(f=m);if(f<0)return;let d=[];for(let m of Gu(a.slice(0,f+1)))d.push(m);a=a.slice(f+1);for(let m of d)if(m)try{let p=JSON.parse(m),k=i.get(p.id);if(!k)continue;clearTimeout(k.timer),i.delete(p.id),k.resolve(p)}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})`))},S0);i.set(u.id,{resolve:f,reject:d,timer:m}),r.write(Po(u))})}let c={filter:async(u,f,d)=>{let m=await l({id:Mn(),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 p=Ju.safeParse(m.data);return p.success?p.data.filter:null},ping:async()=>{let u=await l({id:Mn(),op:"ping"});if(!u.ok)throw new Error(u.err);return u.data},reload:async()=>{let u=await l({id:Mn(),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&&Ki(pe,f.version))throw new Error(`newer daemon ${f.version} already running`);u=f.version!==pe}catch(f){throw c.close(),f}if(u){try{await I0(e.socketPath?{socketPath:e.socketPath}:{})}catch{}c.close();let f=await P0(t,2e3);if(await Ks(),!f)throw new Error("stale daemon still running after shutdown request");return Uo({...e,skipVersionCheck:!0})}}return c}var Yu,S0,Ku,v0,E0,qu=b(()=>{"use strict";Zu();Vs();H();We();lo();It();Yu=500,S0=3e3,Ku=1,v0=6e4,E0=256*1024});async function N0(){if(Zt)return Zt;if(Fn)return Fn;let e=Uo().then(t=>{if(Fn===e)return Zt=t,t;try{t.close()}catch{}return null}).catch(()=>null);return Fn=e,e}async function D0(){return Jo||(Jo=!0,zo=await Xn()??Ft()),zo}async function Xu(e,t,n){let r=await D0();if(!r)return null;let s=r.selectFor(e,t,n?[...n]:void 0);return!s||n&&!n.has(le(s.slug))?null:s}function M0(e){return e?{...e,matchRegex:new RegExp(e.match_command)}:null}function Lr(e){Zs(async(t,n)=>{let r=e==="free"?"trial":e,s=n??Lt(void 0),o=await N0();if(!o)return Xu(t,r,s);try{let i=await o.filter(t,r,s?[...s]:void 0);return!i||s&&!s.has(le(i.slug))?null:M0(i)}catch{return Xu(t,r,s)}})}function jr(){if(Zs(null),Zt)try{Zt.close()}catch{}Zt=null,Fn=null,zo=null,Jo=!1}var Zt,Fn,zo,Jo,Go=b(()=>{"use strict";qu();vn();Je();yn();jt();Zt=null,Fn=null;zo=null,Jo=!1});import{chmod as F0,mkdir as L0,readFile as EC,writeFile as Qu,stat as TC,readdir as RC,rm as ef,rename as j0}from"node:fs/promises";import{readFileSync as H0}from"node:fs";import{createHash as B0}from"node:crypto";function Z0(){try{let e=JSON.parse(H0(Wi(),"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 W0(e,t,n=process.env){let r=Number(n[e]);return Number.isFinite(r)&&r>0?r:t}function K0(e){return`${ds(e)}${G0}`}function V0(e){return e===""?[]:(e.endsWith(`
96
+ ${r}`:r;return await wu(t,a)?o.length?"updated":"added":"error"}async function vu(){let e=Dn();if(!Ao(e))return"absent";let t;try{t=await yu(e,"utf8")}catch{return"error"}let n=$o(t);if(!n.some(Nn))return"absent";let r=n.filter(o=>!Nn(o)).join("").trimEnd(),s=r?`${r}
97
+ `:"";return await wu(e,s)?"removed":"error"}function Mn(){return Ro(ku.homedir(),".gemini","config","hooks.json")}function Vk(e){return{enabled:!0,PreToolUse:[{matcher:"run_command",hooks:[{type:"command",command:e,timeout:10}]}]}}function Eu(){try{let e=JSON.parse(bu(Mn(),"utf8"));return j(e)&&j(e[Pn])}catch{return!1}}async function Tu(e){let t=Mn(),n=await Ye(t);if(!n)return"error";let r=Vk(e),s=n[Pn];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[Pn]=r,await qe(t,n)?s===void 0?"added":"updated":"error")}async function Ru(){let e=Mn();if(!Ao(e))return"absent";let t=await Ye(e);return t?Pn in t?(delete t[Pn],await qe(e,t)?"removed":"error"):"absent":"error"}var _u,Pn,Au=b(()=>{"use strict";Ce();Or();_u="tokmizer-rewrite",Pn="tokmizer-rewrite"});import{dirname as j1,join as ye}from"node:path";import Yk from"node:os";function Cu(e){return e.kind==="hook"?e.installed():mu(e.files()[0].target)}var Fn,Co,$u,Ou=b(()=>{"use strict";Ce();hu();Au();Fn=()=>Yk.homedir(),Co=()=>process.env.XDG_CONFIG_HOME||ye(Fn(),".config"),$u=[{host:"opencode",label:"OpenCode",command:"setup-opencode",kind:"shim",files:()=>[{template:"opencode.js",target:ye(Co(),"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:ye(Co(),"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:ye(Co(),"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:Dn,installed:xu,ensure:Su,remove:vu,next:"Restart Vibe so it reads hooks.toml."},{host:"antigravity",label:"Antigravity",command:"setup-antigravity",kind:"hook",file:Mn,installed:Eu,ensure:Tu,remove:Ru,next:"Restart Antigravity, then check it with /hooks."},{host:"openclaw",label:"OpenClaw",command:"setup-openclaw",kind:"shim",files:()=>{let e=ye(Fn(),".openclaw","extensions","tokmizer");return["index.js","openclaw.plugin.json","package.json"].map(t=>({template:`openclaw/${t}`,target:ye(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:ye(process.env.PI_CODING_AGENT_DIR||ye(Fn(),".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:ye(Fn(),".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=ye(process.env.HERMES_HOME||ye(Fn(),".hermes"),"plugins","tokmizer");return["__init__.py","plugin.yaml"].map(t=>({template:`hermes/${t}`,target:ye(e,t)}))},next:"Run: hermes plugins enable tokmizer, then restart Hermes (needs Hermes v2026.8.16 or newer)."}]});import{existsSync as qk,readFileSync as Xk}from"node:fs";function Dr(e,t){return j(e)&&Gt(e.command,t)}function Iu(e){return e.path??(e.nested?["hooks"]:[])}function Pu(e,t){let n=e;for(let r of Iu(t))j(n[r])||(n[r]={}),n=n[r];return n}function Nu(e,t){let n=e;for(let s of Iu(t))n=j(n)?n[s]:void 0;if(!j(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function Qk(e){return j(e)&&Array.isArray(e.hooks)?e.hooks:[]}function Du(e,t){return(t.matcher===void 0?e:e.flatMap(Qk)).filter(r=>Dr(r,t.mark))}function Mu(e,t){return Du(Nu(e,t),t).length>0}function Oo(e,t){try{let n=JSON.parse(Xk(e,"utf8"));return j(n)&&Mu(n,t)}catch{return!1}}function e0(e,t,n){let r=Pu(e,t),s=Array.isArray(r[t.event])?r[t.event]:[];r[t.event]=s;let o=Du(s,t)[0],i=t.entry(n);if(o){let a=Nr(s,c=>Dr(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 t0(e,t){if(!Mu(e,t))return!1;let n=Pu(e,t),r=Nu(e,t),s=t.matcher===void 0?r.filter(o=>!Dr(o,t.mark)):r.map(o=>j(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!Dr(i,t.mark))}:o).filter(o=>!j(o)||!Array.isArray(o.hooks)||o.hooks.length>0);return s.length?n[t.event]=s:delete n[t.event],!0}async function Io(e,t,n){let r=await Ye(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=e0(r,t,n);return s==="present"||await qe(e,r)?s:"error"}async function Mr(e,t){if(!qk(e))return"absent";let n=await Ye(e);return n?t0(n,t)?await qe(e,n)?"removed":"error":"absent":"error"}var Fu=b(()=>{"use strict";Ce()});import{existsSync as No,readFileSync as n0}from"node:fs";import{join as q}from"node:path";import r0 from"node:os";function Oe(){return r0.homedir()}function Bu(e){return e.version===void 0&&(e.version=1),e.version===1}function s0(e,t,n){return Promise.all(e.map(r=>Io(r,t,n))).then(r=>r.includes("error")?"error":r.includes("updated")?"updated":r.includes("added")?"added":"present")}function o0(e,t){return Promise.all(e.map(n=>Mr(n,t))).then(n=>n.includes("error")?"error":n.includes("removed")?"removed":"absent")}function xt(e,t){return{...e,installed:()=>e.files().some(n=>Oo(n,t)),ensure:n=>s0(e.files(),t,n),remove:()=>o0(e.files(),t)}}function a0(){return q(process.env.COPILOT_HOME||q(Oe(),".copilot"),"hooks","tokmizer.json")}function c0(){let e=[q(Oe(),".trae","hooks.json")];return No(q(Oe(),".trae-cn"))&&e.push(q(Oe(),".trae-cn","hooks.json")),e}function f0(){return q(process.env.QWEN_HOME||q(Oe(),".qwen"),"settings.json")}function p0(){return q(process.env.XDG_CONFIG_HOME||q(Oe(),".config"),"crush","crush.json")}function h0(){return q(Oe(),".junie","config.json")}function g0(e){return e.hooks===void 0&&(e.hooks={}),j(e.hooks)?(e.hooks.enabled===void 0&&(e.hooks.enabled=!0),e.hooks.events===void 0||j(e.hooks.events)):!1}function b0(){return q(Oe(),".zcode","cli","config.json")}function _0(){return q(Oe(),".grok","hooks","tokmizer.json")}function Po(){return q(Oe(),".factory")}function Fr(){return[{file:q(Po(),"hooks.json"),spec:Do},{file:q(Po(),"hooks","hooks.json"),spec:Do},{file:q(Po(),"settings.json"),spec:x0}]}function Lu(e){try{let t=JSON.parse(n0(e,"utf8"));return j(t)?t:null}catch{return null}}function ju(e,t){let n=t?e?.hooks:e;return j(n)&&Array.isArray(n.PreToolUse)&&n.PreToolUse.length>0}function Hu(){let[e,t,n]=Fr(),r=No(e.file)?e:No(t.file)?t:null;return r&&ju(Lu(r.file),!1)?r:ju(Lu(n.file),!0)?n:r??e}var i0,l0,u0,d0,m0,y0,k0,w0,Do,x0,S0,Uu,zu=b(()=>{"use strict";Ce();Fu();i0={mark:"tkr-copilot-hook",event:"PreToolUse",nested:!0,entry:e=>({type:"command",command:e,bash:e,powershell:e,timeout:10,timeoutSec:10}),prepare:Bu};l0={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:Bu};u0={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};d0={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};m0={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};y0={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:g0};k0={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};w0="tkr-droid-hook",Do={mark:w0,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},x0={...Do,nested:!0};S0={id:"droid",label:"Factory Droid",setup:"tkr setup-droid",bin:"tkr-droid-hook",restart:"Restart Droid, then check it with /hooks.",files:()=>[Hu().file],installed:()=>Fr().some(e=>Oo(e.file,e.spec)),ensure:async e=>{let t=Hu(),n=await Io(t.file,t.spec,e);return n==="error"||await Promise.all(Fr().filter(r=>r.file!==t.file).map(r=>Mr(r.file,r.spec))),n},remove:async()=>{let e=await Promise.all(Fr().map(t=>Mr(t.file,t.spec)));return e.includes("error")?"error":e.includes("removed")?"removed":"absent"}},Uu=[xt({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:()=>[a0()]},i0),S0,xt({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:c0},l0),xt({id:"qwen-code",label:"Qwen Code",setup:"tkr setup-qwen",bin:"tkr-qwen-hook",restart:"Restart Qwen Code, then check it with /hooks.",files:()=>[f0()]},u0),xt({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[p0()]},d0),xt({id:"junie",label:"Junie CLI",setup:"tkr setup-junie",bin:"tkr-junie-hook",restart:"Restart Junie CLI so it loads the new hook.",files:()=>[h0()]},m0),xt({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[b0()]},y0),xt({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:()=>[_0()]},k0)]});function Ju(e){return v0.has(e)||(E0[e]?.installed()??!1)}function Lr(e){return null}function jr(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&&Mo.includes(s)){let o=s;return{host:o,source:"env",os:n,arch:r,shimRecommended:!Ju(o)}}for(let o of Zu)if(o.vars.some(i=>e[i]))return{host:o.host,source:"env",os:n,arch:r,shimRecommended:!Ju(o.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}var Zu,Mo,v0,E0,Ln=b(()=>{"use strict";uu();pu();Ou();zu();Zu=[{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:[]}],Mo=[...Zu.map(e=>e.host),"shell"],v0=new Set(["claude-code","codex"]),E0={cursor:{installed:cu,setup:"tkr setup-cursor"},"gemini-cli":{installed:du,setup:"tkr setup-gemini"},...Object.fromEntries($u.map(e=>[e.host,{installed:()=>Cu(e),setup:`tkr ${e.command}`}])),...Object.fromEntries(Uu.map(e=>[e.id,{installed:e.installed,setup:e.setup}]))}});import{existsSync as fC,realpathSync as T0}from"node:fs";import{basename as pC,delimiter as Gu,join as mC,dirname as hC}from"node:path";function Ku(e){try{return T0(e)}catch{return e}}function Wu(){let e=$r(),t={...process.env},n=process.platform==="win32"?"Path":"PATH",r=t[n]??t.PATH??"",s=Ku(e),o=r.split(Gu).filter(i=>i&&i!==e&&Ku(i)!==s);return t[n]=o.join(Gu),n==="Path"&&(t.PATH=t[n]),t}var Vu=b(()=>{"use strict";On();Ve();B();Ln();xe();wo();xe()});function Fo(e){return JSON.stringify(e)+Hr}function*qu(e){let t=0;for(;;){let n=e.indexOf(Hr,t);if(n<0)return;yield e.slice(t,n),t=n+1}}function jn(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}var R0,A0,$0,C0,TC,RC,AC,Yu,Hr,$C,Xu=b(()=>{"use strict";gt();pn();R0=h.object({id:h.string().min(1).max(64),op:h.literal("filter"),cmd:h.string().min(1).max(2048),plan:h.enum(["trial","smart","pro"]),allowed:h.array(h.string().min(1).max(64)).max(512).optional(),installId:h.string().min(1).max(64).optional()}),A0=h.object({id:h.string().min(1).max(64),op:h.literal("ping")}),$0=h.object({id:h.string().min(1).max(64),op:h.literal("shutdown"),installId:h.string().min(1).max(64)}),C0=h.object({id:h.string().min(1).max(64),op:h.literal("reload"),installId:h.string().min(1).max(64).optional()}),TC=h.discriminatedUnion("op",[R0,A0,$0,C0]),RC=h.object({id:h.string(),ok:h.literal(!0),data:h.unknown()}),AC=h.object({id:h.string(),ok:h.literal(!1),err:h.string(),retryAfterMs:h.number().int().nonnegative().optional()}),Yu=h.object({filter:Ze.nullable(),cacheHit:h.boolean().optional()}),Hr=`
98
+ `,$C=64*1024});import{createConnection as O0}from"node:net";import{spawn as I0}from"node:child_process";import{existsSync as tf,openSync as Lo,closeSync as Qu,unlinkSync as Ho,writeFileSync as Bo,mkdirSync as Uo,readFileSync as P0,appendFileSync as N0,rmSync as D0,statSync as M0}from"node:fs";import{dirname as F0,join as zo}from"node:path";import{fileURLToPath as L0}from"node:url";function Jo(){return zo(x(),"daemon.spawn.fail")}function Zo(){return zo(x(),"daemon.log")}function U0(){try{let e=Number(P0(Jo(),"utf8"));return Number.isFinite(e)&&Date.now()-e<H0}catch{return!1}}function z0(e){try{Uo(x(),{recursive:!0});let t=Zo();try{M0(t).size>B0&&Ho(t)}catch{}N0(t,`${new Date().toISOString()} ${e}
99
+ `)}catch{}}function J0(e){try{Uo(x(),{recursive:!0}),Bo(Jo(),String(Date.now()))}catch{}z0(`spawn failed: ${e.message}`)}function Z0(){try{D0(Jo(),{force:!0})}catch{}}async function Br(e,t){return new Promise((n,r)=>{let s=O0(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 G0(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:L0(new URL("../bin/tkr-daemon.js",import.meta.url))}async function jo(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 Br(e,75)).destroy(),!0}catch{}else if(tf(e))return!0;await new Promise(o=>setTimeout(o,75))}return!1}async function K0(e){let t=G0();if(!$e()&&!tf(t))throw new Error(`tkr-daemon binary not found at ${t}`);let{path:n}=_t(),r=process.platform==="win32"?x():F0(n);try{Uo(r,{recursive:!0})}catch{}let s=zo(r,"daemon.spawn.lock"),o=null;try{o=Lo(s,"wx"),Bo(o,String(process.pid))}catch(i){if(i.code==="EEXIST"){if(await jo(n,5e3))return;try{Ho(s)}catch{}try{o=Lo(s,"wx"),Bo(o,String(process.pid))}catch(l){if(l.code==="EEXIST"){await jo(n,5e3);return}throw l}}else throw i}try{let i=null;try{i=Lo(Zo(),"a")}catch{}let[a,...l]=In(t);if(I0(a,l,{detached:!0,stdio:["ignore","ignore",i??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:e}}).unref(),i!==null)try{Qu(i)}catch{}if(!await jo(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(o!==null){try{Qu(o)}catch{}try{Ho(s)}catch{}}}}async function W0(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:_t(),n=await fo();try{let r=await Br(t,nf);r.write(Fo({id:jn(),op:"shutdown",installId:n})),await new Promise(s=>setTimeout(s,150));try{r.destroy()}catch{}return!0}catch{return!1}}async function V0(e,t){let n=Date.now()+t;for(;Date.now()<n;){try{(await Br(e,250)).destroy()}catch{return!0}await new Promise(r=>setTimeout(r,100))}return!1}async function Go(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:_t(),n=await fo(),r=null,s=0,o=!1;for(;s<=ef;)try{r=await Br(t,nf),Z0();break}catch{if(s+=1,s>ef)throw new Error(`tkr-daemon unreachable at ${t}`);if(U0())throw new Error(`tkr-daemon spawn on cooldown (see ${Zo()})`);await Qs();try{await K0(n),o=!0}catch(u){throw J0(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 p=0;p<a.length;p++)a[p]===Hr&&(f=p);if(f<0)return;let d=[];for(let p of qu(a.slice(0,f+1)))d.push(p);a=a.slice(f+1);for(let p of d)if(p)try{let m=JSON.parse(p),k=i.get(m.id);if(!k)continue;clearTimeout(k.timer),i.delete(m.id),k.resolve(m)}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 p=setTimeout(()=>{i.delete(u.id),d(new Error(`daemon request timeout (${u.op})`))},j0);i.set(u.id,{resolve:f,reject:d,timer:p}),r.write(Fo(u))})}let c={filter:async(u,f,d)=>{let p=await l({id:jn(),op:"filter",cmd:u.slice(0,2048),plan:f,...d&&d.length>0?{allowed:d.slice(0,512)}:{},installId:n});if(!p.ok)return null;let m=Yu.safeParse(p.data);return m.success?m.data.filter:null},ping:async()=>{let u=await l({id:jn(),op:"ping"});if(!u.ok)throw new Error(u.err);return u.data},reload:async()=>{let u=await l({id:jn(),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&&Qi(he,f.version))throw new Error(`newer daemon ${f.version} already running`);u=f.version!==he}catch(f){throw c.close(),f}if(u){try{await W0(e.socketPath?{socketPath:e.socketPath}:{})}catch{}c.close();let f=await V0(t,2e3);if(await Qs(),!f)throw new Error("stale daemon still running after shutdown request");return Go({...e,skipVersionCheck:!0})}}return c}var nf,j0,ef,H0,B0,rf=b(()=>{"use strict";Xu();eo();B();Ve();po();Nt();nf=500,j0=3e3,ef=1,H0=6e4,B0=256*1024});async function Y0(){if(Kt)return Kt;if(Hn)return Hn;let e=Go().then(t=>{if(Hn===e)return Kt=t,t;try{t.close()}catch{}return null}).catch(()=>null);return Hn=e,e}async function q0(){return Wo||(Wo=!0,Ko=await tr()??jt()),Ko}async function sf(e,t,n){let r=await q0();if(!r)return null;let s=r.selectFor(e,t,n?[...n]:void 0);return!s||n&&!n.has(le(s.slug))?null:s}function X0(e){return e?{...e,matchRegex:new RegExp(e.match_command)}:null}function Ur(e){qs(async(t,n)=>{let r=e==="free"?"trial":e,s=n??Ht(void 0),o=await Y0();if(!o)return sf(t,r,s);try{let i=await o.filter(t,r,s?[...s]:void 0);return!i||s&&!s.has(le(i.slug))?null:X0(i)}catch{return sf(t,r,s)}})}function zr(){if(qs(null),Kt)try{Kt.close()}catch{}Kt=null,Hn=null,Ko=null,Wo=!1}var Kt,Hn,Ko,Wo,Vo=b(()=>{"use strict";rf();Rn();Ge();kn();Bt();Kt=null,Hn=null;Ko=null,Wo=!1});import{chmod as ff,mkdir as Q0,readFile as qC,writeFile as of,stat as XC,readdir as QC,rm as af,rename as e_}from"node:fs/promises";import{existsSync as t_,readFileSync as n_,realpathSync as r_}from"node:fs";import{createHash as s_}from"node:crypto";import{dirname as lf,join as o_,resolve as cf}from"node:path";function u_(){try{let e=JSON.parse(n_(Xi(),"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 f_(e,t,n=process.env){let r=Number(n[e]);return Number.isFinite(r)&&r>0?r:t}function d_(e){return`${ys(e)}${c_}`}async function uf(e){await Q0(e,{recursive:!0,mode:448});try{await ff(e,448)}catch{}}function p_(e=process.cwd()){let t;try{t=r_(cf(e))}catch{t=cf(e)}for(let n=t;;n=lf(n)){if(t_(o_(n,".git")))return n;if(lf(n)===n)return t}}function m_(e){return e===""?[]:(e.endsWith(`
98
100
  `)?e.slice(0,-1):e).split(`
99
- `)}async function Y0(e,t,n=process.env,r={}){if(_e()||!J0.test(e))return!1;let s=Buffer.byteLength(t,"utf8");if(s>W0("TOKMIZER_CCR_ENTRY_MAX_BYTES",z0,n))return!1;let o=ds(e),i=`${o}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{if(await L0(fs(),{recursive:!0}),_e())return!1;if(await Qu(i,t,{mode:384}),await F0(i,384),_e())return await ef(i,{force:!0}),!1;await j0(i,o)}catch{try{await ef(i)}catch{}return!1}let a={at:Date.now(),bytes:s,lines:V0(t).length,partial:r.partial===!0,...r.label?{label:r.label.slice(0,40)}:{}};try{await Qu(K0(e),JSON.stringify(a),{mode:384})}catch{}return!0}function tf(e){let t=e.TOKMIZER_CCR_DISABLED;return t==="1"||t==="true"||_e()||Z0().disabled===!0}async function Zo(e,t,n,r){let s=B0("sha256").update(e).digest("hex").slice(0,16);return await Y0(s,e,r,{partial:t,label:n})?s:null}async function Ln(e,t,n=process.env,r={}){if(tf(n)||!e)return t;let s=i=>`
100
- [tkr restore ${i}]`;if(Buffer.byteLength(e,"utf8")<=Buffer.byteLength(s("0".repeat(16)),"utf8"))return t;if(r.raw){let i=await Zo(r.raw,!1,r.label,n);if(i)return`${t}${s(i)}`}let o=await Zo(e,!0,r.label,n);return o?`${t}${s(o)}`:t}async function Hr(e,t,n=process.env,r={}){if(tf(n)||!e)return t;let s=await Zo(e,!1,r.label,n);return s?`${t}
101
- [tkr restore ${s}]`:t}var U0,IC,PC,z0,J0,G0,NC,Wo=b(()=>{"use strict";H();Tn();U0=1440*60*1e3,IC=30*U0,PC=200*1024*1024,z0=8*1024*1024,J0=/^[0-9a-f]{8,64}$/i,G0=".meta",NC=["usage: tkr restore <hash> [--lines a:b] [--grep pattern]"," tkr restore --list"," tkr restore --grep <pattern>",""].join(`
102
- `)});var af={};on(af,{CAPTURING_ENV:()=>Vo,kickBackgroundEnroll:()=>Br,processCapturedOutput:()=>Ur,resolveExecTimeoutMs:()=>sf,runWrapped:()=>l_,signalNumber:()=>of,underCapturingExec:()=>o_});import{existsSync as q0,readFileSync as X0,writeFileSync as Q0,mkdirSync as e_}from"node:fs";import{join as t_}from"node:path";import{fileURLToPath as n_}from"node:url";import{StringDecoder as r_}from"node:string_decoder";function o_(e=process.env){return e[Vo]==="1"}function rf(e,t){let n=new r_("utf8"),r=n.write(Buffer.concat(e));return t?r:r+n.end()}function Br(){try{if(!hn())return;let e=process.env.TOKMIZER_TKR_BIN||n_(new URL("../bin/tkr.js",import.meta.url));if(!Ae()&&!q0(e))return;let t=t_(S(),"enroll-kick");try{let o=Number(X0(t,"utf8"));if(Number.isFinite(o)&&Date.now()-o<s_)return}catch{}e_(S(),{recursive:!0}),Q0(t,String(Date.now()));let[n,...r]=$n(e);(0,Ko.default)(n,[...r,"heartbeat"],{detached:!0,stdio:"ignore"}).unref()}catch{}}function sf(e){let t=Number(e.TOKMIZER_EXEC_TIMEOUT_MS);if(Number.isFinite(t)&&t>0)return t;let n=Number(e.BASH_MAX_TIMEOUT_MS);return Number.isFinite(n)&&n>6e5?n:6e5}function of(e){return a_[e]??15}async function l_(e){let[t,...n]=e;if(!t)throw new Error("tkr-exec: missing command");let r=_e(),s=(0,Ko.default)(t,n,{stdio:["inherit","pipe","pipe"],env:{...Uu(),[Vo]:"1"}}),o=!1;s.on("spawn",()=>{o=!0});let i=E=>{try{s.kill(E)}catch{}},a=()=>i("SIGINT"),l=()=>i("SIGTERM");process.on("SIGINT",a),process.on("SIGTERM",l);let c=[],u=[],f=0,d=0,m=!1,p=!1;s.stdout?.on("data",E=>{if(f>=Wt){m=!0;return}let O=Wt-f,N=E.length>O?E.subarray(0,O):E;c.push(N),f+=N.length,E.length>O&&(m=!0)}),s.stderr?.on("data",E=>{if(d>=Wt){p=!0;return}let O=Wt-d,N=E.length>O?E.subarray(0,O):E;u.push(N),d+=N.length,E.length>O&&(p=!0)});let k,g,T;try{T=await new Promise((E,O)=>{s.on("error",N=>{k&&clearTimeout(k),o?E(1):O(N)}),s.on("close",(N,F)=>{k&&clearTimeout(k),E(N??(F?128+of(F):0))}),k=setTimeout(()=>{s.kill("SIGTERM"),g=setTimeout(()=>s.kill("SIGKILL"),2e3)},i_),k.unref?.()})}finally{k&&clearTimeout(k),g&&clearTimeout(g),process.off("SIGINT",a),process.off("SIGTERM",l)}let x=rf(c,m),C=rf(u,p);return Ur({argv:e,stdout:x,stderr:C,exitCode:T,truncated:m,stderrTruncated:p},{yolo:r,env:process.env,onMissingState:Br})}async function Ur({argv:e,stdout:t,stderr:n,exitCode:r,truncated:s,stderrTruncated:o},{yolo:i,env:a,resolver:l,onMissingState:c,deferAccounting:u,...f}){let d=s?`
103
- \u2026 (output truncated at ${Wt/1048576}MB)`:"",m=o?`
104
- \u2026 (stderr truncated at ${Wt/(1024*1024)}MB)`:"",p=()=>{let k=t+d,g=Buffer.byteLength(k,"utf8");return{stdout:k,stderr:n+m,code:r,filterId:null,rawBytes:g,filteredBytes:g,truncated:s}};try{let k=await ht();k||c?.();let g=await Me();if(!g.enabled)return p();let T=a.CLAUDE_CODE_SESSION_ID;T&&k?.token&&vr(T,{tool:"Bash",target:e.join(" "),...r!==0?{fail:1}:{}});let x=k?hr(k):null,C=k?Lt(k.allowedFilters,pr(k)):null,E=new Set(g.filters.disabled.map(le)),O=C&&E.size>0?new Set([...C].filter(W=>!E.has(W))):C,N=e.join(" ");k&&!l&&Lr(x);let F=await Ze(N,t,O,{verbosity:g.outputVerbosity,resolver:l,yolo:i,exitCode:r}),z=n,M=0,Z=0;if((i||r===0)&&Buffer.byteLength(n,"utf8")>=(i?1:nf)){let W=await Ze(N,n,O,{verbosity:g.outputVerbosity,resolver:l,yolo:i,exitCode:r});z=W.output,M=W.rawBytes,Z=W.filteredBytes}else if(!i&&r!==0&&Buffer.byteLength(n,"utf8")>=nf){let W=await Ze(N,n,O,{verbosity:g.outputVerbosity,resolver:l,exitCode:r});if(W.failureSummary){try{z=await Ln(W.droppedTail??null,W.output,a)}catch{z=W.output}M=W.rawBytes,Z=W.filteredBytes}}let V=F.output;if(!i&&F.filteredBytes<F.rawBytes)try{V=new RegExp(nr.source,"m").test(F.output)?await Hr(t,F.output,a,{label:zt(N)}):await Ln(F.droppedTail??null,F.output,a,{raw:s?null:t,label:zt(N)})}catch{}let Se=V+d,ue=z+m,U=Dr(a).host,J=Sr(F.rawBytes+Buffer.byteLength(n,"utf8"),Buffer.byteLength(Se,"utf8")+Buffer.byteLength(ue,"utf8"),Nr(U)),G=!1,K=async()=>{if(!G){G=!0;try{wr(J.raw,J.filtered,void 0,!1,U,"sh",zt(N),"cwd"in f?f.cwd:process.cwd(),xr(F)),await kr({cmd:N,filterId:F.filterId,rawBytes:F.rawBytes,filteredBytes:F.filteredBytes,plan:x}),await yr({cmd:N,tokensSaved:Math.max(0,Math.round((J.raw-J.filtered)/4)),rawTokens:Math.round(J.raw/4),optimized:F.filterId!=null,telemetryOptIn:g.telemetryOptIn&&(!u||(await Me()).telemetryOptIn),sessionId:T,host:U})}catch{}}};return u?u(K):await K(),{stdout:Se,stderr:ue,code:r,filterId:F.filterId,rawBytes:F.rawBytes+M,filteredBytes:F.filteredBytes+Z,truncated:s}}catch{return p()}finally{l||jr()}}var Ko,Wt,nf,s_,Vo,i_,a_,Yo=b(()=>{"use strict";Ko=_d(bc(),1);vn();Je();jt();pn();H();oo();fo();br();po();ho();Ut();Dn();zu();Go();Wo();Dt();Tn();We();gn();Wt=10*1024*1024,nf=1024,s_=6e4,Vo="TOKMIZER_EXEC_CAPTURING";i_=sf(process.env),a_={SIGHUP:1,SIGINT:2,SIGQUIT:3,SIGILL:4,SIGTRAP:5,SIGABRT:6,SIGBUS:7,SIGFPE:8,SIGKILL:9,SIGUSR1:10,SIGSEGV:11,SIGUSR2:12,SIGPIPE:13,SIGALRM:14,SIGTERM:15}});var ui={};on(ui,{FOLD_MARKER_RE:()=>nr,captureForRestore:()=>Ln,captureOriginalForRestore:()=>Hr,closeDaemonResolver:()=>jr,countedSaving:()=>Sr,gatingPlan:()=>hr,graceExceeded:()=>pr,installDaemonResolver:()=>Lr,loadSettingsCache:()=>Me,processOutput:()=>Ze,recordEvent:()=>kr,recordStat:()=>wr,recordTelemetry:()=>yr,resolveAllowedFilters:()=>Lt,statCmdLabel:()=>zt,statOutcome:()=>xr});var fi=b(()=>{"use strict";vn();Wo();Dt();jt();oo();fo();br();po();Go();Ut()});yn();vn();jt();import{mkdirSync as SS,readFileSync as xi,realpathSync as vS,rmSync as ts,writeFileSync as ES}from"node:fs";import{join as _i}from"node:path";Vs();H();It();import{randomBytes as pS,randomUUID as ad}from"node:crypto";import{lstatSync as hS,mkdirSync as gS,realpathSync as yS,renameSync as bS,rmSync as kS,writeFileSync as _S}from"node:fs";import{dirname as wS,join as es}from"node:path";pt();yn();H();Tn();Yo();import{timingSafeEqual as yi}from"node:crypto";import{chmodSync as oS,lstatSync as iS,realpathSync as aS}from"node:fs";import{dirname as lS}from"node:path";import{createServer as cS}from"node:net";import{existsSync as Gr,readFileSync as ti,readdirSync as ni}from"node:fs";import{homedir as Vt}from"node:os";import{fileURLToPath as ew}from"node:url";import{dirname as Sf,join as j,resolve as tw}from"node:path";H();import{appendFileSync as m_,chmodSync as p_,mkdirSync as h_,existsSync as g_,readFileSync as lO,rmSync as cO}from"node:fs";import{dirname as y_,join as b_}from"node:path";import{readFileSync as c_,renameSync as u_,statSync as f_,writeFileSync as d_}from"node:fs";function lf(e,t,n){try{if(f_(e).size<=t)return;let r=c_(e,"utf8").split(`
105
- `).filter(a=>a.trim()!==""),s=[],o=0;for(let a=r.length-1;a>=0;a-=1){let l=r[a],c=Buffer.byteLength(l)+1;if(o+c>n)break;s.push(l),o+=c}s.reverse();let i=`${e}.tmp-${process.pid}`;d_(i,s.length?`${s.join(`
101
+ `)}async function h_(e,t,n=process.env,r={}){if(we()||!l_.test(e))return!1;t=Sc(t);let s=Buffer.byteLength(t,"utf8");if(s>f_("TOKMIZER_CCR_ENTRY_MAX_BYTES",a_,n))return!1;let o=ys(e),i=`${o}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{if(await uf(x()),await uf(gs()),we())return!1;if(await of(i,t,{mode:384}),await ff(i,384),we())return await af(i,{force:!0}),!1;await e_(i,o)}catch{try{await af(i)}catch{}return!1}let a={at:Date.now(),bytes:s,lines:m_(t).length,partial:r.partial===!0,...r.label?{label:r.label.slice(0,40)}:{},project:p_(r.cwd)};try{await of(d_(e),JSON.stringify(a),{mode:384})}catch{}return!0}function df(e){let t=e.TOKMIZER_CCR_DISABLED;return t==="1"||t==="true"||we()||u_().disabled===!0}function pf(e){return e.replace(g_,"> ")}async function Yo(e,t,n,r){let s=s_("sha256").update(e).digest("hex").slice(0,16);return await h_(s,e,r,{partial:t,label:n})?s:null}async function Wt(e,t,n=process.env,r={}){if(t=pf(t),df(n)||!e)return t;let s=i=>`
102
+ [tkr restore ${i}]`;if(Buffer.byteLength(e,"utf8")<=Buffer.byteLength(s("0".repeat(16)),"utf8"))return t;if(r.raw){let i=await Yo(r.raw,!1,r.label,n);if(i)return`${t}${s(i)}`}let o=await Yo(e,!0,r.label,n);return o?`${t}${s(o)}`:t}async function Jr(e,t,n=process.env,r={}){if(t=pf(t),df(n)||!e)return t;let s=await Yo(e,!1,r.label,n);return s?`${t}
103
+ [tkr restore ${s}]`:t}var i_,iO,aO,a_,l_,c_,lO,g_,qo=b(()=>{"use strict";kr();B();$n();i_=1440*60*1e3,iO=30*i_,aO=200*1024*1024,a_=8*1024*1024,l_=/^[0-9a-f]{8,64}$/i,c_=".meta",lO=["usage: tkr restore <hash> [--lines a:b] [--grep pattern]"," tkr restore --list [--all-projects]"," tkr restore --grep <pattern> [--all-projects]",""].join(`
104
+ `);g_=/^(?=\[tkr |\[tokmizer\])/gm});var Zr,Xo=b(()=>{"use strict";Zr="[tkr: partial view; folded or omitted lines are not file text. Read with offset/limit for the exact lines before Edit or Write]"});var bf={};ln(bf,{CAPTURING_ENV:()=>ei,kickBackgroundEnroll:()=>Gr,processCapturedOutput:()=>Kr,resolveExecTimeoutMs:()=>gf,runWrapped:()=>$_,signalNumber:()=>yf,underCapturingExec:()=>E_});import{existsSync as y_,readFileSync as b_,writeFileSync as k_,mkdirSync as __}from"node:fs";import{join as w_}from"node:path";import{fileURLToPath as x_}from"node:url";import{StringDecoder as S_}from"node:string_decoder";function E_(e=process.env){return e[ei]==="1"}function hf(e,t){let n=new S_("utf8"),r=n.write(Buffer.concat(e));return t?r:r+n.end()}function Gr(){try{if(!yn())return;let e=process.env.TOKMIZER_TKR_BIN||x_(new URL("../bin/tkr.js",import.meta.url));if(!$e()&&!y_(e))return;let t=w_(x(),"enroll-kick");try{let o=Number(b_(t,"utf8"));if(Number.isFinite(o)&&Date.now()-o<v_)return}catch{}__(x(),{recursive:!0}),k_(t,String(Date.now()));let[n,...r]=In(e);(0,Qo.default)(n,[...r,"heartbeat"],{detached:!0,stdio:"ignore"}).unref()}catch{}}function gf(e){let t=Number(e.TOKMIZER_EXEC_TIMEOUT_MS);if(Number.isFinite(t)&&t>0)return t;let n=Number(e.BASH_MAX_TIMEOUT_MS);return Number.isFinite(n)&&n>6e5?n:6e5}function yf(e){return R_[e]??15}function A_(e){let t=En(e);if(t===null)return!1;let[n,...r]=Fe(t).split(/\s+/);return/^(?:cat|head|nl)(?:\.exe)?$/i.test(n?.split(/[\\/]/).pop()??"")&&r.some(s=>s!==""&&!s.startsWith("-"))}async function $_(e){let[t,...n]=e;if(!t)throw new Error("tkr-exec: missing command");let r=we(),s=(0,Qo.default)(t,n,{stdio:["inherit","pipe","pipe"],env:{...Wu(),[ei]:"1"}}),o=!1;s.on("spawn",()=>{o=!0});let i=E=>{try{s.kill(E)}catch{}},a=()=>i("SIGINT"),l=()=>i("SIGTERM");process.on("SIGINT",a),process.on("SIGTERM",l);let c=[],u=[],f=0,d=0,p=!1,m=!1;s.stdout?.on("data",E=>{if(f>=Vt){p=!0;return}let O=Vt-f,P=E.length>O?E.subarray(0,O):E;c.push(P),f+=P.length,E.length>O&&(p=!0)}),s.stderr?.on("data",E=>{if(d>=Vt){m=!0;return}let O=Vt-d,P=E.length>O?E.subarray(0,O):E;u.push(P),d+=P.length,E.length>O&&(m=!0)});let k,g,T;try{T=await new Promise((E,O)=>{s.on("error",P=>{k&&clearTimeout(k),o?E(1):O(P)}),s.on("close",(P,F)=>{k&&clearTimeout(k),E(P??(F?128+yf(F):0))}),k=setTimeout(()=>{s.kill("SIGTERM"),g=setTimeout(()=>s.kill("SIGKILL"),2e3)},T_),k.unref?.()})}finally{k&&clearTimeout(k),g&&clearTimeout(g),process.off("SIGINT",a),process.off("SIGTERM",l)}let S=hf(c,p),C=hf(u,m);return Kr({argv:e,stdout:S,stderr:C,exitCode:T,truncated:p,stderrTruncated:m},{yolo:r,env:process.env,onMissingState:Gr})}async function Kr({argv:e,stdout:t,stderr:n,exitCode:r,truncated:s,stderrTruncated:o},{yolo:i,env:a,resolver:l,onMissingState:c,deferAccounting:u,...f}){let d=s?`
105
+ \u2026 (output truncated at ${Vt/1048576}MB)`:"",p=o?`
106
+ \u2026 (stderr truncated at ${Vt/(1024*1024)}MB)`:"",m=()=>{let k=t+d,g=Buffer.byteLength(k,"utf8");return{stdout:k,stderr:n+p,code:r,filterId:null,rawBytes:g,filteredBytes:g,truncated:s}};try{let k=await yt();k||c?.();let g=await Le();if(!g.enabled)return m();let T=a.CLAUDE_CODE_SESSION_ID;T&&k?.token&&Ar(T,{tool:"Bash",target:e.join(" "),...r!==0?{fail:1}:{}});let S=k?br(k):null,C=k?Ht(k.allowedFilters,yr(k)):null,E=new Set(g.filters.disabled.map(le)),O=C&&E.size>0?new Set([...C].filter(z=>!E.has(z))):C,P=e.join(" ");k&&!l&&Ur(S);let F=await We(P,t,O,{verbosity:g.outputVerbosity,resolver:l,yolo:i,exitCode:r}),J=n,D=0,G=0;if((i||r===0)&&Buffer.byteLength(n,"utf8")>=(i?1:mf)){let z=await We(P,n,O,{verbosity:g.outputVerbosity,resolver:l,yolo:i,exitCode:r});if(J=z.output,!i&&z.output!==n)try{J=await Wt(z.droppedTail??null,z.output,a,{raw:o?null:n,label:wt(P)})}catch{}D=z.rawBytes,G=z.filteredBytes}else if(!i&&r!==0&&Buffer.byteLength(n,"utf8")>=mf){let z=await We(P,n,O,{verbosity:g.outputVerbosity,resolver:l,exitCode:r});if(z.failureSummary){try{J=await Wt(z.droppedTail??null,z.output,a)}catch{J=z.output}D=z.rawBytes,G=z.filteredBytes}}let be=!i&&F.output!==t&&A_(P)?`${F.output}${F.output.endsWith(`
107
+ `)?"":`
108
+ `}${Zr}`:F.output,ue=be;if(!i&&F.filteredBytes<F.rawBytes)try{ue=new RegExp(or.source,"m").test(F.output)?await Jr(t,be,a,{label:wt(P)}):await Wt(F.droppedTail??null,be,a,{raw:s?null:t,label:wt(P)})}catch{}let Z=ue+d,W=J+p,U=jr(a).host,K=Rr(F.rawBytes+Buffer.byteLength(n,"utf8"),Buffer.byteLength(Z,"utf8")+Buffer.byteLength(W,"utf8"),Lr(U)),fe=!1,L=async()=>{if(!fe){fe=!0;try{Er(K.raw,K.filtered,void 0,!1,U,"sh",wt(P),"cwd"in f?f.cwd:process.cwd(),Tr(F)),await Sr({cmd:P,filterId:F.filterId,rawBytes:F.rawBytes,filteredBytes:F.filteredBytes,plan:S}),await wr({cmd:P,tokensSaved:Math.max(0,Math.round((K.raw-K.filtered)/4)),rawTokens:Math.round(K.raw/4),optimized:F.filterId!=null,telemetryOptIn:g.telemetryOptIn&&(!u||(await Le()).telemetryOptIn),sessionId:T,host:U})}catch{}}};return u?u(L):await L(),{stdout:Z,stderr:W,code:r,filterId:F.filterId,rawBytes:F.rawBytes+D,filteredBytes:F.filteredBytes+G,truncated:s}}catch{return m()}finally{l||zr()}}var Qo,Vt,mf,v_,ei,T_,R_,ti=b(()=>{"use strict";Qo=Od(xc(),1);Rn();Ge();Bt();gn();B();uo();go();xr();bo();ko();Jt();Ln();Vu();Vo();qo();Ft();Xo();Gs();$n();Ve();bn();Vt=10*1024*1024,mf=1024,v_=6e4,ei="TOKMIZER_EXEC_CAPTURING";T_=gf(process.env),R_={SIGHUP:1,SIGINT:2,SIGQUIT:3,SIGILL:4,SIGTRAP:5,SIGABRT:6,SIGBUS:7,SIGFPE:8,SIGKILL:9,SIGUSR1:10,SIGSEGV:11,SIGUSR2:12,SIGPIPE:13,SIGALRM:14,SIGTERM:15}});var hi={};ln(hi,{FOLD_MARKER_RE:()=>or,captureForRestore:()=>Wt,captureOriginalForRestore:()=>Jr,closeDaemonResolver:()=>zr,countedSaving:()=>Rr,gatingPlan:()=>br,graceExceeded:()=>yr,installDaemonResolver:()=>Ur,loadSettingsCache:()=>Le,processOutput:()=>We,recordEvent:()=>Sr,recordStat:()=>Er,recordTelemetry:()=>wr,resolveAllowedFilters:()=>Ht,statCmdLabel:()=>wt,statOutcome:()=>Tr});var gi=b(()=>{"use strict";Rn();qo();Ft();Bt();uo();go();xr();bo();Vo();Jt()});kn();Rn();Bt();import{mkdirSync as GS,readFileSync as Ri,realpathSync as KS,rmSync as is,writeFileSync as WS}from"node:fs";import{join as Ei}from"node:path";eo();B();Nt();import{randomBytes as FS,randomUUID as bd}from"node:crypto";import{lstatSync as LS,mkdirSync as jS,realpathSync as HS,renameSync as BS,rmSync as US,writeFileSync as zS}from"node:fs";import{dirname as JS,join as os}from"node:path";gt();kn();B();$n();ti();import{timingSafeEqual as xi}from"node:crypto";import{chmodSync as AS,lstatSync as $S,realpathSync as CS}from"node:fs";import{dirname as OS}from"node:path";import{createServer as IS}from"node:net";import{spawnSync as ww}from"node:child_process";import{existsSync as Yr,readFileSync as ii,readdirSync as ai}from"node:fs";import{homedir as qt}from"node:os";import{fileURLToPath as xw}from"node:url";import{dirname as Nf,join as H,resolve as Sw}from"node:path";B();import{appendFileSync as N_,chmodSync as D_,mkdirSync as M_,existsSync as F_,readFileSync as jO,rmSync as HO}from"node:fs";import{dirname as L_,join as j_}from"node:path";import{readFileSync as C_,renameSync as O_,statSync as I_,writeFileSync as P_}from"node:fs";function kf(e,t,n){try{if(I_(e).size<=t)return;let r=C_(e,"utf8").split(`
109
+ `).filter(a=>a.trim()!==""),s=[],o=0;for(let a=r.length-1;a>=0;a-=1){let l=r[a],c=Buffer.byteLength(l)+1;if(o+c>n)break;s.push(l),o+=c}s.reverse();let i=`${e}.tmp-${process.pid}`;P_(i,s.length?`${s.join(`
106
110
  `)}
107
- `:"",{mode:384}),u_(i,e)}catch{}}var k_="usage.jsonl";var cf=2*1024*1024;function __(){return b_(S(),k_)}function se(e,t,n=__()){try{let r=y_(n);g_(r)||h_(r,{recursive:!0,mode:448});let s=e.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64)||"unknown";m_(n,`{"t":${Math.floor(Date.now()/1e3)},"s":"${s}","o":${t?1:0}}
108
- `,{mode:384}),p_(n,384),lf(n,cf,cf/2)}catch{}}We();H();import{execFileSync as B_}from"node:child_process";import{mkdirSync as U_,readFileSync as pf,renameSync as z_,statSync as J_,writeFileSync as G_}from"node:fs";import{join as hf}from"node:path";import{closeSync as w_,openSync as x_,readSync as S_,readdirSync as v_,readFileSync as E_,statSync as ff}from"node:fs";import{homedir as T_}from"node:os";import{isAbsolute as R_,join as zr,resolve as A_}from"node:path";var $_=/^[A-Za-z0-9._+@%:,/-]+$/,C_=new Set(["7f454c46","feedface","feedfacf","cefaedfe","cffaedfe","cafebabe","bebafeca"]),O_=32,I_=4*1024*1024;function Xo(e){let t;try{t=x_(e,"r");let n=Buffer.alloc(4),r=S_(t,n,0,4,0);return r>=2&&n[0]===35&&n[1]===33?"#!":r===4?n.toString("hex"):null}catch{return null}finally{t!==void 0&&w_(t)}}function jn(e,t=process.platform){try{let n=ff(e);if(!n.isFile())return!1;if(t==="win32")return!0;if((n.mode&73)===0)return!1;let r=Xo(e);return r==="#!"||r!==null&&C_.has(r)}catch{return!1}}function P_(e){if(/\.[A-Za-z0-9]+$/.test(e))return[e];let t=(process.env.PATHEXT??".COM;.EXE;.BAT;.CMD").split(";").filter(Boolean);return[e,...t.map(n=>e+n.toLowerCase())]}function Kt(e,t,n,r=process.platform){if(!$_.test(e))return!1;let s=r==="win32";if(e.includes("/"))return jn(A_(t??process.cwd(),e),r);if(!n)return!1;let o=s?P_(e):[e];for(let i of n.split(s?";":":"))if(!(!i||!R_(i))){for(let a of o)if(jn(zr(i,a),r))return!0}return!1}var N_=/^eval \$'([^\s'()=]+) \(\) /,D_=/^([^\s'"()=]+) \(\) \{$/,M_=/^alias -- ([^\s=]+)=(.*)$/,F_=/^# (?:Shell Options|Aliases|Shopt|Check for |Shadow )/,L_=/^export PATH=(.*)$/,j_=/^(?:--colou?r(?:=\S+)?|-G)$/;function uf(e){return e.length>=2&&e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1).replace(/'\\''/g,"'"):e.length>=2&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e}function H_(e,t){let n="";for(let r of e.split(`
109
- `)){let s=L_.exec(r);if(s&&n!=="# Functions"){let o=uf(s[1].trim());/[$`\\]/.test(o)||t.paths.push(o);continue}if(r.startsWith("# ")&&(n!=="# Functions"||F_.test(r))){n=r;continue}if(n==="# Functions"){let o=N_.exec(r)??D_.exec(r);o&&t.functions.add(o[1])}else if(n==="# Aliases"){let o=M_.exec(r);o&&t.aliases.set(o[1],uf(o[2].trim()))}}}function qo(e){return e?.code==="ENOENT"}function df(e){let t={functions:new Set,aliases:new Map,paths:[],uncertain:!1},n=zr(e||zr(T_(),".claude"),"shell-snapshots"),r=[];try{for(let s of v_(n)){if(!s.startsWith("snapshot-")||!s.endsWith(".sh"))continue;let o=zr(n,s);try{let i=ff(o);i.isFile()&&r.push({path:o,mtime:i.mtimeMs,size:i.size})}catch(i){qo(i)||(t.uncertain=!0)}}}catch(s){return qo(s)||(t.uncertain=!0),t}r=r.sort((s,o)=>o.mtime-s.mtime).slice(0,O_);for(let s of r)try{if(s.size>I_)throw new Error("snapshot too large");H_(E_(s.path,"utf8"),t)}catch(o){qo(o)||(t.uncertain=!0)}return t}function mf(e,t){if(t.uncertain||t.functions.has(e))return!0;let n=t.aliases.get(e);if(n===void 0)return!1;let r=n.trim().split(/\s+/);return r[0]!==e||!r.slice(1).every(s=>j_.test(s))}var Z_="exec-probe.json",W_=6e4;function K_(){return hf(S(),Z_)}function V_(e){try{let t=JSON.parse(pf(e,"utf8"));if(t==null||typeof t!="object")return null;let n=t;return typeof n.key!="string"||typeof n.ok!="boolean"?null:{key:n.key,ok:n.ok,at:typeof n.at=="number"?n.at:0,skipped:typeof n.skipped=="number"&&n.skipped>=0?n.skipped:0}}catch{return null}}function Y_(e,t){try{U_(hf(e,".."),{recursive:!0,mode:448});let n=`${e}.${process.pid}.tmp`;G_(n,JSON.stringify(t),{mode:384}),z_(n,e)}catch{}}function q_(e){try{return B_(e,["--native-check"],{encoding:"utf8",timeout:2e3,maxBuffer:1024,stdio:["ignore","pipe","ignore"],windowsHide:!0}).startsWith("tokmizer-native ")}catch{return!1}}function X_(e,t){try{let r=pf(e,"utf8").split(`
110
- `,1)[0].slice(2).trim().split(/\s+/),s=r[0]??"";return s==="/usr/bin/env"?Kt(r[1]??"",void 0,t):jn(s)}catch{return!1}}function Q_(e,t,n){try{let r=J_(e);return[e,r.size,r.mtimeMs,r.ino,r.mode,t?n??"":""].join("|")}catch{return`${e}|missing`}}function Qo(e,t=process.platform,n=process.env.PATH,r=K_(),s=Date.now()){let o=t!=="win32"&&Xo(e)==="#!",i=Q_(e,o,n),a=V_(r);if(a?.key===i&&(a.ok||s-a.at<W_))return a.ok;let l=jn(e,t)&&(o?X_(e,n):q_(e));return Y_(r,{key:i,ok:l,at:s,skipped:(a?.skipped??0)+(l?0:1)}),l}var nw=new Set(["tkr","tkr-exec","token","claude","cd","export","source","echo","mkdir","rm","mv","cp","chmod","ln","true","false",":","test","[","exit","return","nohup","sudo","doas","env"]),rw=new Set(["for","while","until","if","then","else","elif","fi","do","done","case","esac","select","function","time","coproc","in","!","[[","]]","{","}",".","declare","typeset","local","readonly","unset","set","shift","trap","wait","read","eval","exec","break","continue","pushd","popd","dirs","alias","unalias","hash","ulimit","umask","getopts","let","shopt","builtin","command","compgen","complete","disown","suspend","jobs","fg","bg","kill","history","fc","bind","enable","caller","type","printf","pwd","times","logout","mapfile","readarray","help","which","print","whence","where","autoload","zmodload","setopt","unsetopt","emulate","noglob","rehash","functions","bindkey","zle","vared","sched","limit","unlimit","zstyle","zparseopts","ttyctl"]),gf=new Set(["sh","bash","zsh","dash","ksh","fish","python","python3","python2","node","ruby","perl","php","awk","sed","deno","bun"]),yf="(?:dev|start|serve|watch|preview)",sw=new RegExp(`^(?:\\S*/)?(?:bun\\s+(?:install|i|add|remove|rm|update|outdated|audit|test|build|pm|x)(?:\\s|$)|bun\\s+run\\s+(?!${yf}(?:\\s|$))[A-Za-z0-9:_-]+(?:\\s|$)|deno\\s+(?:test|lint|fmt|check|compile|install|info|doc|bench|outdated)(?:\\s|$)|deno\\s+task\\s+(?!${yf}(?:\\s|$))[A-Za-z0-9:_-]+(?:\\s|$)|php\\s+-l(?:\\s|$)|php\\s+(?:\\S*/)?(?:phpunit|pest|paratest|phpstan|pint|ecs|php-cs-fixer|psalm|rector|run-tests\\.php)(?:\\s|$)|php\\s+artisan\\s+(?!(?:serve|tinker|queue:work|queue:listen|horizon|octane:start|reverb:start|schedule:work|pail|dev)(?:\\s|$))\\S)`),ow=/(?:^|\s)--watch(?:\s|=|$)/;function iw(e){return sw.test(e)&&!ow.test(e)}var aw=/^((?:\S*\/)?(sh|bash|zsh|dash|ksh|fish)\s+(-[elux]*c[elux]*)\s+)(['"])/,lw=/[()$]|(?:^|[;&|\n]\s*)(?:and|or|not|begin|end|if|else|switch|case|while|for|function|return)(?:\s|;|$)/,vf=3;function Ef(e){let t=aw.exec(e);if(!t)return null;let n=t[2]==="fish";if(n&&t[3]!=="-c")return null;let r=t[4],s=t[1].length+1,o=e.indexOf(r,s);if(o<=s)return null;let i=e.slice(o+1);if(i&&!/^\s/.test(i))return null;let a=e.slice(s,o);return r==='"'&&/[$`\\!]/.test(a)||n&&lw.test(a)?null:{script:a,start:s,end:o,quote:r}}var cw=new Set(["cd","export","set","unset","source",".","true",":","pushd","popd"]);function uw(e){return Yt(e).filter(n=>{if(n.kind!=="cmd"||n.unsafe)return!1;let r=Rf(n.text);return r!==""&&!cw.has(r)&&!ri.test(r)}).length>1}function fw(e,t,n,r,s){if(n>=vf)return null;let o=Ef(e);if(!o)return null;let{script:i,start:a,end:l,quote:c}=o,u=[],f=Af(i,t,n+1,r,k=>u.push(k));if(f===i||c==='"'&&/["$`]/.test(f))return null;let d=c==="'"?f.replace(/'/g,"'\\''"):f,m=`${e.slice(0,a)}${d}${e.slice(l)}`,p=uw(i);if(s)for(let k of p?[e,...u]:u)s(k);return p?`${t} ${m}`:m}var bf=/(?:^|\s)(?:--follow|-[0-9a-zA-Z]*f[a-zA-Z]*)(?:\s|=|$)/,dw=new Set(["docker","podman","kubectl","nerdctl","docker-compose","stern","flyctl"]);function mw(e,t){let n=Zr(t);return n==="tail"||n==="journalctl"?bf.test(e):n==="stern"?!0:dw.has(n)?/\blogs?\b/.test(e)&&bf.test(e):!1}var ri=/^[A-Za-z_][A-Za-z0-9_]*\+?=/,pw=/^[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/,hw=/(?:^|[;&|\n({])\s*[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/;function Zr(e){let t=e.lastIndexOf("/");return t===-1?e:e.slice(t+1)}function Tf(e){let t=new Array(e.length).fill(!1),n=[],r=0;for(;r<e.length;){let s=e[r],o=e[r+1],i=n[n.length-1];if(i==="'"){s==="'"&&n.pop(),r+=1;continue}if(s==="\\"){if(o===void 0)return null;r+=2;continue}if(i==="$'"){s==="'"&&n.pop(),r+=1;continue}if(s==="$"&&(o==="("||o==="{")){n.push(o==="("?")":"}"),r+=2;continue}if(s==="`"){i==="`"?n.pop():n.push("`"),r+=1;continue}if(i==='"'){s==='"'&&n.pop(),r+=1;continue}if(s==="$"&&o==="'"){n.push("$'"),r+=2;continue}if(s==="'"||s==='"'){n.push(s),r+=1;continue}if(s==="("||s==="{"&&i==="}"){n.push(s==="("?")":"}"),r+=1;continue}if(s===i){n.pop(),r+=1;continue}if(s===")"&&i===void 0)return null;t[r]=i===void 0,r+=1}return n.length===0?t:null}function kf(e){let t=Tf(e);if(!t)return!0;for(let n=0;n<e.length;n++)if(t[n]&&e[n]===">")return!0;return!1}function Yt(e){let t=Tf(e);if(!t)return[{kind:"cmd",text:e,unsafe:!0}];let n=[],r="",s=0,o=()=>{r.length>0&&(n.push({kind:"cmd",text:r}),r="")},i=(a,l)=>{o(),n.push({kind:"sep",text:a}),s+=l};for(;s<e.length;){let a=e[s],l=e[s+1];if(t[s]){if(a===">"&&l==="|"){r+=">|",s+=2;continue}if(a==="&"&&l==="&"){i("&&",2);continue}if(a==="&"&&l!==">"){let c=r.replace(/\s+$/,""),u=c[c.length-1];if(u!==">"&&u!=="<"&&u!=="&"){i("&",1);continue}}if(a==="|"&&l==="|"){i("||",2);continue}if(a==="|"&&l==="&"){i("|&",2);continue}if(a===";"&&l===";"){let c=e[s+2]==="&";i(c?";;&":";;",c?3:2);continue}if(a===";"||a===`
111
- `||a==="|"){i(a,1);continue}}r+=a,s+=1}return o(),n}function Rf(e){return e.trim().split(/\s+/)[0]??""}function xe(e,t=process.platform){try{let n=Sf(ew(import.meta.url)),r=t==="win32",s=e&&e!=="claude-code"&&e!=="codex"&&!r?`TOKMIZER_HOST=${e} `:"";if(r&&(!e||e==="claude-code")){let a=j(n,"..","bin","tkr-exec.exe");if(Gr(a))return Qo(a,t)?`'${a.replace(/\\/g,"/").replace(/'/g,"'\\''")}'`:null}let o=j(n,"..","bin","tkr-exec");if(!r&&Gr(o))return Qo(o,t)?`${s}'${o.replace(/'/g,"'\\''")}'`:null;if(Ae()){let a=r?process.execPath.replace(/\\/g,"/"):process.execPath;return`${s}'${a.replace(/'/g,"'\\''")}' exec`}let i=j(n,"..","bin","tkr-exec.js");return Gr(i)?`${s}node '${i.replace(/'/g,"'\\''")}'`:null}catch{return null}}function si(e,t="tkr-exec",n=()=>!0,r){return Af(e,t,0,n,r)}function Af(e,t,n,r,s){if(e.includes("<<")||hw.test(e))return e;let o=Yt(e),i=[];for(let a=0;a<o.length;a++){let l=o[a];if(l.kind==="sep"||l.unsafe){i.push(l.text);continue}let c=l.text.trim();if(!c){i.push(l.text);continue}let u=Rf(c),f=o[a+1],d=f?.kind==="sep"&&(f.text==="|"||f.text==="|&"),m=f?.kind==="sep"&&f.text==="&",p=!d&&!m&&!kf(l.text)&&!l.text.includes("<(")&&!l.text.includes(">(")?fw(c,t,n,r,s):null;if(p!==null){i.push(`${l.text.match(/^\s*/)?.[0]??""}${p}${l.text.match(/\s*$/)?.[0]??""}`);continue}if(c===t||c.startsWith(t)&&/^\s/.test(c.slice(t.length))||nw.has(u)||rw.has(u)||(gf.has(u)||gf.has(Zr(u)))&&!iw(c)||ri.test(u)||u.startsWith("(")||u.startsWith("#")||u.startsWith("<")||u.startsWith(">")||pw.test(c)||mw(c,u)||u.endsWith(")")||d||m||kf(l.text)||l.text.includes("<(")||l.text.includes(">(")||u==="node"&&c.includes("tkr-exec.js")||!r(u)){i.push(l.text);continue}let k=l.text.match(/^\s*/)?.[0]??"",g=l.text.match(/\s*$/)?.[0]??"";s?.(c),i.push(`${k}${t} ${c}${g}`)}return i.join("")}var gw=new Set(["command","workdir","timeout_ms","yield_time_ms","max_output_tokens","shell","login","tty","description"]),yw=new Set(["cd","cat","head","tail","ls","tree","find","grep","rg","wc","nl","sort","cut","diff","stat","file","du","df","ps","jq","yq","pwd","which"]),bw=new Set(["log","diff","show","status","blame","ls-files","rev-parse","describe","shortlog"]),kw={find:/^-(?:delete|exec|execdir|ok|okdir|fprint|fls)/,sort:/^(?:-[^-]*o|--output|--compress-program)/,rg:/^(?:--pre|-[^-]*z|--search-zip)/,yq:/^(?:-[^-]*[is]|--inplace|--split-exp)/,file:/^(?:-C|--compile)/,tree:/^(?:-o|--output|-R$|-H$)/,git:/^(?:--output|--ext-diff|--textconv|-c$|--exec-path|--git-dir|--work-tree)/,eslint:/^--fix/},Jr=["test","run test","run build","run lint","run typecheck"],_w={npm:new Set(Jr),pnpm:new Set([...Jr,"build","lint","typecheck"]),yarn:new Set([...Jr,"build","lint","typecheck"]),bun:new Set(Jr),cargo:new Set(["test","build","check","clippy"]),go:new Set(["test","build","vet"]),mvn:new Set(["test","compile","verify"]),gradle:new Set(["test","build","check"]),dotnet:new Set(["test","build"])},ww=new Set(["pytest","tsc","vitest","jest","eslint","mypy"]);function $f(e,t,n=0){if(/\$|`|<\(|>\(|\\\r?\n/.test(e)||/>/.test(e.replace(/2>&1|[12]?>\s*\/dev\/null/g,"")))return!1;for(let r of Yt(e)){if(r.kind==="sep")continue;if(r.unsafe)return!1;let s=n<vf?Ef(r.text.trim()):null;if(s){if(!$f(s.script,t,n+1))return!1;continue}let o=r.text.trim().split(/\s+/).filter(Boolean).map(c=>c.replace(/['"\\]/g,""));if(o.length===0)continue;if(o.some(c=>ri.test(c)))return!1;let i=Zr(o[0]);if(i!==o[0])return!1;let a=kw[i];if(a&&o.slice(1).some(c=>a.test(c)))return!1;if((i==="git"?bw.has(o[1]??""):yw.has(i))||t&&ww.has(i))continue;let l=t?_w[i]:void 0;if(!(l&&(l.has(o[1]??"")||o[1]==="run"&&l.has(`run ${o[2]??""}`))))return!1}return!0}function Cf(e,t,n=xe(t),r=se,s=Kr(),o=process.env.PATH){if(!oe(e)||e.tool_name!=="Bash")return null;let i=e.tool_input;if(!oe(i)||i.run_in_background)return null;let a=i.command;if(typeof a!="string"||!a||t==="codex"&&Object.keys(i).some(p=>!gw.has(p)))return null;let l=typeof e.cwd=="string"&&e.cwd?e.cwd:i.workdir,c=typeof l=="string"&&l?l:void 0,u=typeof e.session_id=="string"&&e.session_id?e.session_id:"unknown",f=typeof e.permission_mode=="string"?e.permission_mode:void 0,d=Ff(a,{host:t,sessionId:u,cwd:c,claudeDirs:s,pathEnv:o,permissionMode:f},n,r);if(!d)return null;let m={...i,command:d.command};return JSON.stringify({hookSpecificOutput:t==="codex"?{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:m}:d.allowedBy?{hookEventName:"PreToolUse",permissionDecision:"allow",permissionDecisionReason:`Tokmizer: allowed by your rule ${d.allowedBy}`,updatedInput:m}:{hookEventName:"PreToolUse",updatedInput:m}})}function xw(e,t){if(!Gr(e))return"missing";try{let n=ti(e,"utf8");return JSON.parse(t?Of(n):n)}catch{return"unreadable"}}function Of(e){let t="",n=!1;for(let r=0;r<e.length;r++){let s=e[r];if(n){t+=s,s==="\\"?t+=e[++r]??"":s==='"'&&(n=!1);continue}if(s==='"')n=!0,t+=s;else if(s==="/"&&e[r+1]==="/"){for(;r<e.length&&e[r]!==`
111
+ `:"",{mode:384}),O_(i,e)}catch{}}var H_="usage.jsonl";var _f=2*1024*1024;function B_(){return j_(x(),H_)}function se(e,t,n=B_()){try{let r=L_(n);F_(r)||M_(r,{recursive:!0,mode:448});let s=e.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64)||"unknown";N_(n,`{"t":${Math.floor(Date.now()/1e3)},"s":"${s}","o":${t?1:0}}
112
+ `,{mode:384}),D_(n,384),kf(n,_f,_f/2)}catch{}}Ve();B();import{execFileSync as lw}from"node:child_process";import{mkdirSync as cw,readFileSync as Ef,renameSync as uw,statSync as fw,writeFileSync as dw}from"node:fs";import{join as Tf}from"node:path";import{closeSync as U_,openSync as z_,readSync as J_,readdirSync as Z_,readFileSync as G_,statSync as xf}from"node:fs";import{homedir as K_}from"node:os";import{isAbsolute as W_,join as Wr,resolve as V_}from"node:path";var Y_=/^[A-Za-z0-9._+@%:,/-]+$/,q_=new Set(["7f454c46","feedface","feedfacf","cefaedfe","cffaedfe","cafebabe","bebafeca"]),X_=32,Q_=4*1024*1024;function ri(e){let t;try{t=z_(e,"r");let n=Buffer.alloc(4),r=J_(t,n,0,4,0);return r>=2&&n[0]===35&&n[1]===33?"#!":r===4?n.toString("hex"):null}catch{return null}finally{t!==void 0&&U_(t)}}function Bn(e,t=process.platform){try{let n=xf(e);if(!n.isFile())return!1;if(t==="win32")return!0;if((n.mode&73)===0)return!1;let r=ri(e);return r==="#!"||r!==null&&q_.has(r)}catch{return!1}}function ew(e){if(/\.[A-Za-z0-9]+$/.test(e))return[e];let t=(process.env.PATHEXT??".COM;.EXE;.BAT;.CMD").split(";").filter(Boolean);return[e,...t.map(n=>e+n.toLowerCase())]}function Yt(e,t,n,r=process.platform){if(!Y_.test(e))return!1;let s=r==="win32";if(e.includes("/"))return Bn(V_(t??process.cwd(),e),r);if(!n)return!1;let o=s?ew(e):[e];for(let i of n.split(s?";":":"))if(!(!i||!W_(i))){for(let a of o)if(Bn(Wr(i,a),r))return!0}return!1}var tw=/^eval \$'([^\s'()=]+) \(\) /,nw=/^([^\s'"()=]+) \(\) \{$/,rw=/^alias -- ([^\s=]+)=(.*)$/,sw=/^# (?:Shell Options|Aliases|Shopt|Check for |Shadow )/,ow=/^export PATH=(.*)$/,iw=/^(?:--colou?r(?:=\S+)?|-G)$/;function wf(e){return e.length>=2&&e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1).replace(/'\\''/g,"'"):e.length>=2&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e}function aw(e,t){let n="";for(let r of e.split(`
113
+ `)){let s=ow.exec(r);if(s&&n!=="# Functions"){let o=wf(s[1].trim());/[$`\\]/.test(o)||t.paths.push(o);continue}if(r.startsWith("# ")&&(n!=="# Functions"||sw.test(r))){n=r;continue}if(n==="# Functions"){let o=tw.exec(r)??nw.exec(r);o&&t.functions.add(o[1])}else if(n==="# Aliases"){let o=rw.exec(r);o&&t.aliases.set(o[1],wf(o[2].trim()))}}}function ni(e){return e?.code==="ENOENT"}function Sf(e){let t={functions:new Set,aliases:new Map,paths:[],uncertain:!1},n=Wr(e||Wr(K_(),".claude"),"shell-snapshots"),r=[];try{for(let s of Z_(n)){if(!s.startsWith("snapshot-")||!s.endsWith(".sh"))continue;let o=Wr(n,s);try{let i=xf(o);i.isFile()&&r.push({path:o,mtime:i.mtimeMs,size:i.size})}catch(i){ni(i)||(t.uncertain=!0)}}}catch(s){return ni(s)||(t.uncertain=!0),t}r=r.sort((s,o)=>o.mtime-s.mtime).slice(0,X_);for(let s of r)try{if(s.size>Q_)throw new Error("snapshot too large");aw(G_(s.path,"utf8"),t)}catch(o){ni(o)||(t.uncertain=!0)}return t}function vf(e,t){if(t.uncertain||t.functions.has(e))return!0;let n=t.aliases.get(e);if(n===void 0)return!1;let r=n.trim().split(/\s+/);return r[0]!==e||!r.slice(1).every(s=>iw.test(s))}var pw="exec-probe.json",mw=6e4;function hw(){return Tf(x(),pw)}function gw(e){try{let t=JSON.parse(Ef(e,"utf8"));if(t==null||typeof t!="object")return null;let n=t;return typeof n.key!="string"||typeof n.ok!="boolean"?null:{key:n.key,ok:n.ok,at:typeof n.at=="number"?n.at:0,skipped:typeof n.skipped=="number"&&n.skipped>=0?n.skipped:0}}catch{return null}}function yw(e,t){try{cw(Tf(e,".."),{recursive:!0,mode:448});let n=`${e}.${process.pid}.tmp`;dw(n,JSON.stringify(t),{mode:384}),uw(n,e)}catch{}}function bw(e){try{return lw(e,["--native-check"],{encoding:"utf8",timeout:2e3,maxBuffer:1024,stdio:["ignore","pipe","ignore"],windowsHide:!0}).startsWith("tokmizer-native ")}catch{return!1}}function kw(e,t){try{let r=Ef(e,"utf8").split(`
114
+ `,1)[0].slice(2).trim().split(/\s+/),s=r[0]??"";return s==="/usr/bin/env"?Yt(r[1]??"",void 0,t):Bn(s)}catch{return!1}}function _w(e,t,n){try{let r=fw(e);return[e,r.size,r.mtimeMs,r.ino,r.mode,t?n??"":""].join("|")}catch{return`${e}|missing`}}function si(e,t=process.platform,n=process.env.PATH,r=hw(),s=Date.now()){let o=t!=="win32"&&ri(e)==="#!",i=_w(e,o,n),a=gw(r);if(a?.key===i&&(a.ok||s-a.at<mw))return a.ok;let l=Bn(e,t)&&(o?kw(e,n):bw(e));return yw(r,{key:i,ok:l,at:s,skipped:(a?.skipped??0)+(l?0:1)}),l}var vw=new Set(["tkr","tkr-exec","token","claude","cd","export","source","echo","mkdir","rm","mv","cp","chmod","ln","true","false",":","test","[","exit","return","nohup","sudo","doas","env"]),Ew=new Set(["for","while","until","if","then","else","elif","fi","do","done","case","esac","select","function","time","coproc","in","!","[[","]]","{","}",".","declare","typeset","local","readonly","unset","set","shift","trap","wait","read","eval","exec","break","continue","pushd","popd","dirs","alias","unalias","hash","ulimit","umask","getopts","let","shopt","builtin","command","compgen","complete","disown","suspend","jobs","fg","bg","kill","history","fc","bind","enable","caller","type","printf","pwd","times","logout","mapfile","readarray","help","which","print","whence","where","autoload","zmodload","setopt","unsetopt","emulate","noglob","rehash","functions","bindkey","zle","vared","sched","limit","unlimit","zstyle","zparseopts","ttyctl"]),Rf=new Set(["sh","bash","zsh","dash","ksh","fish","python","python3","python2","node","ruby","perl","php","awk","sed","deno","bun"]),Af="(?:dev|start|serve|watch|preview)",Tw=new RegExp(`^(?:\\S*/)?(?:bun\\s+(?:install|i|add|remove|rm|update|outdated|audit|test|build|pm|x)(?:\\s|$)|bun\\s+run\\s+(?!${Af}(?:\\s|$))[A-Za-z0-9:_-]+(?:\\s|$)|deno\\s+(?:test|lint|fmt|check|compile|install|info|doc|bench|outdated)(?:\\s|$)|deno\\s+task\\s+(?!${Af}(?:\\s|$))[A-Za-z0-9:_-]+(?:\\s|$)|php\\s+-l(?:\\s|$)|php\\s+(?:\\S*/)?(?:phpunit|pest|paratest|phpstan|pint|ecs|php-cs-fixer|psalm|rector|run-tests\\.php)(?:\\s|$)|php\\s+artisan\\s+(?!(?:serve|tinker|queue:work|queue:listen|horizon|octane:start|reverb:start|schedule:work|pail|dev)(?:\\s|$))\\S)`),Rw=/(?:^|\s)--watch(?:\s|=|$)/;function Aw(e){return Tw.test(e)&&!Rw.test(e)}var $w=/^((?:\S*\/)?(sh|bash|zsh|dash|ksh|fish)\s+(-[elux]*c[elux]*)\s+)(['"])/,Cw=/[()$]|(?:^|[;&|\n]\s*)(?:and|or|not|begin|end|if|else|switch|case|while|for|function|return)(?:\s|;|$)/,Df=3;function Mf(e){let t=$w.exec(e);if(!t)return null;let n=t[2]==="fish";if(n&&t[3]!=="-c")return null;let r=t[4],s=t[1].length+1,o=e.indexOf(r,s);if(o<=s)return null;let i=e.slice(o+1);if(i&&!/^\s/.test(i))return null;let a=e.slice(s,o);return r==='"'&&/[$`\\!]/.test(a)||n&&Cw.test(a)?null:{script:a,start:s,end:o,quote:r}}var Ow=new Set(["cd","export","set","unset","source",".","true",":","pushd","popd"]);function Iw(e){return Xt(e).filter(n=>{if(n.kind!=="cmd"||n.unsafe)return!1;let r=Lf(n.text);return r!==""&&!Ow.has(r)&&!li.test(r)}).length>1}function Pw(e,t,n,r,s){if(n>=Df)return null;let o=Mf(e);if(!o)return null;let{script:i,start:a,end:l,quote:c}=o,u=[],f=jf(i,t,n+1,r,k=>u.push(k));if(f===i||c==='"'&&/["$`]/.test(f))return null;let d=c==="'"?f.replace(/'/g,"'\\''"):f,p=`${e.slice(0,a)}${d}${e.slice(l)}`,m=Iw(i);if(s)for(let k of m?[e,...u]:u)s(k);return m?`${t} ${p}`:p}var $f=/(?:^|\s)(?:--follow|-[0-9a-zA-Z]*f[a-zA-Z]*)(?:\s|=|$)/,Nw=new Set(["docker","podman","kubectl","nerdctl","docker-compose","stern","flyctl"]);function Dw(e,t){let n=qr(t);return n==="tail"||n==="journalctl"?$f.test(e):n==="stern"?!0:Nw.has(n)?/\blogs?\b/.test(e)&&$f.test(e):!1}var li=/^[A-Za-z_][A-Za-z0-9_]*\+?=/,Mw=/^[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/,Fw=/(?:^|[;&|\n({])\s*[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/;function qr(e){let t=e.lastIndexOf("/");return t===-1?e:e.slice(t+1)}function Ff(e){let t=new Array(e.length).fill(!1),n=[],r=0;for(;r<e.length;){let s=e[r],o=e[r+1],i=n[n.length-1];if(i==="'"){s==="'"&&n.pop(),r+=1;continue}if(s==="\\"){if(o===void 0)return null;r+=2;continue}if(i==="$'"){s==="'"&&n.pop(),r+=1;continue}if(s==="$"&&(o==="("||o==="{")){n.push(o==="("?")":"}"),r+=2;continue}if(s==="`"){i==="`"?n.pop():n.push("`"),r+=1;continue}if(i==='"'){s==='"'&&n.pop(),r+=1;continue}if(s==="$"&&o==="'"){n.push("$'"),r+=2;continue}if(s==="'"||s==='"'){n.push(s),r+=1;continue}if(s==="("||s==="{"&&i==="}"){n.push(s==="("?")":"}"),r+=1;continue}if(s===i){n.pop(),r+=1;continue}if(s===")"&&i===void 0)return null;t[r]=i===void 0,r+=1}return n.length===0?t:null}function Cf(e){let t=Ff(e);if(!t)return!0;for(let n=0;n<e.length;n++)if(t[n]&&e[n]===">")return!0;return!1}function Xt(e){let t=Ff(e);if(!t)return[{kind:"cmd",text:e,unsafe:!0}];let n=[],r="",s=0,o=()=>{r.length>0&&(n.push({kind:"cmd",text:r}),r="")},i=(a,l)=>{o(),n.push({kind:"sep",text:a}),s+=l};for(;s<e.length;){let a=e[s],l=e[s+1];if(t[s]){if(a===">"&&l==="|"){r+=">|",s+=2;continue}if(a==="&"&&l==="&"){i("&&",2);continue}if(a==="&"&&l!==">"){let c=r.replace(/\s+$/,""),u=c[c.length-1];if(u!==">"&&u!=="<"&&u!=="&"){i("&",1);continue}}if(a==="|"&&l==="|"){i("||",2);continue}if(a==="|"&&l==="&"){i("|&",2);continue}if(a===";"&&l===";"){let c=e[s+2]==="&";i(c?";;&":";;",c?3:2);continue}if(a===";"||a===`
115
+ `||a==="|"){i(a,1);continue}}r+=a,s+=1}return o(),n}function Lf(e){return e.trim().split(/\s+/)[0]??""}function Se(e,t=process.platform){try{let n=Nf(xw(import.meta.url)),r=t==="win32",s=e&&e!=="claude-code"&&e!=="codex"&&!r?`TOKMIZER_HOST=${e} `:"";if(r&&(!e||e==="claude-code")){let a=H(n,"..","bin","tkr-exec.exe");if(Yr(a))return si(a,t)?`'${a.replace(/\\/g,"/").replace(/'/g,"'\\''")}'`:null}let o=H(n,"..","bin","tkr-exec");if(!r&&Yr(o))return si(o,t)?`${s}'${o.replace(/'/g,"'\\''")}'`:null;if($e()){let a=r?process.execPath.replace(/\\/g,"/"):process.execPath;return`${s}'${a.replace(/'/g,"'\\''")}' exec`}let i=H(n,"..","bin","tkr-exec.js");return Yr(i)?`${s}node '${i.replace(/'/g,"'\\''")}'`:null}catch{return null}}function ci(e,t="tkr-exec",n=()=>!0,r){return jf(e,t,0,n,r)}function jf(e,t,n,r,s){if(e.includes("<<")||Fw.test(e))return e;let o=Xt(e),i=[];for(let a=0;a<o.length;a++){let l=o[a];if(l.kind==="sep"||l.unsafe){i.push(l.text);continue}let c=l.text.trim();if(!c){i.push(l.text);continue}let u=Lf(c),f=o[a+1],d=f?.kind==="sep"&&(f.text==="|"||f.text==="|&"),p=f?.kind==="sep"&&f.text==="&",m=!d&&!p&&!Cf(l.text)&&!l.text.includes("<(")&&!l.text.includes(">(")?Pw(c,t,n,r,s):null;if(m!==null){i.push(`${l.text.match(/^\s*/)?.[0]??""}${m}${l.text.match(/\s*$/)?.[0]??""}`);continue}if(c===t||c.startsWith(t)&&/^\s/.test(c.slice(t.length))||vw.has(u)||Ew.has(u)||(Rf.has(u)||Rf.has(qr(u)))&&!Aw(c)||li.test(u)||u.startsWith("(")||u.startsWith("#")||u.startsWith("<")||u.startsWith(">")||Mw.test(c)||Dw(c,u)||u.endsWith(")")||d||p||Cf(l.text)||l.text.includes("<(")||l.text.includes(">(")||u==="node"&&c.includes("tkr-exec.js")||!r(u)){i.push(l.text);continue}let k=l.text.match(/^\s*/)?.[0]??"",g=l.text.match(/\s*$/)?.[0]??"";s?.(c),i.push(`${k}${t} ${c}${g}`)}return i.join("")}var Lw=new Set(["command","workdir","timeout_ms","yield_time_ms","max_output_tokens","shell","login","tty","description"]),jw=new Set(["cd","cat","head","tail","ls","tree","find","grep","rg","wc","nl","sort","cut","diff","stat","file","du","df","ps","jq","yq","pwd","which"]),Hw=new Set(["log","diff","show","status","blame","ls-files","rev-parse","describe","shortlog"]),Bw={find:/^-(?:delete|exec|execdir|ok|okdir|fprint|fls)/,sort:/^(?:-[^-]*o|--output|--compress-program)/,rg:/^(?:--pre|-[^-]*z|--search-zip)/,yq:/^(?:-[^-]*[is]|--inplace|--split-exp)/,file:/^(?:-C|--compile)/,tree:/^(?:-o|--output|-R$|-H$)/,git:/^(?:--output|--ext-diff|--textconv|-c$|--exec-path|--git-dir|--work-tree)/,eslint:/^--fix/},Vr=["test","run test","run build","run lint","run typecheck"],Uw={npm:new Set(Vr),pnpm:new Set([...Vr,"build","lint","typecheck"]),yarn:new Set([...Vr,"build","lint","typecheck"]),bun:new Set(Vr),cargo:new Set(["test","build","check","clippy"]),go:new Set(["test","build","vet"]),mvn:new Set(["test","compile","verify"]),gradle:new Set(["test","build","check"]),dotnet:new Set(["test","build"])},zw=new Set(["pytest","tsc","vitest","jest","eslint","mypy"]);function Hf(e,t,n=0){if(/\$|`|<\(|>\(|\\\r?\n/.test(e)||/>/.test(e.replace(/2>&1|[12]?>\s*\/dev\/null/g,"")))return!1;for(let r of Xt(e)){if(r.kind==="sep")continue;if(r.unsafe)return!1;let s=n<Df?Mf(r.text.trim()):null;if(s){if(!Hf(s.script,t,n+1))return!1;continue}let o=r.text.trim().split(/\s+/).filter(Boolean).map(c=>c.replace(/['"\\]/g,""));if(o.length===0)continue;if(o.some(c=>li.test(c)))return!1;let i=qr(o[0]);if(i!==o[0])return!1;let a=Bw[i];if(a&&o.slice(1).some(c=>a.test(c)))return!1;if((i==="git"?Hw.has(o[1]??""):jw.has(i))||t&&zw.has(i))continue;let l=t?Uw[i]:void 0;if(!(l&&(l.has(o[1]??"")||o[1]==="run"&&l.has(`run ${o[2]??""}`))))return!1}return!0}function Bf(e,t,n=Se(t),r=se,s=Qr(),o=process.env.PATH,i=zn){if(!oe(e)||e.tool_name!=="Bash"||t==="claude-code"&&Zw(i()))return null;let a=e.tool_input;if(!oe(a)||a.run_in_background)return null;let l=a.command;if(typeof l!="string"||!l||t==="codex"&&Object.keys(a).some(k=>!Lw.has(k)))return null;let c=typeof e.cwd=="string"&&e.cwd?e.cwd:a.workdir,u=typeof c=="string"&&c?c:void 0,f=typeof e.session_id=="string"&&e.session_id?e.session_id:"unknown",d=typeof e.permission_mode=="string"?e.permission_mode:void 0,p=Wf(l,{host:t,sessionId:f,cwd:u,claudeDirs:s,pathEnv:o,permissionMode:d},n,r);if(!p)return null;let m={...a,command:p.command};return JSON.stringify({hookSpecificOutput:t==="codex"?{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:m}:p.allowedBy?{hookEventName:"PreToolUse",permissionDecision:"allow",permissionDecisionReason:`Tokmizer: allowed by your rule ${p.allowedBy}`,updatedInput:m}:{hookEventName:"PreToolUse",updatedInput:m}})}var Jw=/(?:^|\s)--(?:disallowedTools|disallowed-tools|settings|setting-sources)(?:[=\s]|$)/;function zn(e=process.env,t=process.platform){let n=Number(e.CLAUDE_PID)||process.ppid;if(t==="win32"||!Number.isInteger(n)||n<=1)return null;try{let r=ww("ps",["-ww","-o","args=","-p",String(n)],{encoding:"utf8",timeout:2e3});return r.status===0&&r.stdout.trim()?r.stdout:null}catch{return null}}function Zw(e){return e===null||Jw.test(e)}function Gw(e,t){if(!Yr(e))return"missing";try{let n=ii(e,"utf8");return JSON.parse(t?Uf(n):n)}catch{return"unreadable"}}function Uf(e){let t="",n=!1;for(let r=0;r<e.length;r++){let s=e[r];if(n){t+=s,s==="\\"?t+=e[++r]??"":s==='"'&&(n=!1);continue}if(s==='"')n=!0,t+=s;else if(s==="/"&&e[r+1]==="/"){for(;r<e.length&&e[r]!==`
112
116
  `;)r++;t+=`
113
- `}else if(s==="/"&&e[r+1]==="*"){if(r=e.indexOf("*/",r+2),r===-1)return"";r+=1}else t+=s}return t.replace(/,(\s*[}\]])/g,"$1")}function Wr(e){let t=[],n=tw(e);for(;;){t.push(n);let r=Sf(n);if(r===n)return t;n=r}}function Sw(){let e=process.platform==="darwin"?"/Library/Application Support/ClaudeCode":process.platform==="win32"?"C:\\Program Files\\ClaudeCode":"/etc/claude-code",t=[j(e,"managed-settings.json")];try{for(let n of ni(j(e,"managed-settings.d")))n.endsWith(".json")&&t.push(j(e,"managed-settings.d",n))}catch{return t}return t}function Bn(e,t,n,r){let s=[];for(let o of e){let i=xw(o,t);if(i!=="missing"&&(i==="unreadable"||!oe(i)||!n(i,s)))return"unreadable"}return{matchers:s,complete:r}}function Hn(e){return e===void 0?[]:Array.isArray(e)?e.filter(t=>typeof t=="string"):null}function Kr(){return{projectDir:process.env.CLAUDE_PROJECT_DIR,configDir:process.env.CLAUDE_CONFIG_DIR}}function vw(e,t){let n=g=>[j(g,"settings.json"),j(g,"settings.local.json")],r=g=>n(j(g,".claude")),s=j(Vt(),".claude"),o=t.configDir||s,i=[[Sw(),"managed"],[[j(o,"settings.json")],"loaded"],[[j(o,"settings.local.json")],"loadedLocal"],[t.configDir?n(s):[],"extra"],[t.projectDir?r(t.projectDir):[],"project"],[Wr(e).flatMap(r),"extra"]],a=[],l={managed:[],loaded:[],loadedLocal:[],project:[],extra:[]},c={managed:!1,loaded:!1,loadedLocal:!1,project:!1,extra:!1},u=!1,f="managed",d=(g,T)=>{let x=g.permissions;if(f==="managed"&&(g.allowManagedPermissionRulesOnly===!0||oe(x)&&x.allowManagedPermissionRulesOnly===!0)&&(u=!0),x===void 0)return!0;if(!oe(x))return!1;for(let C of["deny","ask","allow"]){let E=Hn(x[C]);if(!E)return!1;for(let O of E){let N=/^\s*Bash\s*(?:\(([\s\S]*)\))?\s*$/.exec(O);if(N)if(C!=="allow")T.push(wt((N[1]??"*").replace(/:\*$/," *")));else if(N[1]===void 0||N[1].trim()==="*")c[f]=!0;else{a.push(wt(N[1].replace(/:\*$/," *")));let F=Fw(N[1]);F&&l[f].push({rule:O.trim(),matches:F})}}}return!0},m=[];for(let[g,T]of i){f=T;let x=Bn(g,!1,d,!0);if(x==="unreadable")return"unreadable";m.push(...x.matchers)}let p=c.managed||(c.loaded||c.loadedLocal)&&!u,k=[...l.managed,...u?[]:l.loaded];return{matchers:[...m,...p?[]:a],complete:!0,allow:a,allowsEverything:p,guards:m,trustedAllow:k}}function Ew(e){let t=[j(Vt(),".cursor","cli-config.json"),...Wr(e).map(n=>j(n,".cursor","cli.json"))];return Bn(t,!0,(n,r)=>{let s=n.permissions;if(s===void 0)return!0;if(!oe(s))return!1;let o=Hn(s.deny);if(!o)return!1;for(let i of o){let a=/^\s*Shell\s*(?:\(([\s\S]*)\))?\s*$/.exec(i);if(!a)continue;let l=a[1]??"*",c=l.indexOf(":");r.push(wt(c===-1?`${l} *`:`${l.slice(0,c)} ${l.slice(c+1)}`))}return!0},!1)}function Tw(){return process.platform==="darwin"?"/Library/Application Support/GeminiCli":process.platform==="win32"?"C:\\ProgramData\\gemini-cli":"/etc/gemini-cli"}var If=/^\s*(?:run_shell_command|ShellTool)\s*(?:\(([\s\S]*)\))?\s*$/;function Rw(e,t){let n=e.tools;if(n!==void 0&&!oe(n))return!1;let r=[Hn(e.excludeTools),Hn(oe(n)?n.exclude:void 0)];for(let s of r){if(!s)return!1;for(let o of s){let i=If.exec(o);i&&t.push(wt(i[1]===void 0?"*":`${i[1]}*`))}}return!0}function _f(e){try{return JSON.parse(e)}catch{return null}}function Aw(e){let t=e.trim();if(t.startsWith('"""')||t.startsWith("'''"))return null;if(t.startsWith("[")){if(!/\]\s*(?:#.*)?$/.test(t))return null;let n=[];for(let r of t.matchAll(/"((?:\\.|[^"\\])*)"|'([^']*)'/g)){let s=r[2]??_f(`"${r[1]}"`);if(s===null)return null;n.push(s)}return n}if(t.startsWith('"')){let n=/^"((?:\\.|[^"\\])*)"/.exec(t);return n?_f(`"${n[1]}"`):null}if(t.startsWith("'")){let n=/^'([^']*)'/.exec(t);return n?n[1]:null}return t.replace(/\s*#.*$/,"")}function $w(e,t){for(let n of e.split(/^\s*\[\[\s*rule\s*\]\]\s*$/m).slice(1)){let r={};for(let l of n.split(/\r?\n/)){if(/^\s*\[/.test(l))break;let c=/^\s*([A-Za-z_]+)\s*=\s*(.*)$/.exec(l);if(!c)continue;let u=Aw(c[2]);if(u===null)return!1;r[c[1]]=u}let s=r.decision;if(s!=="deny"&&s!=="ask_user"||!(r.toolName===void 0?["*"]:[r.toolName].flat()).some(l=>l==="*"||If.test(l)))continue;let i=r.commandPrefix===void 0?[]:[r.commandPrefix].flat(),a=[r.commandRegex,r.argsPattern].flat().filter(l=>typeof l=="string");if(i.length===0&&a.length===0){t.push(()=>!0);continue}for(let l of i)t.push(wt(`${l}*`));for(let l of a){let c;try{c=new RegExp(l)}catch{return!1}t.push(u=>c.test(JSON.stringify({command:u}))||oi(c,u))}}return!0}function wf(e){try{return ni(e).filter(t=>t.endsWith(".toml")).map(t=>j(e,t))}catch{return[]}}function Cw(e){let t=Tw(),n=[j(t,"system-defaults.json"),j(t,"settings.json"),process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH,process.env.GEMINI_CLI_SYSTEM_DEFAULTS_PATH,j(Vt(),".gemini","settings.json"),...Wr(e).map(s=>j(s,".gemini","settings.json"))].filter(s=>!!s),r=Bn(n,!0,Rw,!1);if(r==="unreadable")return r;for(let s of[...wf(j(Vt(),".gemini","policies")),...wf(j(t,"policies"))]){let o;try{o=ti(s,"utf8")}catch{return"unreadable"}if(!$w(o,r.matchers))return"unreadable"}return r}function ei(e,t){if(e===void 0)return!0;if(typeof e=="string")return e!=="allow"&&t.push(()=>!0),!0;if(!oe(e))return!1;for(let n of["bash","shell","*"]){let r=e[n];if(r!==void 0){if(typeof r=="string"){r!=="allow"&&t.push(()=>!0);continue}if(!oe(r))return!1;for(let[s,o]of Object.entries(r))o!=="allow"&&t.push(wt(s.replace(/\?/g,"*")))}}return!0}function xf(e,t){if(e.permissions!==void 0||!ei(e.permission,t))return!1;for(let n of["agent","agents","mode"]){let r=e[n];if(r!==void 0){if(!oe(r))return!1;for(let s of Object.values(r))if(oe(s)&&(s.permissions!==void 0||!ei(s.permission,t)))return!1}}return!0}function Ow(e){for(let t of e)for(let n of["agent","agents","mode","modes"]){let r;try{r=ni(j(t,n))}catch{continue}for(let s of r)try{if(s.endsWith(".md")&&/permission/i.test(ti(j(t,n,s),"utf8")))return!0}catch{return!0}}return!1}function Iw(e){let t=j(process.env.XDG_CONFIG_HOME||j(Vt(),".config"),"opencode"),n=Wr(e),r=[t,...n.map(a=>j(a,".opencode"))];if(Ow(r))return"unreadable";let s=["opencode.json","opencode.jsonc","config.json"],o=[...s.map(a=>j(t,a)),process.env.OPENCODE_CONFIG,...n.flatMap(a=>[...s.slice(0,2).map(l=>j(a,l)),...s.slice(0,2).map(l=>j(a,".opencode",l))])].filter(a=>!!a),i=Bn(o,!0,xf,!0);if(i==="unreadable")return i;for(let a of[process.env.OPENCODE_CONFIG_CONTENT,process.env.OPENCODE_PERMISSION]){if(!a)continue;let l;try{l=JSON.parse(Of(a))}catch{return"unreadable"}if(!(a===process.env.OPENCODE_PERMISSION?ei(l,i.matchers):oe(l)&&xf(l,i.matchers)))return"unreadable"}return i}function Pw(){return Bn([j(Vt(),".gemini","antigravity-cli","settings.json")],!0,(e,t)=>{let n=e.permissions;if(n===void 0)return!0;if(!oe(n))return!1;for(let r of["deny","ask"]){let s=Hn(n[r]);if(!s)return!1;for(let o of s){let i=/^\s*command\s*\(([\s\S]*)\)\s*$/.exec(o);if(!i)continue;let a=i[1].trim();if(!a.startsWith("regex:")){t.push(wt(a==="*"?"*":`${a} *`));continue}let l;try{l=new RegExp(a.slice(6))}catch{return!1}t.push(c=>oi(l,c))}}return!0},!1)}function oe(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function Pf(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Nw(e){let t=e.trim().replace(/\s+/g," "),n=t.endsWith(" *")&&t.length>2,r=(n?t.slice(0,-2):t).split("*").map(Pf).join("[\\s\\S]*");return new RegExp(`^${r}${n?"(?: [\\s\\S]*)?":""}(?= |$)`)}var Dw=512;function Mw(e){let t=e.replace(/['"\\]/g,"").split(/[\s;&|(){}<>`$]+/).filter(Boolean);return[t,t.map(Zr)]}function oi(e,t){if(e.test(t)||e.test(t.trim().replace(/\s+/g," ")))return!0;for(let n of Mw(t)){if(n.length>Dw)return!0;for(let r=0;r<n.length;r++)if(e.test(n.slice(r).join(" ")))return!0}return!1}function wt(e){let t=Nw(e);return n=>oi(t,n)}function Fw(e){let t=e.trim().replace(/:\*$/," *"),n=t.endsWith(" *"),r=n?t.slice(0,-2):t;if(!r||r.includes("*")||/\s\s|[^\S ]|^ | $/.test(r))return null;let s=new RegExp(`^${Pf(r)}${n?"(?: [\\s\\S]*)?":""}$`);return o=>s.test(o)}var Lw={"claude-code":vw,cursor:Ew,"gemini-cli":Cw,opencode:Iw,antigravity:Pw},jw=new Set(["codex"]),Nf=/(?:^|[\s=:/~])\.(?:git|claude|vscode|idea|husky)(?=[/\s;|&)]|$)|(?:^|[\s=:/~])\.(?:bashrc|bash_profile|bash_login|bash_logout|profile|zshrc|zprofile|zshenv|zlogin|zlogout|gitconfig|gitmodules|ripgreprc|mcp\.json)(?![A-Za-z0-9_])/;function Hw(e,t,n){let r=Lw[e];return r?r(t??process.cwd(),n):{matchers:[],complete:!1}}function Bw(e,t,n){return e==="unreadable"||Nf.test(t.replace(/['"\\]/g,""))||e.matchers.some(r=>r(t))?!1:e.complete||$f(t,!jw.has(n))}var Df=new Set(["default","acceptEdits","dontAsk"]);function Mf(e,t){return t.host!=="claude-code"||t.permissionMode==="bypassPermissions"?!0:e!=="unreadable"&&e.allowsEverything===!0&&Df.has(t.permissionMode??"")}function Uw(e,t){let n="pathEnv"in e?e.pathEnv:process.env.PATH,r;return s=>e.host!=="claude-code"?Kt(s,e.cwd,n):(r??=df(t.configDir),!Kt(s,e.cwd,n)&&!r.paths.some(o=>Kt(s,e.cwd,o))?!1:s.includes("/")||!mf(s,r))}var zw=/^[^\s;&|<>()$`\\{}*?[\]~#!]+(?: [^\s;&|<>()$`\\{}*?[\]~#!]+)*$/;function Jw(e,t,n){return n.host!=="claude-code"||e==="unreadable"||Mf(e,n)||!Df.has(n.permissionMode??"")||!zw.test(t)||Nf.test(t.replace(/['"]/g,""))||(e.guards??[]).some(r=>r(t))?null:(e.trustedAllow??[]).find(r=>r.matches(t))?.rule??null}function Ff(e,t,n,r){if(!n||/["\\$`;&|<>(){}]|'\\''/.test(n))return null;let s=t.claudeDirs??Kr(),o=Hw(t.host,t.cwd,s),i=Jw(o,e,t),a=i||Bw(o,e,t.host)?si(e,n,Uw(t,s)):e;return a!==e&&o!=="unreadable"&&(i?(o.guards??[]).some(l=>l(a)):o.matchers.some(l=>l(a))||(o.allow??[]).some(l=>l(a)&&!l(e)))&&(a=e),r(t.sessionId,a!==e),a===e?null:i?{command:a,allowedBy:i}:Mf(o,t)?{command:a}:null}function Ye(e,t,n,r){return Ff(e,t,n,r)?.command??null}H();pn();Dn();ho();import{existsSync as mx,writeFileSync as px,appendFileSync as hx,statSync as gx,constants as Bf}from"node:fs";import{lstat as yx,open as bx}from"node:fs/promises";import{basename as kx,dirname as _x,isAbsolute as wx,join as Zf}from"node:path";H();we();import{readFileSync as Gw}from"node:fs";import{join as Zw}from"node:path";function Lf(){if(he())return!1;try{return JSON.parse(Gw(Zw(S(),"settings-cache.json"),"utf8")).enabled!==!1}catch{return!0}}H();import{createHash as Ww}from"node:crypto";import{appendFileSync as Kw,chmodSync as Vw,mkdirSync as Yw,readFileSync as qw,rmSync as Xw,statSync as Qw}from"node:fs";import{join as jf}from"node:path";var ex=256*1024,tx=80;function nx(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return jf(S(),"sessions",`${t}.seen`)}function ii(e){return e.replace(/[\t\r\n]+/g," ").trim().slice(0,tx)}function ai(e,t,n,r){try{let s=nx(e),o=ii(t),i=Ww("sha256").update(n).digest("hex").slice(0,32),a="";try{a=qw(s,"utf8")}catch{}for(let l of a.split(`
114
- `)){let[c,u,f]=l.split(" ");if(c===o&&u===i)return{cmd:f??""}}Yw(jf(S(),"sessions"),{recursive:!0,mode:448}),Kw(s,`${o} ${i} ${ii(r)}
115
- `,{mode:384}),Vw(s,384),Qw(s).size>ex&&Xw(s,{force:!0})}catch{}return null}function li(e,t){return`[same output as \`${ii(e)}\` earlier in this session, unchanged, ~${Math.round(t/4)} tokens]`}Tn();function Q(e,t){let n=e[t];return typeof n=="string"&&n?n:null}function Un(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function rx(e){return Q(e,"prompt_id")||Q(e,"scratchpad_dir")?!0:Un(e.effort)}function sx(e){return Q(e,"tool_use_id")?.startsWith("toolu_")===!0||/^claude/i.test(Q(e,"model")??"")}var ox=new Set(["BeforeTool","AfterTool","BeforeAgent","AfterAgent","BeforeModel","AfterModel","BeforeToolSelection"]),ix=new Set(["preToolUse","postToolUse","beforeShellExecution","afterShellExecution","beforeSubmitPrompt","sessionStart","sessionEnd","stop"]),ax=new Set(["pre_tool","post_tool"]),lx=new Set(["before_tool_call","after_tool_call"]),cx=new Set(["runTerminalCommand","run_in_terminal"]),ux=[["codex",e=>Q(e,"turn_id")!==null],["claude-code",rx],["cursor",e=>Q(e,"cursor_version")!==null||Q(e,"generation_id")!==null||Q(e,"conversation_id")!==null||Array.isArray(e.workspace_roots)||ix.has(Q(e,"hook_event_name")??"")],["gemini-cli",e=>ox.has(Q(e,"hook_event_name")??"")],["qwen-code",e=>e.hook_event_name==="PreToolUse"&&e.tool_name==="run_shell_command"],["vibe",e=>ax.has(Q(e,"hook_event_name")??"")],["antigravity",e=>Un(e.toolCall)],["copilot",e=>Q(e,"toolName")!==null&&"toolArgs"in e||cx.has(Q(e,"tool_name")??"")],["grok",e=>e.toolName==="run_terminal_command"||e.tool_name==="run_terminal_command"||Un(e.toolInput)&&!("toolArgs"in e)],["droid",e=>e.tool_name==="Execute"],["trae",e=>e.tool_name==="RunCommand"],["crush",e=>e.hook_event_name===void 0&&Q(e,"event")!==null&&!lx.has(Q(e,"event"))]],fx=new Set(["codex","antigravity"]);function dx(e){return Un(e)?ux.filter(([,t])=>t(e)).map(([t])=>t):[]}function ci(e,t){if(!Un(e))return null;let n=dx(e);return n.length>1?null:n.length===1?n[0]:sx(e)&&fx.has(t)?"claude-code":t==="codex"?null:t}function Hf(e,t){let n=ci(e,t);return n==="claude-code"||n==="codex"?n:null}var xx=new Set(["Read","Grep","Glob","Bash"]),Vr=10*1024*1024,Wf=1024,Sx=40,vx=25e3,Ex=/^… \(?\d+ more lines omitted\)?$/,Tx=/^\[tkr restore [0-9a-f]{8,64}\]$/,Rx=/^\d+F \d+D(?: in .+\/)?:$|^\S.*\/ \(\d+(?:, \*\.[^)]+)?\): \S/,Ax=/^… \(\d+ more lines omitted\)$/m,$x="[tkr: partial view; folded or omitted lines are not file text. Read with offset/limit for the exact lines before Edit or Write]";function Cx(e){return Ex.test(e)||Tx.test(e)||e==="[YOLO: omitted]"}function Kf(e,t,n){if(!e||typeof e=="string")return t;if(e.file?.content!=null)return{...e,file:{...e.file,content:t}};if(e.content!=null)return{...e,content:t};if(e.output!=null)return{...e,output:t};if(e.stdout!=null||e.stderr!=null){let{persistedOutputPath:r,persistedOutputSize:s,...o}=e;return{...o,stdout:t,stderr:""}}if(Array.isArray(e.filenames)){let r=new Set(e.filenames),s=n==="Glob",o=t.split(`
116
- `).filter(i=>r.has(i)||Cx(i)||s&&Rx.test(i));return{...e,filenames:o}}return t}function Ox(e,t,n){return JSON.stringify({...n?{systemMessage:n}:{},hookSpecificOutput:{hookEventName:"PostToolUse",updatedToolOutput:Kf(e.tool_response,t,e.tool_name)}})}var Ix=100,di=null;function Px(){let e=di;return di=null,e}function Uf(e){let t=Math.round(e/4);return t>=1e3?`${(t/1e3).toFixed(1)}K`:String(t)}function Vf(e,t){try{if(Math.round((e-t)/4)<Ix)return;let n=Zf(S(),"first-save");if(mx(n))return;px(n,String(Date.now())),di=`Tokmizer just optimized its first command output here: ~${Uf(e)} tokens down to ~${Uf(t)}. Watch it add up: /tkr-gain`}catch{}}function zf(e){return e?typeof e=="string"?e:e.file?.content!=null?e.file.content:e.content!=null?e.content:e.output!=null?e.output:e.stdout!=null||e.stderr!=null?[e.stdout??"",e.stderr??""].filter(Boolean).join(`
117
+ `}else if(s==="/"&&e[r+1]==="*"){if(r=e.indexOf("*/",r+2),r===-1)return"";r+=1}else t+=s}return t.replace(/,(\s*[}\]])/g,"$1")}function Xr(e){let t=[],n=Sw(e);for(;;){t.push(n);let r=Nf(n);if(r===n)return t;n=r}}function Kw(){let e=process.platform==="darwin"?"/Library/Application Support/ClaudeCode":process.platform==="win32"?"C:\\Program Files\\ClaudeCode":"/etc/claude-code",t=[H(e,"managed-settings.json")];try{for(let n of ai(H(e,"managed-settings.d")))n.endsWith(".json")&&t.push(H(e,"managed-settings.d",n))}catch{return t}return t}function Jn(e,t,n,r){let s=[];for(let o of e){let i=Gw(o,t);if(i!=="missing"&&(i==="unreadable"||!oe(i)||!n(i,s)))return"unreadable"}return{matchers:s,complete:r}}function Un(e){return e===void 0?[]:Array.isArray(e)?e.filter(t=>typeof t=="string"):null}function Qr(){return{projectDir:process.env.CLAUDE_PROJECT_DIR,configDir:process.env.CLAUDE_CONFIG_DIR}}function Ww(e,t){let n=g=>[H(g,"settings.json"),H(g,"settings.local.json")],r=g=>n(H(g,".claude")),s=H(qt(),".claude"),o=t.configDir||s,i=[[Kw(),"managed"],[[H(o,"settings.json")],"loaded"],[[H(o,"settings.local.json")],"loadedLocal"],[t.configDir?n(s):[],"extra"],[t.projectDir?r(t.projectDir):[],"project"],[Xr(e).flatMap(r),"extra"]],a=[],l={managed:[],loaded:[],loadedLocal:[],project:[],extra:[]},c={managed:!1,loaded:!1,loadedLocal:!1,project:!1,extra:!1},u=!1,f="managed",d=(g,T)=>{let S=g.permissions;if(f==="managed"&&(g.allowManagedPermissionRulesOnly===!0||oe(S)&&S.allowManagedPermissionRulesOnly===!0)&&(u=!0),S===void 0)return!0;if(!oe(S))return!1;for(let C of["deny","ask","allow"]){let E=Un(S[C]);if(!E)return!1;for(let O of E){let P=/^\s*Bash\s*(?:\(([\s\S]*)\))?\s*$/.exec(O);if(P)if(C!=="allow")T.push(St((P[1]??"*").replace(/:\*$/," *")));else if(P[1]===void 0||P[1].trim()==="*")c[f]=!0;else{a.push(St(P[1].replace(/:\*$/," *")));let F=ax(P[1]);F&&l[f].push({rule:O.trim(),matches:F})}}}return!0},p=[];for(let[g,T]of i){f=T;let S=Jn(g,!1,d,!0);if(S==="unreadable")return"unreadable";p.push(...S.matchers)}let m=c.managed||(c.loaded||c.loadedLocal)&&!u,k=[...l.managed,...u?[]:l.loaded];return{matchers:[...p,...m?[]:a],complete:!0,allow:a,allowsEverything:m,guards:p,trustedAllow:k}}function Vw(e){let t=[H(qt(),".cursor","cli-config.json"),...Xr(e).map(n=>H(n,".cursor","cli.json"))];return Jn(t,!0,(n,r)=>{let s=n.permissions;if(s===void 0)return!0;if(!oe(s))return!1;let o=Un(s.deny);if(!o)return!1;for(let i of o){let a=/^\s*Shell\s*(?:\(([\s\S]*)\))?\s*$/.exec(i);if(!a)continue;let l=a[1]??"*",c=l.indexOf(":");r.push(St(c===-1?`${l} *`:`${l.slice(0,c)} ${l.slice(c+1)}`))}return!0},!1)}function Yw(){return process.platform==="darwin"?"/Library/Application Support/GeminiCli":process.platform==="win32"?"C:\\ProgramData\\gemini-cli":"/etc/gemini-cli"}var zf=/^\s*(?:run_shell_command|ShellTool)\s*(?:\(([\s\S]*)\))?\s*$/;function qw(e,t){let n=e.tools;if(n!==void 0&&!oe(n))return!1;let r=[Un(e.excludeTools),Un(oe(n)?n.exclude:void 0)];for(let s of r){if(!s)return!1;for(let o of s){let i=zf.exec(o);i&&t.push(St(i[1]===void 0?"*":`${i[1]}*`))}}return!0}function Of(e){try{return JSON.parse(e)}catch{return null}}function Xw(e){let t=e.trim();if(t.startsWith('"""')||t.startsWith("'''"))return null;if(t.startsWith("[")){if(!/\]\s*(?:#.*)?$/.test(t))return null;let n=[];for(let r of t.matchAll(/"((?:\\.|[^"\\])*)"|'([^']*)'/g)){let s=r[2]??Of(`"${r[1]}"`);if(s===null)return null;n.push(s)}return n}if(t.startsWith('"')){let n=/^"((?:\\.|[^"\\])*)"/.exec(t);return n?Of(`"${n[1]}"`):null}if(t.startsWith("'")){let n=/^'([^']*)'/.exec(t);return n?n[1]:null}return t.replace(/\s*#.*$/,"")}function Qw(e,t){for(let n of e.split(/^\s*\[\[\s*rule\s*\]\]\s*$/m).slice(1)){let r={};for(let l of n.split(/\r?\n/)){if(/^\s*\[/.test(l))break;let c=/^\s*([A-Za-z_]+)\s*=\s*(.*)$/.exec(l);if(!c)continue;let u=Xw(c[2]);if(u===null)return!1;r[c[1]]=u}let s=r.decision;if(s!=="deny"&&s!=="ask_user"||!(r.toolName===void 0?["*"]:[r.toolName].flat()).some(l=>l==="*"||zf.test(l)))continue;let i=r.commandPrefix===void 0?[]:[r.commandPrefix].flat(),a=[r.commandRegex,r.argsPattern].flat().filter(l=>typeof l=="string");if(i.length===0&&a.length===0){t.push(()=>!0);continue}for(let l of i)t.push(St(`${l}*`));for(let l of a){let c;try{c=new RegExp(l)}catch{return!1}t.push(u=>c.test(JSON.stringify({command:u}))||ui(c,u))}}return!0}function If(e){try{return ai(e).filter(t=>t.endsWith(".toml")).map(t=>H(e,t))}catch{return[]}}function ex(e){let t=Yw(),n=[H(t,"system-defaults.json"),H(t,"settings.json"),process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH,process.env.GEMINI_CLI_SYSTEM_DEFAULTS_PATH,H(qt(),".gemini","settings.json"),...Xr(e).map(s=>H(s,".gemini","settings.json"))].filter(s=>!!s),r=Jn(n,!0,qw,!1);if(r==="unreadable")return r;for(let s of[...If(H(qt(),".gemini","policies")),...If(H(t,"policies"))]){let o;try{o=ii(s,"utf8")}catch{return"unreadable"}if(!Qw(o,r.matchers))return"unreadable"}return r}function oi(e,t){if(e===void 0)return!0;if(typeof e=="string")return e!=="allow"&&t.push(()=>!0),!0;if(!oe(e))return!1;for(let n of["bash","shell","*"]){let r=e[n];if(r!==void 0){if(typeof r=="string"){r!=="allow"&&t.push(()=>!0);continue}if(!oe(r))return!1;for(let[s,o]of Object.entries(r))o!=="allow"&&t.push(St(s.replace(/\?/g,"*")))}}return!0}function Pf(e,t){if(e.permissions!==void 0||!oi(e.permission,t))return!1;for(let n of["agent","agents","mode"]){let r=e[n];if(r!==void 0){if(!oe(r))return!1;for(let s of Object.values(r))if(oe(s)&&(s.permissions!==void 0||!oi(s.permission,t)))return!1}}return!0}function tx(e){for(let t of e)for(let n of["agent","agents","mode","modes"]){let r;try{r=ai(H(t,n))}catch{continue}for(let s of r)try{if(s.endsWith(".md")&&/permission/i.test(ii(H(t,n,s),"utf8")))return!0}catch{return!0}}return!1}function nx(e){let t=H(process.env.XDG_CONFIG_HOME||H(qt(),".config"),"opencode"),n=Xr(e),r=[t,...n.map(a=>H(a,".opencode"))];if(tx(r))return"unreadable";let s=["opencode.json","opencode.jsonc","config.json"],o=[...s.map(a=>H(t,a)),process.env.OPENCODE_CONFIG,...n.flatMap(a=>[...s.slice(0,2).map(l=>H(a,l)),...s.slice(0,2).map(l=>H(a,".opencode",l))])].filter(a=>!!a),i=Jn(o,!0,Pf,!0);if(i==="unreadable")return i;for(let a of[process.env.OPENCODE_CONFIG_CONTENT,process.env.OPENCODE_PERMISSION]){if(!a)continue;let l;try{l=JSON.parse(Uf(a))}catch{return"unreadable"}if(!(a===process.env.OPENCODE_PERMISSION?oi(l,i.matchers):oe(l)&&Pf(l,i.matchers)))return"unreadable"}return i}function rx(){return Jn([H(qt(),".gemini","antigravity-cli","settings.json")],!0,(e,t)=>{let n=e.permissions;if(n===void 0)return!0;if(!oe(n))return!1;for(let r of["deny","ask"]){let s=Un(n[r]);if(!s)return!1;for(let o of s){let i=/^\s*command\s*\(([\s\S]*)\)\s*$/.exec(o);if(!i)continue;let a=i[1].trim();if(!a.startsWith("regex:")){t.push(St(a==="*"?"*":`${a} *`));continue}let l;try{l=new RegExp(a.slice(6))}catch{return!1}t.push(c=>ui(l,c))}}return!0},!1)}function oe(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function Jf(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function sx(e){let t=e.trim().replace(/\s+/g," "),n=t.endsWith(" *")&&t.length>2,r=(n?t.slice(0,-2):t).split("*").map(Jf).join("[\\s\\S]*");return new RegExp(`^${r}${n?"(?: [\\s\\S]*)?":""}(?= |$)`)}var ox=512;function ix(e){let t=e.replace(/['"\\]/g,"").split(/[\s;&|(){}<>`$]+/).filter(Boolean);return[t,t.map(qr)]}function ui(e,t){if(e.test(t)||e.test(t.trim().replace(/\s+/g," ")))return!0;for(let n of ix(t)){if(n.length>ox)return!0;for(let r=0;r<n.length;r++)if(e.test(n.slice(r).join(" ")))return!0}return!1}function St(e){let t=sx(e);return n=>ui(t,n)}function ax(e){let t=e.trim().replace(/:\*$/," *"),n=t.endsWith(" *"),r=n?t.slice(0,-2):t;if(!r||r.includes("*")||/\s\s|[^\S ]|^ | $/.test(r))return null;let s=new RegExp(`^${Jf(r)}${n?"(?: [\\s\\S]*)?":""}$`);return o=>s.test(o)}var lx={"claude-code":Ww,cursor:Vw,"gemini-cli":ex,opencode:nx,antigravity:rx},cx=new Set(["codex"]),Zf=/(?:^|[\s=:/~])\.(?:git|claude|vscode|idea|husky)(?=[/\s;|&)]|$)|(?:^|[\s=:/~])\.(?:bashrc|bash_profile|bash_login|bash_logout|profile|zshrc|zprofile|zshenv|zlogin|zlogout|gitconfig|gitmodules|ripgreprc|mcp\.json)(?![A-Za-z0-9_])/;function ux(e,t,n){let r=lx[e];return r?r(t??process.cwd(),n):{matchers:[],complete:!1}}function fx(e,t,n){return e==="unreadable"||Zf.test(t.replace(/['"\\]/g,""))||e.matchers.some(r=>r(t))?!1:e.complete||Hf(t,!cx.has(n))}var Gf=new Set(["default","acceptEdits","dontAsk"]);function Kf(e,t){return t.host!=="claude-code"||t.permissionMode==="bypassPermissions"?!0:e!=="unreadable"&&e.allowsEverything===!0&&Gf.has(t.permissionMode??"")}function dx(e,t){let n="pathEnv"in e?e.pathEnv:process.env.PATH,r;return s=>e.host!=="claude-code"?Yt(s,e.cwd,n):(r??=Sf(t.configDir),!Yt(s,e.cwd,n)&&!r.paths.some(o=>Yt(s,e.cwd,o))?!1:s.includes("/")||!vf(s,r))}var px=/^[^\s;&|<>()$`\\{}*?[\]~#!]+(?: [^\s;&|<>()$`\\{}*?[\]~#!]+)*$/;function mx(e,t,n){return n.host!=="claude-code"||e==="unreadable"||Kf(e,n)||!Gf.has(n.permissionMode??"")||!px.test(t)||Zf.test(t.replace(/['"]/g,""))||(e.guards??[]).some(r=>r(t))?null:(e.trustedAllow??[]).find(r=>r.matches(t))?.rule??null}function Wf(e,t,n,r){if(!n||/["\\$`;&|<>(){}]|'\\''/.test(n))return null;let s=t.claudeDirs??Qr(),o=ux(t.host,t.cwd,s),i=mx(o,e,t),a=i||fx(o,e,t.host)?ci(e,n,dx(t,s)):e;return a!==e&&o!=="unreadable"&&(i?(o.guards??[]).some(l=>l(a)):o.matchers.some(l=>l(a))||(o.allow??[]).some(l=>l(a)&&!l(e)))&&(a=e),r(t.sessionId,a!==e),a===e?null:i?{command:a,allowedBy:i}:Kf(o,t)?{command:a}:null}function Xe(e,t,n,r){return Wf(e,t,n,r)?.command??null}B();gn();Ln();ko();import{existsSync as Fx,writeFileSync as Lx,appendFileSync as jx,statSync as Hx,constants as Xf}from"node:fs";import{lstat as Bx,open as Ux}from"node:fs/promises";import{basename as zx,dirname as Jx,isAbsolute as Zx,join as rd}from"node:path";B();xe();import{readFileSync as hx}from"node:fs";import{join as gx}from"node:path";function Vf(){if(ge())return!1;try{return JSON.parse(hx(gx(x(),"settings-cache.json"),"utf8")).enabled!==!1}catch{return!0}}B();import{createHash as yx}from"node:crypto";import{appendFileSync as bx,chmodSync as kx,mkdirSync as _x,readFileSync as wx,rmSync as xx,statSync as Sx}from"node:fs";import{join as Yf}from"node:path";var vx=256*1024,Ex=80;function Tx(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Yf(x(),"sessions",`${t}.seen`)}function fi(e){return e.replace(/[\t\r\n]+/g," ").trim().slice(0,Ex)}function di(e,t,n,r){try{let s=Tx(e),o=fi(t),i=yx("sha256").update(n).digest("hex").slice(0,32),a="";try{a=wx(s,"utf8")}catch{}for(let l of a.split(`
118
+ `)){let[c,u,f]=l.split(" ");if(c===o&&u===i)return{cmd:f??""}}_x(Yf(x(),"sessions"),{recursive:!0,mode:448}),bx(s,`${o} ${i} ${fi(r)}
119
+ `,{mode:384}),kx(s,384),Sx(s).size>vx&&xx(s,{force:!0})}catch{}return null}function pi(e,t){return`[same output as \`${fi(e)}\` earlier in this session, unchanged, ~${Math.round(t/4)} tokens]`}$n();Xo();function Q(e,t){let n=e[t];return typeof n=="string"&&n?n:null}function Zn(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function Rx(e){return Q(e,"prompt_id")||Q(e,"scratchpad_dir")?!0:Zn(e.effort)}function Ax(e){return Q(e,"tool_use_id")?.startsWith("toolu_")===!0||/^claude/i.test(Q(e,"model")??"")}var $x=new Set(["BeforeTool","AfterTool","BeforeAgent","AfterAgent","BeforeModel","AfterModel","BeforeToolSelection"]),Cx=new Set(["preToolUse","postToolUse","beforeShellExecution","afterShellExecution","beforeSubmitPrompt","sessionStart","sessionEnd","stop"]),Ox=new Set(["pre_tool","post_tool"]),Ix=new Set(["before_tool_call","after_tool_call"]),Px=new Set(["runTerminalCommand","run_in_terminal"]),Nx=[["codex",e=>Q(e,"turn_id")!==null],["claude-code",Rx],["cursor",e=>Q(e,"cursor_version")!==null||Q(e,"generation_id")!==null||Q(e,"conversation_id")!==null||Array.isArray(e.workspace_roots)||Cx.has(Q(e,"hook_event_name")??"")],["gemini-cli",e=>$x.has(Q(e,"hook_event_name")??"")],["qwen-code",e=>e.hook_event_name==="PreToolUse"&&e.tool_name==="run_shell_command"],["vibe",e=>Ox.has(Q(e,"hook_event_name")??"")],["antigravity",e=>Zn(e.toolCall)],["copilot",e=>Q(e,"toolName")!==null&&"toolArgs"in e||Px.has(Q(e,"tool_name")??"")],["grok",e=>e.toolName==="run_terminal_command"||e.tool_name==="run_terminal_command"||Zn(e.toolInput)&&!("toolArgs"in e)],["droid",e=>e.tool_name==="Execute"],["trae",e=>e.tool_name==="RunCommand"],["crush",e=>e.hook_event_name===void 0&&Q(e,"event")!==null&&!Ix.has(Q(e,"event"))]],Dx=new Set(["codex","antigravity"]);function Mx(e){return Zn(e)?Nx.filter(([,t])=>t(e)).map(([t])=>t):[]}function mi(e,t){if(!Zn(e))return null;let n=Mx(e);return n.length>1?null:n.length===1?n[0]:Ax(e)&&Dx.has(t)?"claude-code":t==="codex"?null:t}function qf(e,t){let n=mi(e,t);return n==="claude-code"||n==="codex"?n:null}var Gx=new Set(["Read","Grep","Glob","Bash"]),es=10*1024*1024,sd=1024,Kx=40,Wx=25e3,Vx=/^… \(?\d+ more lines omitted\)?$/,Yx=/^\[tkr restore [0-9a-f]{8,64}\]$/,qx=/^\d+F \d+D(?: in .+\/)?:$|^\S.*\/ \(\d+(?:, \*\.[^)]+)?\): \S/,Xx=/^… \(\d+ more lines omitted\)$/m;function Qx(e){return Vx.test(e)||Yx.test(e)||e==="[YOLO: omitted]"}function od(e,t,n){if(!e||typeof e=="string")return t;if(e.file?.content!=null)return{...e,file:{...e.file,content:t}};if(e.content!=null)return{...e,content:t};if(e.output!=null)return{...e,output:t};if(e.stdout!=null||e.stderr!=null){let{persistedOutputPath:r,persistedOutputSize:s,...o}=e;return{...o,stdout:t,stderr:""}}if(Array.isArray(e.filenames)){let r=new Set(e.filenames),s=n==="Glob",o=t.split(`
120
+ `).filter(i=>r.has(i)||Qx(i)||s&&qx.test(i));return{...e,filenames:o}}return t}function eS(e,t,n){return JSON.stringify({...n?{systemMessage:n}:{},hookSpecificOutput:{hookEventName:"PostToolUse",updatedToolOutput:od(e.tool_response,t,e.tool_name)}})}var tS=100,yi=null;function nS(){let e=yi;return yi=null,e}function Qf(e){let t=Math.round(e/4);return t>=1e3?`${(t/1e3).toFixed(1)}K`:String(t)}function id(e,t){try{if(Math.round((e-t)/4)<tS)return;let n=rd(x(),"first-save");if(Fx(n))return;Lx(n,String(Date.now())),yi=`Tokmizer just optimized its first command output here: ~${Qf(e)} tokens down to ~${Qf(t)}. Watch it add up: /tkr-gain`}catch{}}function ed(e){return e?typeof e=="string"?e:e.file?.content!=null?e.file.content:e.content!=null?e.content:e.output!=null?e.output:e.stdout!=null||e.stderr!=null?[e.stdout??"",e.stderr??""].filter(Boolean).join(`
117
121
  `):Array.isArray(e.filenames)?e.filenames.join(`
118
- `):null:""}var Nx=64*1024;function Dx(e,t){try{if(!t||typeof t!="object")return;let n=Zf(S(),"drift.jsonl");try{if(gx(n).size>Nx)return}catch{}let r=Object.keys(t).slice(0,12);hx(n,`${JSON.stringify({t:Math.floor(Date.now()/1e3),tool:e,keys:r})}
119
- `)}catch{}}function Mx(e){let t=e.tool_name??"tool",n=e.tool_input??{};return n.command?n.command.split(`
120
- `)[0].trim().slice(0,200):n.file_path?`${t.toLowerCase()} ${n.file_path}`:n.pattern?`${t.toLowerCase()} ${n.pattern}`:n.path?`${t.toLowerCase()} ${n.path}`:t.toLowerCase()}var Fx=/'(?:[A-Za-z]:)?\/[^']*\/(?:tkr-exec(?:\.exe|\.js)?'|tkr(?:\.exe)?' exec)(?:\\'')?(?:\s|$)/,Lx=/;|\|\||\n|(?<![>&|])&(?![&>])/,jx=new Set(["cd","export","set","unset","true",":"]),Hx=/^(?:\S*\/)?(?:sh|bash|zsh|dash|ksh)\s+-[elux]*c[elux]*\s+'([^']*)'$/,Bx=/(?:^|[\s;&|(])(?:[A-Za-z]:)?\/\S*\/tkr-exec(?:\.exe|\.js)?\s|(?:^|[;&|(\n])\s*(?:\S*\/)?tkr-exec(?:\.exe|\.js)?\s/;function Yf(e){return Fx.test(e)||Bx.test(e)}function qf(e,t,n=0){let r=Yt(e);for(let s=0;s<r.length;s++){let o=r[s];if(o.kind==="sep")continue;let i=o.text.trim();if(!i||i===t)continue;let a=r[s+1];if(a?.kind==="sep"&&(a.text==="|"||a.text==="|&")||jx.has(i.split(/\s+/)[0]))continue;let l=n<3?Hx.exec(i):null;if(!(l&&qf(l[1],t,n+1)))return!1}return!0}function Ux(e){let t=[],n="",r=!1;for(let s=0;s<e.length;s++){let o=e[s];if(o==="'"){let i=e.indexOf("'",s+1);if(i===-1)return null;n+=e.slice(s+1,i),r=!0,s=i}else if(o==='"'){let i=s+1;for(;i<e.length&&e[i]!=='"';i++)e[i]==="\\"&&/["\\$`]/.test(e[i+1]??"")&&i++,n+=e[i];if(i>=e.length)return null;r=!0,s=i}else if(o==="\\"){if(s+1>=e.length)return null;n+=e[++s],r=!0}else/\s/.test(o)?(r&&t.push(n),n="",r=!1):(n+=o,r=!0)}return r&&t.push(n),t.length>0?t:null}function Jf(e){let t="";for(let n=0;n<e.length;n++){let r=e[n];if(t==="'"){r==="'"&&(t="");continue}if(r==="\\"){n++;continue}if(r==="$"||r==="`")return!0;r==='"'?t=t?"":'"':r==="'"&&!t&&(t="'")}return!1}async function zx(e){if(!e||typeof e!="object"||e.persistedOutputPath==null)return;let{stdout:t,persistedOutputPath:n,persistedOutputSize:r}=e;if(typeof t!="string"||typeof n!="string"||typeof r!="number"||!Number.isFinite(r))return null;if(!(Buffer.byteLength(t,"utf8")>=r||t.length>=r)){if(!t||e.stderr!=null&&e.stderr!==""||e.interrupted===!0||e.isImage===!0||!wx(n)||kx(_x(n))!=="tool-results")return null;try{let s=await yx(n);if(!s.isFile()||s.size>Vr)return null;let o=await bx(n,Bf.O_RDONLY|(Bf.O_NOFOLLOW??0));try{let i=await o.stat();if(!i.isFile()||i.size>Vr||i.size!==s.size)return null;let a=Buffer.alloc(i.size),{bytesRead:l}=await o.read(a,0,i.size,0);if(l!==i.size)return null;let c=a.toString("utf8");return a.length!==r&&c.length!==r?null:c.startsWith(t)?c:null}finally{await o.close()}}catch{return null}}}function Jx(e,t){if(!t||typeof t!="object"||typeof t.stdout!="string"||t.stderr!=null&&typeof t.stderr!="string"||t.interrupted===!0||t.isImage===!0||t.backgroundTaskId!=null||Lx.test(e)||Jf(e))return null;let n=[];if(si(e,"tkr-exec",()=>!0,s=>n.push(s)),n.length!==1||Jf(n[0])||!qf(e,n[0])||Yt(e).some(s=>s.kind==="sep"&&s.text!=="&&"&&s.text!=="|"&&s.text!=="|&"))return null;let r=Ux(n[0]);return r?{argv:r,stdout:t.stdout,stderr:t.stderr??"",exitCode:t.returnCodeInterpretation!=null?1:0}:null}async function Gx(e,t,n,r,s){let{processCapturedOutput:o}=await Promise.resolve().then(()=>(Yo(),af)),i=null,a=k=>{i=k},l={...process.env};t.session_id?l.CLAUDE_CODE_SESSION_ID=t.session_id:delete l.CLAUDE_CODE_SESSION_ID;let c=await o({argv:e.argv,stdout:e.stdout,stderr:e.stderr,exitCode:e.exitCode,truncated:!1,stderrTruncated:!1},{yolo:n,env:l,...r.resolver?{resolver:r.resolver}:{},deferAccounting:a,cwd:t.cwd||(r.inferCwd===!1?void 0:process.cwd())}),u=i,f=[e.stdout,e.stderr].filter(Boolean).join(`
121
- `),d=Buffer.byteLength(f,"utf8");if(s==null&&c.filterId!=null&&t.session_id&&d>=Wf){let k=ai(t.session_id,t.agent_id??"main",f,(t.tool_input?.command??"").split(`
122
- `)[0]??"");if(k){let g=li(k.cmd,d);if(n)return g;let{captureOriginalForRestore:T}=await Promise.resolve().then(()=>(fi(),ui));return T(f,g)}}let m=[c.stdout,c.stderr].filter(Boolean).join(`
123
- `),p=c.stdout===e.stdout&&c.stderr===e.stderr;return s!=null&&(p||m.length>s)||(u&&(r.deferAccounting?r.deferAccounting(u):await u()),p)?null:(Vf(d,Buffer.byteLength(m,"utf8")),m)}function Zx(e){if(e==null||typeof e!="object"||Array.isArray(e))return!1;let t=e;if(t.session_id!=null&&typeof t.session_id!="string"||t.tool_name!=null&&typeof t.tool_name!="string")return!1;let n=t.tool_input;if(n==null)return!0;if(typeof n!="object"||Array.isArray(n))return!1;let r=n;return["command","file_path","pattern","path"].every(s=>r[s]==null||typeof r[s]=="string")}async function Wx(e,t={}){if(!Zx(e))return null;let n=e.tool_name==="Bash"&&!Yf(e.tool_input?.command??"")?await zx(e.tool_response):void 0;return n===null?null:n===void 0?Gf(e,t):Gf({...e,tool_response:{...e.tool_response,stdout:n}},t,vx)}async function Gf(e,t,n){let r=_e();if(!e.tool_name||!xx.has(e.tool_name))return null;let s=e.tool_name==="Bash"?e.tool_input?.command??"":"",o=Yf(s);if(/\btkr(?:\.js)?\s+restore\b/.test(s))return null;let i=await ht();if(!Lf())return null;let a=e.tool_name==="Bash"&&!o?Jx(s,e.tool_response):null;if(a)return Buffer.byteLength(a.stdout,"utf8")+Buffer.byteLength(a.stderr,"utf8")>Vr?null:Gx(a,e,r,t,n);if(e.session_id&&!o&&i?.token){let B=e.tool_input??{},ye=B.command??B.file_path??B.pattern??B.path??"";ye&&vr(e.session_id,{tool:e.tool_name,target:ye.split(`
124
- `)[0].trim()})}if(e.tool_name==="Read"&&(e.tool_input?.offset!=null||e.tool_input?.limit!=null))return null;let l=zf(e.tool_response);if(l==null)return Dx(e.tool_name,e.tool_response),null;if(!l)return null;let c=Buffer.byteLength(l,"utf8");if(c>Vr||e.tool_name==="Bash"&&c<Wf||e.tool_name==="Glob"&&l.split(`
125
- `).length<Sx||o)return null;let{loadSettingsCache:u,processOutput:f,captureForRestore:d,captureOriginalForRestore:m,FOLD_MARKER_RE:p,resolveAllowedFilters:k,gatingPlan:g,graceExceeded:T,recordEvent:x,recordTelemetry:C,recordStat:E,countedSaving:O,statCmdLabel:N,statOutcome:F,installDaemonResolver:z,closeDaemonResolver:M}=await Promise.resolve().then(()=>(fi(),ui)),Z=await u();if(!Z.enabled)return null;let{slugKey:V}=await Promise.resolve().then(()=>(Je(),Gi)),Se=i?.token?g(i):null;!t.resolver&&Se&&z(Se);let ue=i?.token?k(i.allowedFilters,T(i)):null,U=new Set(Z.filters.disabled.map(V)),J=ue&&U.size>0?new Set([...ue].filter(B=>!U.has(B))):ue,G=Mx(e),K=`${e.tool_name.toLowerCase()}-tool`,W=`${K}: ${G}`;try{let B=await f(W,l,J,{verbosity:Z.outputVerbosity,resolver:t.resolver,yolo:r,exitCode:e.tool_name==="Bash"?void 0:0});if(B.filterId!=null&&e.tool_name==="Bash"&&e.session_id){let Ti=ai(e.session_id,e.agent_id??"main",l,s.split(`
126
- `)[0]??"");if(Ti){let Ri=li(Ti.cmd,c);return r?Ri:await m(l,Ri)}}let ye=new RegExp(p.source,"m"),sn=e.tool_name==="Bash"?N(e.tool_input?.command??""):e.tool_name,Si=e.tool_name==="Read"&&!r&&(ye.test(B.output)||Ax.test(B.output))?`${B.output}${B.output.endsWith(`
122
+ `):null:""}var rS=64*1024;function sS(e,t){try{if(!t||typeof t!="object")return;let n=rd(x(),"drift.jsonl");try{if(Hx(n).size>rS)return}catch{}let r=Object.keys(t).slice(0,12);jx(n,`${JSON.stringify({t:Math.floor(Date.now()/1e3),tool:e,keys:r})}
123
+ `)}catch{}}function oS(e){let t=e.tool_name??"tool",n=e.tool_input??{};return n.command?n.command.split(`
124
+ `)[0].trim().slice(0,200):n.file_path?`${t.toLowerCase()} ${n.file_path}`:n.pattern?`${t.toLowerCase()} ${n.pattern}`:n.path?`${t.toLowerCase()} ${n.path}`:t.toLowerCase()}var iS=/'(?:[A-Za-z]:)?\/[^']*\/(?:tkr-exec(?:\.exe|\.js)?'|tkr(?:\.exe)?' exec)(?:\\'')?(?:\s|$)/,aS=/;|\|\||\n|(?<![>&|])&(?![&>])/,lS=new Set(["cd","export","set","unset","true",":"]),cS=/^(?:\S*\/)?(?:sh|bash|zsh|dash|ksh)\s+-[elux]*c[elux]*\s+'([^']*)'$/,uS=/(?:^|[\s;&|(])(?:[A-Za-z]:)?\/\S*\/tkr-exec(?:\.exe|\.js)?\s|(?:^|[;&|(\n])\s*(?:\S*\/)?tkr-exec(?:\.exe|\.js)?\s/;function ad(e){return iS.test(e)||uS.test(e)}function ld(e,t,n=0){let r=Xt(e);for(let s=0;s<r.length;s++){let o=r[s];if(o.kind==="sep")continue;let i=o.text.trim();if(!i||i===t)continue;let a=r[s+1];if(a?.kind==="sep"&&(a.text==="|"||a.text==="|&")||lS.has(i.split(/\s+/)[0]))continue;let l=n<3?cS.exec(i):null;if(!(l&&ld(l[1],t,n+1)))return!1}return!0}function fS(e){let t=[],n="",r=!1;for(let s=0;s<e.length;s++){let o=e[s];if(o==="'"){let i=e.indexOf("'",s+1);if(i===-1)return null;n+=e.slice(s+1,i),r=!0,s=i}else if(o==='"'){let i=s+1;for(;i<e.length&&e[i]!=='"';i++)e[i]==="\\"&&/["\\$`]/.test(e[i+1]??"")&&i++,n+=e[i];if(i>=e.length)return null;r=!0,s=i}else if(o==="\\"){if(s+1>=e.length)return null;n+=e[++s],r=!0}else/\s/.test(o)?(r&&t.push(n),n="",r=!1):(n+=o,r=!0)}return r&&t.push(n),t.length>0?t:null}function td(e){let t="";for(let n=0;n<e.length;n++){let r=e[n];if(t==="'"){r==="'"&&(t="");continue}if(r==="\\"){n++;continue}if(r==="$"||r==="`")return!0;r==='"'?t=t?"":'"':r==="'"&&!t&&(t="'")}return!1}async function dS(e){if(!e||typeof e!="object"||e.persistedOutputPath==null)return;let{stdout:t,persistedOutputPath:n,persistedOutputSize:r}=e;if(typeof t!="string"||typeof n!="string"||typeof r!="number"||!Number.isFinite(r))return null;if(!(Buffer.byteLength(t,"utf8")>=r||t.length>=r)){if(!t||e.stderr!=null&&e.stderr!==""||e.interrupted===!0||e.isImage===!0||!Zx(n)||zx(Jx(n))!=="tool-results")return null;try{let s=await Bx(n);if(!s.isFile()||s.size>es)return null;let o=await Ux(n,Xf.O_RDONLY|(Xf.O_NOFOLLOW??0));try{let i=await o.stat();if(!i.isFile()||i.size>es||i.size!==s.size)return null;let a=Buffer.alloc(i.size),{bytesRead:l}=await o.read(a,0,i.size,0);if(l!==i.size)return null;let c=a.toString("utf8");return a.length!==r&&c.length!==r?null:c.startsWith(t)?c:null}finally{await o.close()}}catch{return null}}}function pS(e,t){if(!t||typeof t!="object"||typeof t.stdout!="string"||t.stderr!=null&&typeof t.stderr!="string"||t.interrupted===!0||t.isImage===!0||t.backgroundTaskId!=null||aS.test(e)||td(e))return null;let n=[];if(ci(e,"tkr-exec",()=>!0,s=>n.push(s)),n.length!==1||td(n[0])||!ld(e,n[0])||Xt(e).some(s=>s.kind==="sep"&&s.text!=="&&"&&s.text!=="|"&&s.text!=="|&"))return null;let r=fS(n[0]);return r?{argv:r,stdout:t.stdout,stderr:t.stderr??"",exitCode:t.returnCodeInterpretation!=null?1:0}:null}async function mS(e,t,n,r,s){let{processCapturedOutput:o}=await Promise.resolve().then(()=>(ti(),bf)),i=null,a=k=>{i=k},l={...process.env};t.session_id?l.CLAUDE_CODE_SESSION_ID=t.session_id:delete l.CLAUDE_CODE_SESSION_ID;let c=await o({argv:e.argv,stdout:e.stdout,stderr:e.stderr,exitCode:e.exitCode,truncated:!1,stderrTruncated:!1},{yolo:n,env:l,...r.resolver?{resolver:r.resolver}:{},deferAccounting:a,cwd:t.cwd||(r.inferCwd===!1?void 0:process.cwd())}),u=i,f=[e.stdout,e.stderr].filter(Boolean).join(`
125
+ `),d=Buffer.byteLength(f,"utf8");if(s==null&&c.filterId!=null&&t.session_id&&d>=sd){let k=di(t.session_id,t.agent_id??"main",f,(t.tool_input?.command??"").split(`
126
+ `)[0]??"");if(k){let g=pi(k.cmd,d);if(n)return g;let{captureOriginalForRestore:T}=await Promise.resolve().then(()=>(gi(),hi));return T(f,g)}}let p=[c.stdout,c.stderr].filter(Boolean).join(`
127
+ `),m=c.stdout===e.stdout&&c.stderr===e.stderr;return s!=null&&(m||p.length>s)||(u&&(r.deferAccounting?r.deferAccounting(u):await u()),m)?null:(id(d,Buffer.byteLength(p,"utf8")),p)}function hS(e){if(e==null||typeof e!="object"||Array.isArray(e))return!1;let t=e;if(t.session_id!=null&&typeof t.session_id!="string"||t.tool_name!=null&&typeof t.tool_name!="string")return!1;let n=t.tool_input;if(n==null)return!0;if(typeof n!="object"||Array.isArray(n))return!1;let r=n;return["command","file_path","pattern","path"].every(s=>r[s]==null||typeof r[s]=="string")}async function gS(e,t={}){if(!hS(e))return null;let n=e.tool_name==="Bash"&&!ad(e.tool_input?.command??"")?await dS(e.tool_response):void 0;return n===null?null:n===void 0?nd(e,t):nd({...e,tool_response:{...e.tool_response,stdout:n}},t,Wx)}async function nd(e,t,n){let r=we();if(!e.tool_name||!Gx.has(e.tool_name))return null;let s=e.tool_name==="Bash"?e.tool_input?.command??"":"",o=ad(s);if(/\btkr(?:\.js)?\s+restore\b/.test(s))return null;let i=await yt();if(!Vf())return null;let a=e.tool_name==="Bash"&&!o?pS(s,e.tool_response):null;if(a)return Buffer.byteLength(a.stdout,"utf8")+Buffer.byteLength(a.stderr,"utf8")>es?null:mS(a,e,r,t,n);if(e.session_id&&!o&&i?.token){let L=e.tool_input??{},z=L.command??L.file_path??L.pattern??L.path??"";z&&Ar(e.session_id,{tool:e.tool_name,target:z.split(`
128
+ `)[0].trim()})}if(e.tool_name==="Read"&&(e.tool_input?.offset!=null||e.tool_input?.limit!=null))return null;let l=ed(e.tool_response);if(l==null)return sS(e.tool_name,e.tool_response),null;if(!l)return null;let c=Buffer.byteLength(l,"utf8");if(c>es||e.tool_name==="Bash"&&c<sd||e.tool_name==="Glob"&&l.split(`
129
+ `).length<Kx||o)return null;let{loadSettingsCache:u,processOutput:f,captureForRestore:d,captureOriginalForRestore:p,FOLD_MARKER_RE:m,resolveAllowedFilters:k,gatingPlan:g,graceExceeded:T,recordEvent:S,recordTelemetry:C,recordStat:E,countedSaving:O,statCmdLabel:P,statOutcome:F,installDaemonResolver:J,closeDaemonResolver:D}=await Promise.resolve().then(()=>(gi(),hi)),G=await u();if(!G.enabled)return null;let{slugKey:X}=await Promise.resolve().then(()=>(Ge(),Yi)),be=i?.token?g(i):null;!t.resolver&&be&&J(be);let ue=i?.token?k(i.allowedFilters,T(i)):null,Z=new Set(G.filters.disabled.map(X)),W=ue&&Z.size>0?new Set([...ue].filter(L=>!Z.has(L))):ue,U=oS(e),K=`${e.tool_name.toLowerCase()}-tool`,fe=`${K}: ${U}`;try{let L=await f(fe,l,W,{verbosity:G.outputVerbosity,resolver:t.resolver,yolo:r,exitCode:e.tool_name==="Bash"?void 0:0});if(L.filterId!=null&&e.tool_name==="Bash"&&e.session_id){let Oi=di(e.session_id,e.agent_id??"main",l,s.split(`
130
+ `)[0]??"");if(Oi){let Ii=pi(Oi.cmd,c);return r?Ii:await p(l,Ii)}}let z=new RegExp(m.source,"m"),an=e.tool_name==="Bash"?P(e.tool_input?.command??""):e.tool_name,Ai=e.tool_name==="Read"&&!r&&(z.test(L.output)||Xx.test(L.output))?`${L.output}${L.output.endsWith(`
127
131
  `)?"":`
128
- `}${$x}`:B.output,ie;if(B.filteredBytes>=B.rawBytes?ie=null:r?ie=B.output:e.tool_name==="Glob"||ye.test(B.output)?ie=await m(l,Si,void 0,{label:sn}):ie=await d(B.droppedTail??null,Si,void 0,{raw:l,label:sn}),r&&ie!=null&&(ie=zf(Kf(e.tool_response,ie,e.tool_name))),n!=null&&(ie==null||ie.length>n))return null;let fd=ie==null?B.rawBytes:Buffer.byteLength(ie,"utf8"),ns=Dr().host,qe=O(B.rawBytes,fd,Nr(ns));ie!=null&&Vf(qe.raw,qe.filtered);let dd=e.cwd||(t.inferCwd===!1?void 0:process.cwd()),md=e.tool_name==="Bash"?"sh":void 0,rs=t.deferAccounting,vi=!1,Ei=async()=>{vi||(vi=!0,await x({cmd:K,filterId:B.filterId,rawBytes:B.rawBytes,filteredBytes:B.filteredBytes,plan:Se}),E(qe.raw,qe.filtered,void 0,!1,ns,md,sn,dd,F(B)),await C({cmd:K,tokensSaved:Math.round((qe.raw-qe.filtered)/4),rawTokens:Math.round(qe.raw/4),optimized:B.filterId!=null,telemetryOptIn:Z.telemetryOptIn&&(!rs||(await u()).telemetryOptIn),host:ns}))};return rs?rs(Ei):await Ei(),ie}finally{t.resolver||M()}}async function Xf(e,t={}){if(Hf(e,"claude-code")!=="claude-code")return"";let n=await Wx(e,t);return n?Ox(e,n,Px()??void 0):""}we();we();var mi=JSON.stringify({permission:"allow"});function Qf(e,t=xe("cursor"),n=se){if(e.tool_name!=="Shell")return mi;let r=e.tool_input??{},s=r.command;if(typeof s!="string"||!s)return mi;let o=typeof r.working_directory=="string"?r.working_directory:void 0,i=Ye(s,{host:"cursor",sessionId:e.conversation_id??"unknown",cwd:o},he()?null:t,n);return i?JSON.stringify({permission:"allow",updated_input:{...r,command:i}}):mi}we();var Yr="{}";function ed(e,t=xe("gemini-cli"),n=se){if(e.hook_event_name!=="BeforeTool"||e.tool_name!=="run_shell_command")return Yr;let r=e.tool_input??{};if(r.is_background)return Yr;let s=r.command;if(typeof s!="string"||!s)return Yr;let o=typeof e.cwd=="string"?e.cwd:void 0,i=Ye(s,{host:"gemini-cli",sessionId:e.session_id??"unknown",cwd:o},he()?null:t,n);return i?JSON.stringify({hookSpecificOutput:{tool_input:{command:i}}}):Yr}$e();we();function Xt(e,t,n="unknown",r=xe(t),s=se){return e?Ye(e,{host:t,sessionId:n},he()?null:r,s):null}var Kx=new Set(["bash","file_system.bash"]),hi=JSON.stringify({decision:"allow"});function td(e,t=(n,r)=>Xt(n,"vibe",r)){if(!L(e)||e.hook_event_name!=="pre_tool"||typeof e.tool_name!="string"||!Kx.has(e.tool_name))return"";let n=e.tool_input;if(!L(n)||typeof n.command!="string"||!n.command)return"";let r=t(n.command,typeof e.session_id=="string"?e.session_id:"unknown");return r?JSON.stringify({hook_specific_output:{tool_input:{...n,command:r}}}):""}function nd(e,t=(n,r)=>Xt(n,"antigravity",r)){if(!L(e)||!L(e.toolCall)||e.toolCall.name!=="run_command")return hi;let n=e.toolCall.args;if(!L(n)||typeof n.CommandLine!="string"||!n.CommandLine)return hi;let r=t(n.CommandLine,typeof e.conversationId=="string"?e.conversationId:"unknown");return r?JSON.stringify({decision:"allow",overwrite:{CommandLine:r}}):hi}we();var Fe="{}",Vx=new Set(["runTerminalCommand","run_in_terminal","Bash","bash"]),Yx=["run_in_background","is_background","isBackground"];function qr(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function qx(e){let t=e.session_id??e.sessionId;return typeof t=="string"&&t?t:"unknown"}function Xx(e,t){let n=e.cwd??t.cwd??t.workdir??t.working_directory;return typeof n=="string"&&n?n:void 0}function Xr(e,t,n,r,s){if(!qr(t)||Yx.some(i=>t[i]===!0))return null;let o=t.command;return typeof o!="string"||!o?null:Ye(o,{host:e,sessionId:qx(n),cwd:Xx(n,t)},he()?null:r,s)}function en(e,t){return JSON.stringify({hookSpecificOutput:{hookEventName:"PreToolUse",updatedInput:{...e,command:t}}})}function Qx(e){if(qr(e))return e;if(typeof e!="string")return null;try{let t=JSON.parse(e);return qr(t)?t:null}catch{return null}}function eS(e,t,n){if(typeof e.tool_name=="string"){if(!Vx.has(e.tool_name))return Fe;let o=e.tool_input,i=Xr("copilot",o,e,t,n);return i?en(o,i):Fe}if(e.toolName!=="bash")return Fe;let r=Qx(e.toolArgs),s=Xr("copilot",r,e,t,n);return s?JSON.stringify({modifiedArgs:{...r,command:s}}):Fe}function Qt(e,t,n){return(r,s,o)=>{if(r.tool_name!==t)return Fe;let i=r.tool_input,a=Xr(e,i,r,s,o);return a?n(i,a):Fe}}var tS=new Set(["run_terminal_command","Bash","bash"]);function nS(e,t,n){let r=e.toolName??e.tool_name;if(typeof r!="string"||!tS.has(r))return Fe;let s=e.toolInput??e.tool_input,o=Xr("grok",s,e,t,n);return o?en(s,o):Fe}var rS={copilot:eS,droid:Qt("droid","Execute",en),trae:Qt("trae","RunCommand",en),"qwen-code":Qt("qwen-code","run_shell_command",en),crush:Qt("crush","bash",(e,t)=>JSON.stringify({updated_input:{command:t}})),junie:Qt("junie","Bash",(e,t)=>JSON.stringify({updatedInput:{...e,command:t}})),zcode:Qt("zcode","Bash",en),grok:nS};function rd(e,t,n=xe(e),r=se){return qr(t)?rS[e](t,n,r):Fe}function tn(e){return he()?null:xe(e)}function sS(e,t,n={}){let r=n.recordUsage??se;switch(e){case"claude-code":case"codex":return t.hook_event_name!==void 0&&t.hook_event_name!=="PreToolUse"?"":Cf(t,e,tn(e),r,n.claudeDirs??Kr(),n.pathEnv??process.env.PATH)??"";case"cursor":return Qf(t,tn(e),r);case"gemini-cli":return ed(t,tn(e),r);case"vibe":return td(t,(s,o)=>Xt(s,"vibe",o,tn(e),r));case"antigravity":return nd(t,(s,o)=>Xt(s,"antigravity",o,tn(e),r));default:return rd(e,t,tn(e),r)}}function qt(e,t,n={}){let r=ci(e,t);return r?sS(r,e,n):n.fallback??""}Dn();var Qr=class{constructor(t,n,r=()=>{}){this.limit=t;this.receive=n;this.reserve=r}limit;receive;reserve;header=Buffer.alloc(4);headerBytes=0;body=null;bodyBytes=0;closed=!1;push(t){if(this.closed)throw new Error("reader closed");let n=0;try{for(;n<t.length&&!this.closed;){if(!this.body){let s=Math.min(4-this.headerBytes,t.length-n);if(t.copy(this.header,this.headerBytes,n,n+s),this.headerBytes+=s,n+=s,this.headerBytes!==4)continue;let o=this.header.readUInt32BE(0);if(o>this.limit())throw new Error("frame limit exceeded");this.reserve(o),this.body=Buffer.allocUnsafe(o),this.bodyBytes=0}let r=Math.min(this.body.length-this.bodyBytes,t.length-n);if(t.copy(this.body,this.bodyBytes,n,n+r),this.bodyBytes+=r,n+=r,this.bodyBytes===this.body.length){let s=this.body;this.body=null,this.headerBytes=0,this.bodyBytes=0,this.receive(s)}}}catch(r){throw this.close(),r}}close(){this.closed=!0,this.body=null,this.headerBytes=0,this.bodyBytes=0}};function nn(e){let t=Buffer.allocUnsafe(4);return t.writeUInt32BE(e.length),Buffer.concat([t,e])}function sd(e){if(e.length<16)throw new Error("incomplete captured header");let t=e.readUInt32BE(0),n=e.readUInt32BE(4),r=e.readUInt32BE(8),s=e.readUInt32BE(12);if(t>255||n>3||r>10485760||s>10485760||e.length!==16+r+s)throw new Error("invalid captured output");return{stdout:e.subarray(16,16+r).toString("utf8"),stderr:e.subarray(16+r).toString("utf8"),exitCode:t,truncated:(n&1)!==0,stderrTruncated:(n&2)!==0}}we();var uS={"claude-code":"CLAUDECODE",codex:"CODEX_CLI",cursor:"CURSOR_VERSION",cline:"CLINE_VERSION",aider:"AIDER_VERSION","gemini-cli":"GEMINI_CLI_VERSION",windsurf:"WINDSURF_VERSION",copilot:"GITHUB_COPILOT_VERSION","qwen-code":"QWEN_CODE",crush:"CRUSH",droid:"",trae:"",junie:"",zcode:"",grok:"",kilo:"",shell:""},fS=h.object({protocol:h.literal(2),version:h.string().min(1).max(64),token:h.string().regex(/^[0-9a-f]{64}$/),home:h.string().min(1).max(4096),argv:h.array(h.string().max(32768).refine(e=>!e.includes("\0"))).min(1).max(4096),host:h.enum(Io),sessionId:h.string().max(256).optional(),restoreDisabled:h.boolean(),restoreMaxBytes:h.number().int().positive().max(10485760).optional(),timeoutMs:h.number().int().positive().max(864e5)}).strict(),dS=h.object({kind:h.literal("pre-tool-use"),protocol:h.literal(2),version:h.string().min(1).max(64),token:h.string().regex(/^[0-9a-f]{64}$/),home:h.string().min(1).max(4096),host:h.enum(["claude-code","codex"]),payload:h.record(h.string(),h.unknown()),claudeProjectDir:h.string().min(1).max(4096).optional(),claudeConfigDir:h.string().min(1).max(4096).optional(),path:h.string().min(1).max(32768).optional()}).strict(),mS=h.object({kind:h.literal("post-tool-use"),protocol:h.literal(2),version:h.string().min(1).max(64),token:h.string().regex(/^[0-9a-f]{64}$/),home:h.string().min(1).max(4096),host:h.enum(["claude-code"])}).strict();function rn(e){if(!e)return!1;let t=Date.now()-e.signedAt;return t>=0&&t<=gs()}async function id(e){if(!/^[0-9a-f]{64}$/.test(e.token))throw new Error("invalid processing authentication");let t=process.platform==="win32";if(t){if(!/^\\\\\.\\pipe\\tokmizer-[A-Za-z0-9._-]+$/.test(e.path))throw new Error("unsafe processing pipe")}else{let f=iS(lS(e.path));if(!f.isDirectory()||f.uid!==process.getuid?.()||(f.mode&63)!==0)throw new Error("unsafe processing directory")}let n=aS(S()),r=Buffer.from(e.token,"hex"),s=new Set,o=new Set,i=0,a=!1,l=e.maxConnections??4,c=e.maxBufferedBytes??48*1024*1024,u=cS(f=>{if(a||s.size>=l){f.destroy();return}s.add(f);let d="prepare",m=null,p=!1,k=0,g=!1,T,x,C=()=>{i-=k,k=0},E=()=>{clearTimeout(x),F.close(),g||C(),d="closed",f.destroy()},O=z=>{clearTimeout(x),x=setTimeout(E,z),x.unref()},N=z=>{f.write(nn(Buffer.from(JSON.stringify(z))))},F=new Qr(()=>d==="prepare"?65536:d==="capture"||d==="hook-payload"?20971536:d==="delivery"?1:-1,z=>{if(d==="delivery"){if(z.length!==1||z[0]!==1)throw new Error("invalid delivery receipt");d="accounting",e.onActivity?.(),g=!0;let U=(T?.()??Promise.resolve()).then(()=>{f.destroyed||f.end(nn(Buffer.from([1])))}).catch(()=>E()).finally(()=>{g=!1,f.destroyed&&(C(),s.delete(f)),o.delete(U)});o.add(U);return}if(d==="hook-payload"){let U=e.getRuntime();if(!rn(U)){E();return}let J=JSON.parse(z.toString("utf8"));if(!J||typeof J!="object"||Array.isArray(J))throw new Error("invalid hook payload");e.onActivity?.(),d="processing",g=!0,O(e.processingTimeoutMs??5e3);let G=Xf(J,{inferCwd:!1,deferAccounting:K=>{T=K},resolver:async(K,W)=>{if(!rn(U))throw new Error("expired processing rules");return U.selectFor(K,"pro",W?[...W]:void 0)}}).then(K=>{if(f.destroyed)return;let W=Buffer.from(JSON.stringify({ok:!0,protocol:2,output:K}));if(W.length>20971536)throw new Error("hook response limit");C(),d="delivery",O(e.processingTimeoutMs??5e3),f.write(nn(W))}).catch(()=>E()).finally(()=>{g=!1,f.destroyed&&(C(),s.delete(f)),o.delete(G)});o.add(G);return}if(d==="prepare"){let U=JSON.parse(z.toString("utf8"));if(U?.kind==="post-tool-use"){let G=mS.parse(U);if(!yi(r,Buffer.from(G.token,"hex"))||G.version!==e.version||G.home!==n||!rn(e.getRuntime())){E();return}e.onActivity?.(),C(),d="hook-payload",O(e.prepareTimeoutMs??1e3),N({ok:!0,protocol:2});return}if(U?.kind==="pre-tool-use"){let G=dS.parse(U);if(!yi(r,Buffer.from(G.token,"hex"))||G.version!==e.version||G.home!==n){E();return}e.onActivity?.();let K,W=qt(G.payload,G.host,{recordUsage:(ye,sn)=>{K={sessionId:ye,routed:sn}},claudeDirs:{projectDir:G.claudeProjectDir,configDir:G.claudeConfigDir},pathEnv:G.path??""}),B=Buffer.from(JSON.stringify({ok:!0,protocol:2,output:W}));if(B.length>1024*1024)throw new Error("hook response limit");T=async()=>{let ye=K;K=void 0,ye&&se(ye.sessionId,ye.routed)},C(),d="delivery",O(e.processingTimeoutMs??5e3),f.write(nn(B));return}let J=fS.parse(U);if(!yi(r,Buffer.from(J.token,"hex"))||J.version!==e.version||J.home!==n||!rn(e.getRuntime())){E();return}m=J,e.onActivity?.(),p=_e(),C(),d="capture",O(J.timeoutMs+5e3),N({ok:!0,protocol:2,yolo:p});return}if(d!=="capture"||!m)throw new Error("unexpected processing frame");let M=sd(z);e.onActivity?.();let Z=e.getRuntime();if(!rn(Z)){E();return}d="processing",g=!0,O(e.processingTimeoutMs??5e3);let V={},Se=uS[m.host];Se?V[Se]="1":m.host!=="shell"&&(V.TOKMIZER_HOST=m.host),m.sessionId!==void 0&&(V.CLAUDE_CODE_SESSION_ID=m.sessionId),V.TOKMIZER_CCR_DISABLED=m.restoreDisabled?"1":"0",m.restoreMaxBytes!==void 0&&(V.TOKMIZER_CCR_ENTRY_MAX_BYTES=String(m.restoreMaxBytes));let ue=Ur({...M,argv:m.argv},{env:V,yolo:p,onMissingState:Br,deferAccounting:U=>{T=U},resolver:async(U,J)=>{if(!rn(Z))throw new Error("expired processing rules");return Z.selectFor(U,"pro",J?[...J]:void 0)}}).then(U=>{if(f.destroyed)return;let J=Buffer.from(U.stdout),G=Buffer.from(U.stderr);if(J.length>10551296||G.length>10551296)throw new Error("processing response limit");let K=Buffer.allocUnsafe(8);K.writeUInt32BE(J.length,0),K.writeUInt32BE(G.length,4),d="delivery",O(e.processingTimeoutMs??5e3),f.write(nn(Buffer.concat([K,J,G])))}).catch(()=>E()).finally(()=>{g=!1,f.destroyed&&(C(),s.delete(f)),o.delete(ue)});o.add(ue)},z=>{if(i+z>c)throw new Error("processing capacity exceeded");i+=z,k+=z});O(e.prepareTimeoutMs??1e3),f.on("data",z=>{try{F.push(z)}catch{E()}}),f.on("error",E),f.on("close",()=>{g||s.delete(f),E()})});try{await new Promise((f,d)=>{u.once("error",d),u.listen(e.path,()=>{u.off("error",d),f()})}),t||oS(e.path,384)}catch(f){throw u.close(),f}return{activeConnections:()=>s.size,close:async()=>{a=!0;for(let f of s)f.destroy();await new Promise(f=>u.close(()=>f())),await Promise.allSettled(o)}}}function ki(e=pe){return`processing-${e}.json`}function xS(e,t,n){return`\\\\.\\pipe\\tokmizer-p-${e.replace(/[^A-Za-z0-9._-]/g,"_").slice(0,64)||"user"}-${t.replace(/[^A-Za-z0-9._-]/g,"_")}-${n}`}async function ld(e,t,n="processing.json"){let r=process.platform==="win32",s=yS(S()),o=es(s,"run");gS(o,{recursive:!0,mode:448});let i=hS(o);if(!i.isDirectory()||!r&&(i.uid!==process.getuid?.()||(i.mode&63)!==0))throw new Error("unsafe processing descriptor directory");let a=ad().slice(0,8),l=r?xS(process.env.USERNAME??"user",pe,a):es(wS(kt().path),`p${a}`);if(!r&&Buffer.byteLength(l)>100)throw new Error("processing socket path too long");let c=pS(32).toString("hex"),u=await id({path:l,token:c,version:pe,getRuntime:e,...t?{onActivity:t}:{}}),f=es(o,`${n}.${ad()}.tmp`);try{return _S(f,JSON.stringify({protocol:2,version:pe,home:s,path:l,token:c}),{mode:384,flag:"wx"}),bS(f,es(o,n)),u}catch(d){throw await u.close(),d}finally{kS(f,{force:!0})}}function cd(e,t,n){let r=null,s=!1,o=0,i=null,a=()=>i||(o=Date.now(),i=e().catch(()=>null).then(l=>{if(l){s=!1,r=l;return}let c=t();if(!c)return;let u=Date.now();s=!0,r={...c,signedAt:u,fetchedAt:u}}).finally(()=>{i=null}),i);return{current:()=>((!r||s&&Date.now()-o>n)&&a(),r),reload:a}}H();It();var TS=6e4,RS=5e3,AS=30*6e4;function ud(){let e=Number(process.env.TOKMIZER_PROCESSOR_IDLE_MS);return Number.isFinite(e)&&e>0?e:AS}async function $S(e){if(!e)return;let t=Array.from({length:200},(r,s)=>`-rw-r--r-- 1 user staff ${s*97} Jan 1 00:00 file-${s}.txt`).join(`
129
- `),n=async(r,s)=>e.selectFor(r,"pro",s?[...s]:void 0);for(let r of["ls -la","git status","grep -rn x ."])await Ze(r,t,null,{resolver:n}).catch(()=>null)}function CS(e){try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}function OS(e){for(let t=0;t<2;t+=1)try{return ES(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{let n=Number.NaN;try{n=Number(xi(e,"utf8"))}catch{}if(Number.isInteger(n)&&n>0&&CS(n))return!1;ts(e,{force:!0})}return!1}function wi(e,t){try{return t(xi(e,"utf8"))}catch{return!1}}async function IS(){let e=_i(vS(S()),"run");SS(e,{recursive:!0,mode:448});let t=_i(e,`processor-${pe}.pid`);if(!OS(t))return;let n=cd(Xn,Ft,RS),r=Date.now(),s=()=>{r=Date.now()},o=_i(e,ki()),i=null,a=null,l=!1,c=()=>{l||(l=!0,(a?.close()??Promise.resolve()).finally(()=>{i&&wi(o,d=>JSON.parse(d).path===i)&&ts(o,{force:!0}),wi(t,d=>Number(d)===process.pid)&&ts(t,{force:!0}),process.exit(0)}))};await n.reload();try{a=await ld(n.current,s,ki())}catch{ts(t,{force:!0});return}i=wi(o,()=>!0)?JSON.parse(xi(o,"utf8")).path:null,setInterval(()=>{n.reload()},TS).unref(),setInterval(()=>{(a?.activeConnections()??0)===0&&Date.now()-r>ud()&&c()},Math.min(6e4,ud())).unref(),process.on("SIGINT",c),process.on("SIGTERM",c),setImmediate(()=>{$S(n.current())}),setTimeout(()=>{process.title="tkr-processor"},1e3).unref()}IS().catch(()=>process.exit(0));
132
+ `}${Zr}`:L.output,ie;if(L.filteredBytes>=L.rawBytes?ie=null:r?ie=L.output:e.tool_name==="Glob"||z.test(L.output)?ie=await p(l,Ai,void 0,{label:an}):ie=await d(L.droppedTail??null,Ai,void 0,{raw:l,label:an}),r&&ie!=null&&(ie=ed(od(e.tool_response,ie,e.tool_name))),n!=null&&(ie==null||ie.length>n))return null;let xd=ie==null?L.rawBytes:Buffer.byteLength(ie,"utf8"),as=jr().host,Qe=O(L.rawBytes,xd,Lr(as));ie!=null&&id(Qe.raw,Qe.filtered);let Sd=e.cwd||(t.inferCwd===!1?void 0:process.cwd()),vd=e.tool_name==="Bash"?"sh":void 0,ls=t.deferAccounting,$i=!1,Ci=async()=>{$i||($i=!0,await S({cmd:K,filterId:L.filterId,rawBytes:L.rawBytes,filteredBytes:L.filteredBytes,plan:be}),E(Qe.raw,Qe.filtered,void 0,!1,as,vd,an,Sd,F(L)),await C({cmd:K,tokensSaved:Math.round((Qe.raw-Qe.filtered)/4),rawTokens:Math.round(Qe.raw/4),optimized:L.filterId!=null,telemetryOptIn:G.telemetryOptIn&&(!ls||(await u()).telemetryOptIn),host:as}))};return ls?ls(Ci):await Ci(),ie}finally{t.resolver||D()}}async function cd(e,t={}){if(qf(e,"claude-code")!=="claude-code")return"";let n=await gS(e,t);return n?eS(e,n,nS()??void 0):""}xe();xe();var bi=JSON.stringify({permission:"allow"});function ud(e,t=Se("cursor"),n=se){if(e.tool_name!=="Shell")return bi;let r=e.tool_input??{},s=r.command;if(typeof s!="string"||!s)return bi;let o=typeof r.working_directory=="string"?r.working_directory:void 0,i=Xe(s,{host:"cursor",sessionId:e.conversation_id??"unknown",cwd:o},ge()?null:t,n);return i?JSON.stringify({permission:"allow",updated_input:{...r,command:i}}):bi}xe();var ts="{}";function fd(e,t=Se("gemini-cli"),n=se){if(e.hook_event_name!=="BeforeTool"||e.tool_name!=="run_shell_command")return ts;let r=e.tool_input??{};if(r.is_background)return ts;let s=r.command;if(typeof s!="string"||!s)return ts;let o=typeof e.cwd=="string"?e.cwd:void 0,i=Xe(s,{host:"gemini-cli",sessionId:e.session_id??"unknown",cwd:o},ge()?null:t,n);return i?JSON.stringify({hookSpecificOutput:{tool_input:{command:i}}}):ts}Ce();xe();function en(e,t,n="unknown",r=Se(t),s=se){return e?Xe(e,{host:t,sessionId:n},ge()?null:r,s):null}var yS=new Set(["bash","file_system.bash"]),_i=JSON.stringify({decision:"allow"});function dd(e,t=(n,r)=>en(n,"vibe",r)){if(!j(e)||e.hook_event_name!=="pre_tool"||typeof e.tool_name!="string"||!yS.has(e.tool_name))return"";let n=e.tool_input;if(!j(n)||typeof n.command!="string"||!n.command)return"";let r=t(n.command,typeof e.session_id=="string"?e.session_id:"unknown");return r?JSON.stringify({hook_specific_output:{tool_input:{...n,command:r}}}):""}function pd(e,t=(n,r)=>en(n,"antigravity",r)){if(!j(e)||!j(e.toolCall)||e.toolCall.name!=="run_command")return _i;let n=e.toolCall.args;if(!j(n)||typeof n.CommandLine!="string"||!n.CommandLine)return _i;let r=t(n.CommandLine,typeof e.conversationId=="string"?e.conversationId:"unknown");return r?JSON.stringify({decision:"allow",overwrite:{CommandLine:r}}):_i}xe();var je="{}",bS=new Set(["runTerminalCommand","run_in_terminal","Bash","bash"]),kS=["run_in_background","is_background","isBackground"];function ns(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function _S(e){let t=e.session_id??e.sessionId;return typeof t=="string"&&t?t:"unknown"}function wS(e,t){let n=e.cwd??t.cwd??t.workdir??t.working_directory;return typeof n=="string"&&n?n:void 0}function rs(e,t,n,r,s){if(!ns(t)||kS.some(i=>t[i]===!0))return null;let o=t.command;return typeof o!="string"||!o?null:Xe(o,{host:e,sessionId:_S(n),cwd:wS(n,t)},ge()?null:r,s)}function nn(e,t){return JSON.stringify({hookSpecificOutput:{hookEventName:"PreToolUse",updatedInput:{...e,command:t}}})}function xS(e){if(ns(e))return e;if(typeof e!="string")return null;try{let t=JSON.parse(e);return ns(t)?t:null}catch{return null}}function SS(e,t,n){if(typeof e.tool_name=="string"){if(!bS.has(e.tool_name))return je;let o=e.tool_input,i=rs("copilot",o,e,t,n);return i?nn(o,i):je}if(e.toolName!=="bash")return je;let r=xS(e.toolArgs),s=rs("copilot",r,e,t,n);return s?JSON.stringify({modifiedArgs:{...r,command:s}}):je}function tn(e,t,n){return(r,s,o)=>{if(r.tool_name!==t)return je;let i=r.tool_input,a=rs(e,i,r,s,o);return a?n(i,a):je}}var vS=new Set(["run_terminal_command","Bash","bash"]);function ES(e,t,n){let r=e.toolName??e.tool_name;if(typeof r!="string"||!vS.has(r))return je;let s=e.toolInput??e.tool_input,o=rs("grok",s,e,t,n);return o?nn(s,o):je}var TS={copilot:SS,droid:tn("droid","Execute",nn),trae:tn("trae","RunCommand",nn),"qwen-code":tn("qwen-code","run_shell_command",nn),crush:tn("crush","bash",(e,t)=>JSON.stringify({updated_input:{command:t}})),junie:tn("junie","Bash",(e,t)=>JSON.stringify({updatedInput:{...e,command:t}})),zcode:tn("zcode","Bash",nn),grok:ES};function md(e,t,n=Se(e),r=se){return ns(t)?TS[e](t,n,r):je}function rn(e){return ge()?null:Se(e)}function RS(e,t,n={}){let r=n.recordUsage??se;switch(e){case"claude-code":case"codex":return t.hook_event_name!==void 0&&t.hook_event_name!=="PreToolUse"?"":Bf(t,e,rn(e),r,n.claudeDirs??Qr(),n.pathEnv??process.env.PATH,n.launchArgs??zn)??"";case"cursor":return ud(t,rn(e),r);case"gemini-cli":return fd(t,rn(e),r);case"vibe":return dd(t,(s,o)=>en(s,"vibe",o,rn(e),r));case"antigravity":return pd(t,(s,o)=>en(s,"antigravity",o,rn(e),r));default:return md(e,t,rn(e),r)}}function Qt(e,t,n={}){let r=mi(e,t);return r?RS(r,e,n):n.fallback??""}Ln();var ss=class{constructor(t,n,r=()=>{}){this.limit=t;this.receive=n;this.reserve=r}limit;receive;reserve;header=Buffer.alloc(4);headerBytes=0;body=null;bodyBytes=0;closed=!1;push(t){if(this.closed)throw new Error("reader closed");let n=0;try{for(;n<t.length&&!this.closed;){if(!this.body){let s=Math.min(4-this.headerBytes,t.length-n);if(t.copy(this.header,this.headerBytes,n,n+s),this.headerBytes+=s,n+=s,this.headerBytes!==4)continue;let o=this.header.readUInt32BE(0);if(o>this.limit())throw new Error("frame limit exceeded");this.reserve(o),this.body=Buffer.allocUnsafe(o),this.bodyBytes=0}let r=Math.min(this.body.length-this.bodyBytes,t.length-n);if(t.copy(this.body,this.bodyBytes,n,n+r),this.bodyBytes+=r,n+=r,this.bodyBytes===this.body.length){let s=this.body;this.body=null,this.headerBytes=0,this.bodyBytes=0,this.receive(s)}}}catch(r){throw this.close(),r}}close(){this.closed=!0,this.body=null,this.headerBytes=0,this.bodyBytes=0}};function sn(e){let t=Buffer.allocUnsafe(4);return t.writeUInt32BE(e.length),Buffer.concat([t,e])}function hd(e){if(e.length<16)throw new Error("incomplete captured header");let t=e.readUInt32BE(0),n=e.readUInt32BE(4),r=e.readUInt32BE(8),s=e.readUInt32BE(12);if(t>255||n>3||r>10485760||s>10485760||e.length!==16+r+s)throw new Error("invalid captured output");return{stdout:e.subarray(16,16+r).toString("utf8"),stderr:e.subarray(16+r).toString("utf8"),exitCode:t,truncated:(n&1)!==0,stderrTruncated:(n&2)!==0}}xe();var PS={"claude-code":"CLAUDECODE",codex:"CODEX_CLI",cursor:"CURSOR_VERSION",cline:"CLINE_VERSION",aider:"AIDER_VERSION","gemini-cli":"GEMINI_CLI_VERSION",windsurf:"WINDSURF_VERSION",copilot:"GITHUB_COPILOT_VERSION","qwen-code":"QWEN_CODE",crush:"CRUSH",droid:"",trae:"",junie:"",zcode:"",grok:"",kilo:"",shell:""},NS=h.object({protocol:h.literal(2),version:h.string().min(1).max(64),token:h.string().regex(/^[0-9a-f]{64}$/),home:h.string().min(1).max(4096),argv:h.array(h.string().max(32768).refine(e=>!e.includes("\0"))).min(1).max(4096),host:h.enum(Mo),sessionId:h.string().max(256).optional(),restoreDisabled:h.boolean(),restoreMaxBytes:h.number().int().positive().max(10485760).optional(),timeoutMs:h.number().int().positive().max(864e5)}).strict(),DS=h.object({kind:h.literal("pre-tool-use"),protocol:h.literal(2),version:h.string().min(1).max(64),token:h.string().regex(/^[0-9a-f]{64}$/),home:h.string().min(1).max(4096),host:h.enum(["claude-code","codex"]),payload:h.record(h.string(),h.unknown()),claudeProjectDir:h.string().min(1).max(4096).optional(),claudeConfigDir:h.string().min(1).max(4096).optional(),path:h.string().min(1).max(32768).optional(),claudePid:h.string().regex(/^[1-9]\d{0,9}$/).optional()}).strict(),MS=h.object({kind:h.literal("post-tool-use"),protocol:h.literal(2),version:h.string().min(1).max(64),token:h.string().regex(/^[0-9a-f]{64}$/),home:h.string().min(1).max(4096),host:h.enum(["claude-code"])}).strict();function on(e){if(!e)return!1;let t=Date.now()-e.signedAt;return t>=0&&t<=ws()}async function yd(e){if(!/^[0-9a-f]{64}$/.test(e.token))throw new Error("invalid processing authentication");let t=process.platform==="win32";if(t){if(!/^\\\\\.\\pipe\\tokmizer-[A-Za-z0-9._-]+$/.test(e.path))throw new Error("unsafe processing pipe")}else{let f=$S(OS(e.path));if(!f.isDirectory()||f.uid!==process.getuid?.()||(f.mode&63)!==0)throw new Error("unsafe processing directory")}let n=CS(x()),r=Buffer.from(e.token,"hex"),s=new Set,o=new Set,i=0,a=!1,l=e.maxConnections??4,c=e.maxBufferedBytes??48*1024*1024,u=IS(f=>{if(a||s.size>=l){f.destroy();return}s.add(f);let d="prepare",p=null,m=!1,k=0,g=!1,T,S,C=()=>{i-=k,k=0},E=()=>{clearTimeout(S),F.close(),g||C(),d="closed",f.destroy()},O=J=>{clearTimeout(S),S=setTimeout(E,J),S.unref()},P=J=>{f.write(sn(Buffer.from(JSON.stringify(J))))},F=new ss(()=>d==="prepare"?65536:d==="capture"||d==="hook-payload"?20971536:d==="delivery"?1:-1,J=>{if(d==="delivery"){if(J.length!==1||J[0]!==1)throw new Error("invalid delivery receipt");d="accounting",e.onActivity?.(),g=!0;let Z=(T?.()??Promise.resolve()).then(()=>{f.destroyed||f.end(sn(Buffer.from([1])))}).catch(()=>E()).finally(()=>{g=!1,f.destroyed&&(C(),s.delete(f)),o.delete(Z)});o.add(Z);return}if(d==="hook-payload"){let Z=e.getRuntime();if(!on(Z)){E();return}let W=JSON.parse(J.toString("utf8"));if(!W||typeof W!="object"||Array.isArray(W))throw new Error("invalid hook payload");e.onActivity?.(),d="processing",g=!0,O(e.processingTimeoutMs??5e3);let U=cd(W,{inferCwd:!1,deferAccounting:K=>{T=K},resolver:async(K,fe)=>{if(!on(Z))throw new Error("expired processing rules");return Z.selectFor(K,"pro",fe?[...fe]:void 0)}}).then(K=>{if(f.destroyed)return;let fe=Buffer.from(JSON.stringify({ok:!0,protocol:2,output:K}));if(fe.length>20971536)throw new Error("hook response limit");C(),d="delivery",O(e.processingTimeoutMs??5e3),f.write(sn(fe))}).catch(()=>E()).finally(()=>{g=!1,f.destroyed&&(C(),s.delete(f)),o.delete(U)});o.add(U);return}if(d==="prepare"){let Z=JSON.parse(J.toString("utf8"));if(Z?.kind==="post-tool-use"){let U=MS.parse(Z);if(!xi(r,Buffer.from(U.token,"hex"))||U.version!==e.version||U.home!==n||!on(e.getRuntime())){E();return}e.onActivity?.(),C(),d="hook-payload",O(e.prepareTimeoutMs??1e3),P({ok:!0,protocol:2});return}if(Z?.kind==="pre-tool-use"){let U=DS.parse(Z);if(!xi(r,Buffer.from(U.token,"hex"))||U.version!==e.version||U.home!==n){E();return}e.onActivity?.();let K,fe=Qt(U.payload,U.host,{recordUsage:(z,an)=>{K={sessionId:z,routed:an}},claudeDirs:{projectDir:U.claudeProjectDir,configDir:U.claudeConfigDir},pathEnv:U.path??"",launchArgs:()=>U.claudePid?zn({CLAUDE_PID:U.claudePid}):null}),L=Buffer.from(JSON.stringify({ok:!0,protocol:2,output:fe}));if(L.length>1024*1024)throw new Error("hook response limit");T=async()=>{let z=K;K=void 0,z&&se(z.sessionId,z.routed)},C(),d="delivery",O(e.processingTimeoutMs??5e3),f.write(sn(L));return}let W=NS.parse(Z);if(!xi(r,Buffer.from(W.token,"hex"))||W.version!==e.version||W.home!==n||!on(e.getRuntime())){E();return}p=W,e.onActivity?.(),m=we(),C(),d="capture",O(W.timeoutMs+5e3),P({ok:!0,protocol:2,yolo:m});return}if(d!=="capture"||!p)throw new Error("unexpected processing frame");let D=hd(J);e.onActivity?.();let G=e.getRuntime();if(!on(G)){E();return}d="processing",g=!0,O(e.processingTimeoutMs??5e3);let X={},be=PS[p.host];be?X[be]="1":p.host!=="shell"&&(X.TOKMIZER_HOST=p.host),p.sessionId!==void 0&&(X.CLAUDE_CODE_SESSION_ID=p.sessionId),X.TOKMIZER_CCR_DISABLED=p.restoreDisabled?"1":"0",p.restoreMaxBytes!==void 0&&(X.TOKMIZER_CCR_ENTRY_MAX_BYTES=String(p.restoreMaxBytes));let ue=Kr({...D,argv:p.argv},{env:X,yolo:m,onMissingState:Gr,deferAccounting:Z=>{T=Z},resolver:async(Z,W)=>{if(!on(G))throw new Error("expired processing rules");return G.selectFor(Z,"pro",W?[...W]:void 0)}}).then(Z=>{if(f.destroyed)return;let W=Buffer.from(Z.stdout),U=Buffer.from(Z.stderr);if(W.length>10551296||U.length>10551296)throw new Error("processing response limit");let K=Buffer.allocUnsafe(8);K.writeUInt32BE(W.length,0),K.writeUInt32BE(U.length,4),d="delivery",O(e.processingTimeoutMs??5e3),f.write(sn(Buffer.concat([K,W,U])))}).catch(()=>E()).finally(()=>{g=!1,f.destroyed&&(C(),s.delete(f)),o.delete(ue)});o.add(ue)},J=>{if(i+J>c)throw new Error("processing capacity exceeded");i+=J,k+=J});O(e.prepareTimeoutMs??1e3),f.on("data",J=>{try{F.push(J)}catch{E()}}),f.on("error",E),f.on("close",()=>{g||s.delete(f),E()})});try{await new Promise((f,d)=>{u.once("error",d),u.listen(e.path,()=>{u.off("error",d),f()})}),t||AS(e.path,384)}catch(f){throw u.close(),f}return{activeConnections:()=>s.size,close:async()=>{a=!0;for(let f of s)f.destroy();await new Promise(f=>u.close(()=>f())),await Promise.allSettled(o)}}}function vi(e=he){return`processing-${e}.json`}function ZS(e,t,n){return`\\\\.\\pipe\\tokmizer-p-${e.replace(/[^A-Za-z0-9._-]/g,"_").slice(0,64)||"user"}-${t.replace(/[^A-Za-z0-9._-]/g,"_")}-${n}`}async function kd(e,t,n="processing.json"){let r=process.platform==="win32",s=HS(x()),o=os(s,"run");jS(o,{recursive:!0,mode:448});let i=LS(o);if(!i.isDirectory()||!r&&(i.uid!==process.getuid?.()||(i.mode&63)!==0))throw new Error("unsafe processing descriptor directory");let a=bd().slice(0,8),l=r?ZS(process.env.USERNAME??"user",he,a):os(JS(_t().path),`p${a}`);if(!r&&Buffer.byteLength(l)>100)throw new Error("processing socket path too long");let c=FS(32).toString("hex"),u=await yd({path:l,token:c,version:he,getRuntime:e,...t?{onActivity:t}:{}}),f=os(o,`${n}.${bd()}.tmp`);try{return zS(f,JSON.stringify({protocol:2,version:he,home:s,path:l,token:c}),{mode:384,flag:"wx"}),BS(f,os(o,n)),u}catch(d){throw await u.close(),d}finally{US(f,{force:!0})}}function _d(e,t,n){let r=null,s=!1,o=0,i=null,a=()=>i||(o=Date.now(),i=e().catch(()=>null).then(l=>{if(l){s=!1,r=l;return}let c=t();if(!c)return;let u=Date.now();s=!0,r={...c,signedAt:u,fetchedAt:u}}).finally(()=>{i=null}),i);return{current:()=>((!r||s&&Date.now()-o>n)&&a(),r),reload:a}}B();Nt();var VS=6e4,YS=5e3,qS=30*6e4;function wd(){let e=Number(process.env.TOKMIZER_PROCESSOR_IDLE_MS);return Number.isFinite(e)&&e>0?e:qS}async function XS(e){if(!e)return;let t=Array.from({length:200},(r,s)=>`-rw-r--r-- 1 user staff ${s*97} Jan 1 00:00 file-${s}.txt`).join(`
133
+ `),n=async(r,s)=>e.selectFor(r,"pro",s?[...s]:void 0);for(let r of["ls -la","git status","grep -rn x ."])await We(r,t,null,{resolver:n}).catch(()=>null)}function QS(e){try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}function ev(e){for(let t=0;t<2;t+=1)try{return WS(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{let n=Number.NaN;try{n=Number(Ri(e,"utf8"))}catch{}if(Number.isInteger(n)&&n>0&&QS(n))return!1;is(e,{force:!0})}return!1}function Ti(e,t){try{return t(Ri(e,"utf8"))}catch{return!1}}async function tv(){let e=Ei(KS(x()),"run");GS(e,{recursive:!0,mode:448});let t=Ei(e,`processor-${he}.pid`);if(!ev(t))return;let n=_d(tr,jt,YS),r=Date.now(),s=()=>{r=Date.now()},o=Ei(e,vi()),i=null,a=null,l=!1,c=()=>{l||(l=!0,(a?.close()??Promise.resolve()).finally(()=>{i&&Ti(o,d=>JSON.parse(d).path===i)&&is(o,{force:!0}),Ti(t,d=>Number(d)===process.pid)&&is(t,{force:!0}),process.exit(0)}))};await n.reload();try{a=await kd(n.current,s,vi())}catch{is(t,{force:!0});return}i=Ti(o,()=>!0)?JSON.parse(Ri(o,"utf8")).path:null,setInterval(()=>{n.reload()},VS).unref(),setInterval(()=>{(a?.activeConnections()??0)===0&&Date.now()-r>wd()&&c()},Math.min(6e4,wd())).unref(),process.on("SIGINT",c),process.on("SIGTERM",c),setImmediate(()=>{XS(n.current())}),setTimeout(()=>{process.title="tkr-processor"},1e3).unref()}tv().catch(()=>process.exit(0));
130
134
  /*! Bundled license information:
131
135
 
132
136
  smol-toml/dist/error.js: