@tokmizer/plugin 0.9.59 → 0.9.60

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,130 +1,132 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire as __tkrCreateRequire } from "node:module"; const require = __tkrCreateRequire(import.meta.url);
3
- var ad=Object.create;var ss=Object.defineProperty;var ld=Object.getOwnPropertyDescriptor;var cd=Object.getOwnPropertyNames;var ud=Object.getPrototypeOf,fd=Object.prototype.hasOwnProperty;var je=(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})},dd=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of cd(t))!fd.call(e,s)&&s!==n&&ss(e,s,{get:()=>t[s],enumerable:!(r=ld(t,s))||r.enumerable});return e};var md=(e,t,n)=>(n=e!=null?ad(ud(e)):{},dd(t||!e||!e.__esModule?ss(n,"default",{value:e,enumerable:!0}):n,e));var N,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})(N||(N={}));(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(os||(os={}));w=N.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 g,pd,ee,zn=b(()=>{an();g=N.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"]),pd=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,N.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 hd,Oe,is=b(()=>{zn();an();hd=(e,t)=>{let n;switch(e.code){case g.invalid_type:e.received===w.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case g.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,N.jsonStringifyReplacer)}`;break;case g.unrecognized_keys:n=`Unrecognized key(s) in object: ${N.joinValues(e.keys,", ")}`;break;case g.invalid_union:n="Invalid input";break;case g.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${N.joinValues(e.options)}`;break;case g.invalid_enum_value:n=`Invalid enum value. Expected ${N.joinValues(e.options)}, received '${e.received}'`;break;case g.invalid_arguments:n="Invalid function arguments";break;case g.invalid_return_type:n="Invalid function return type";break;case g.invalid_date:n="Invalid date";break;case g.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}"`:N.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case g.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 g.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 g.custom:n="Invalid input";break;case g.invalid_intersection_types:n="Intersection results could not be merged";break;case g.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case g.not_finite:n="Number must be finite";break;default:n=t.defaultError,N.assertNever(e)}return{message:n}},Oe=hd});function gd(e){Si=e}function xt(){return Si}var Si,Jn=b(()=>{is();Si=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,yd,Y,R,Xe,q,Gn,Zn,He,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}},yd=[];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",He=e=>e.status==="valid",St=e=>typeof Promise<"u"&&e instanceof Promise});var vi=b(()=>{});var S,Ei=b(()=>{(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(S||(S={}))});function O(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 $i(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 Nd(e){return new RegExp(`^${$i(e)}$`)}function Ci(e){let t=`${Ai}T${$i(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 Dd(e,t){return!!((t==="v4"||!t)&&Rd.test(e)||(t==="v6"||!t)&&$d.test(e))}function Md(e,t){if(!Sd.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 Fd(e,t){return!!((t==="v4"||!t)&&Ad.test(e)||(t==="v6"||!t)&&Cd.test(e))}function Ld(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=N.objectKeys(t),o=N.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 Oi(e,t){return new ct({values:e,typeName:C.ZodEnum,...O(t)})}function Ri(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function Ii(e,t={},n){return e?Ue.create().superRefine((r,s)=>{let o=e(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=Ri(t,r),l=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:l})}});if(!o){let i=Ri(t,r),a=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:a})}}):Ue.create()}var de,Ti,P,bd,kd,_d,wd,xd,Sd,vd,Ed,Td,ls,Rd,Ad,$d,Cd,Od,Id,Ai,Pd,Be,Qe,et,tt,nt,Et,rt,st,Ue,Pe,be,Tt,Ne,te,ot,Ie,Wn,it,Ee,Kn,Rt,At,Vn,at,lt,ct,ut,ze,me,fe,Te,ft,dt,$t,jd,cn,un,mt,Hd,C,Bd,Pi,Ni,Ud,zd,Di,Jd,Gd,Zd,Wd,Kd,Vd,Yd,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,Mi=b(()=>{zn();Jn();Ei();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}},Ti=(e,t)=>{if(He(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 Ti(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 He(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=>He(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 Ti(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:g.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:C.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 ze.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({...O(this._def),schema:this,typeName:C.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new ft({...O(this._def),innerType:this,defaultValue:n,typeName:C.ZodDefault})}brand(){return new cn({typeName:C.ZodBranded,type:this,...O(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new dt({...O(this._def),innerType:this,catchValue:n,typeName:C.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}},bd=/^c[^\s-]{8,}$/i,kd=/^[0-9a-z]+$/,_d=/^[0-9A-HJKMNP-TV-Z]{26}$/i,wd=/^[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,xd=/^[a-z0-9_-]{21}$/i,Sd=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,vd=/^[-+]?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)?)??$/,Ed=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Td="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Rd=/^(?:(?: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])$/,Ad=/^(?:(?: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])$/,$d=/^(([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]))$/,Cd=/^(([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])$/,Od=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Id=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Ai="((\\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])))",Pd=new RegExp(`^${Ai}$`);Be=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:g.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:g.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:g.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:g.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&_(s,{code:g.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),r.dirty())}else if(o.kind==="email")Ed.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"email",code:g.invalid_string,message:o.message}),r.dirty());else if(o.kind==="emoji")ls||(ls=new RegExp(Td,"u")),ls.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"emoji",code:g.invalid_string,message:o.message}),r.dirty());else if(o.kind==="uuid")wd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"uuid",code:g.invalid_string,message:o.message}),r.dirty());else if(o.kind==="nanoid")xd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"nanoid",code:g.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid")bd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cuid",code:g.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid2")kd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cuid2",code:g.invalid_string,message:o.message}),r.dirty());else if(o.kind==="ulid")_d.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"ulid",code:g.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:g.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:g.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:g.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:g.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:g.invalid_string,validation:{endsWith:o.value},message:o.message}),r.dirty()):o.kind==="datetime"?Ci(o).test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:g.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?Pd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:g.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?Nd(o).test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:g.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?vd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"duration",code:g.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?Dd(t.data,o.version)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"ip",code:g.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?Md(t.data,o.alg)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"jwt",code:g.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?Fd(t.data,o.version)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cidr",code:g.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?Od.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"base64",code:g.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?Id.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"base64url",code:g.invalid_string,message:o.message}),r.dirty()):N.assertNever(o);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:g.invalid_string,...S.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...S.errToObj(t)})}url(t){return this._addCheck({kind:"url",...S.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...S.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...S.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...S.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...S.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...S.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...S.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...S.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...S.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...S.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...S.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...S.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,...S.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,...S.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...S.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...S.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...S.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...S.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...S.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...S.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...S.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...S.errToObj(n)})}nonempty(t){return this.min(1,S.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}};Be.create=e=>new Be({checks:[],typeName:C.ZodString,coerce:e?.coerce??!1,...O(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:g.invalid_type,expected:w.number,received:o.parsedType}),R}let r,s=new Y;for(let o of this._def.checks)o.kind==="int"?N.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),_(r,{code:g.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:g.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:g.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?Ld(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),_(r,{code:g.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:g.not_finite,message:o.message}),s.dirty()):N.assertNever(o);return{status:s.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,S.toString(n))}gt(t,n){return this.setLimit("min",t,!1,S.toString(n))}lte(t,n){return this.setLimit("max",t,!0,S.toString(n))}lt(t,n){return this.setLimit("max",t,!1,S.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:S.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:S.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:S.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:S.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:S.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:S.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:S.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:S.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:S.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:S.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"&&N.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:C.ZodNumber,coerce:e?.coerce||!1,...O(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:g.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:g.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:g.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):N.assertNever(o);return{status:s.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return _(n,{code:g.invalid_type,expected:w.bigint,received:n.parsedType}),R}gte(t,n){return this.setLimit("min",t,!0,S.toString(n))}gt(t,n){return this.setLimit("min",t,!1,S.toString(n))}lte(t,n){return this.setLimit("max",t,!0,S.toString(n))}lt(t,n){return this.setLimit("max",t,!1,S.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:S.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:S.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:S.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:S.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:S.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:S.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:C.ZodBigInt,coerce:e?.coerce??!1,...O(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:g.invalid_type,expected:w.boolean,received:r.parsedType}),R}return q(t.data)}};tt.create=e=>new tt({typeName:C.ZodBoolean,coerce:e?.coerce||!1,...O(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:g.invalid_type,expected:w.date,received:o.parsedType}),R}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return _(o,{code:g.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:g.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:g.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):N.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:S.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:S.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:C.ZodDate,...O(e)});Et=class extends P{_parse(t){if(this._getType(t)!==w.symbol){let r=this._getOrReturnCtx(t);return _(r,{code:g.invalid_type,expected:w.symbol,received:r.parsedType}),R}return q(t.data)}};Et.create=e=>new Et({typeName:C.ZodSymbol,...O(e)});rt=class extends P{_parse(t){if(this._getType(t)!==w.undefined){let r=this._getOrReturnCtx(t);return _(r,{code:g.invalid_type,expected:w.undefined,received:r.parsedType}),R}return q(t.data)}};rt.create=e=>new rt({typeName:C.ZodUndefined,...O(e)});st=class extends P{_parse(t){if(this._getType(t)!==w.null){let r=this._getOrReturnCtx(t);return _(r,{code:g.invalid_type,expected:w.null,received:r.parsedType}),R}return q(t.data)}};st.create=e=>new st({typeName:C.ZodNull,...O(e)});Ue=class extends P{constructor(){super(...arguments),this._any=!0}_parse(t){return q(t.data)}};Ue.create=e=>new Ue({typeName:C.ZodAny,...O(e)});Pe=class extends P{constructor(){super(...arguments),this._unknown=!0}_parse(t){return q(t.data)}};Pe.create=e=>new Pe({typeName:C.ZodUnknown,...O(e)});be=class extends P{_parse(t){let n=this._getOrReturnCtx(t);return _(n,{code:g.invalid_type,expected:w.never,received:n.parsedType}),R}};be.create=e=>new be({typeName:C.ZodNever,...O(e)});Tt=class extends P{_parse(t){if(this._getType(t)!==w.undefined){let r=this._getOrReturnCtx(t);return _(r,{code:g.invalid_type,expected:w.void,received:r.parsedType}),R}return q(t.data)}};Tt.create=e=>new Tt({typeName:C.ZodVoid,...O(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:g.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?g.too_big:g.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:g.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:g.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:S.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:S.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:S.toString(n)}})}nonempty(t){return this.min(1,t)}};Ne.create=(e,t)=>new Ne({type:e,minLength:null,maxLength:null,exactLength:null,typeName:C.ZodArray,...O(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=N.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:g.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:g.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 S.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:S.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:C.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 N.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 N.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 N.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 N.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 Oi(N.objectKeys(this.shape))}};te.create=(e,t)=>new te({shape:()=>e,unknownKeys:"strip",catchall:be.create(),typeName:C.ZodObject,...O(t)});te.strictCreate=(e,t)=>new te({shape:()=>e,unknownKeys:"strict",catchall:be.create(),typeName:C.ZodObject,...O(t)});te.lazycreate=(e,t)=>new te({shape:e,unknownKeys:"strip",catchall:be.create(),typeName:C.ZodObject,...O(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:g.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:g.invalid_union,unionErrors:a}),R}}get options(){return this._def.options}};ot.create=(e,t)=>new ot({options:e,typeName:C.ZodUnion,...O(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?N.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:g.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:g.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:C.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...O(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:g.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:C.ZodIntersection,...O(n)});Ee=class e extends P{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.array)return _(r,{code:g.invalid_type,expected:w.array,received:r.parsedType}),R;if(r.data.length<this._def.items.length)return _(r,{code:g.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:g.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:C.ZodTuple,rest:null,...O(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:g.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:C.ZodRecord,...O(r)}):new e({keyType:Be.create(),valueType:t,typeName:C.ZodRecord,...O(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:g.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:C.ZodMap,...O(n)});At=class e extends P{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.set)return _(r,{code:g.invalid_type,expected:w.set,received:r.parsedType}),R;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(_(r,{code:g.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:g.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:S.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:S.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:C.ZodSet,...O(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:g.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:g.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:g.invalid_return_type,returnTypeError:l}})}let o={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof ze){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:C.ZodFunction,...O(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:C.ZodLazy,...O(t)});lt=class extends P{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return _(n,{received:n.data,code:g.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:C.ZodLiteral,...O(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:N.joinValues(r),received:n.parsedType,code:g.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:g.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=Oi;ut=class extends P{_parse(t){let n=N.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==w.string&&r.parsedType!==w.number){let s=N.objectValues(n);return _(r,{expected:N.joinValues(s),received:r.parsedType,code:g.invalid_type}),R}if(this._cache||(this._cache=new Set(N.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=N.objectValues(n);return _(r,{received:r.data,code:g.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:C.ZodNativeEnum,...O(t)});ze=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:g.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})))}};ze.create=(e,t)=>new ze({type:e,typeName:C.ZodPromise,...O(t)});me=class extends P{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===C.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(!He(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=>He(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:n.value,value:a})):R);N.assertNever(s)}};me.create=(e,t,n)=>new me({schema:e,typeName:C.ZodEffects,effect:t,...O(n)});me.createWithPreprocess=(e,t,n)=>new me({schema:t,effect:{type:"preprocess",transform:e},typeName:C.ZodEffects,...O(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:C.ZodOptional,...O(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:C.ZodNullable,...O(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:C.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...O(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:C.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...O(t)});$t=class extends P{_parse(t){if(this._getType(t)!==w.nan){let r=this._getOrReturnCtx(t);return _(r,{code:g.invalid_type,expected:w.nan,received:r.parsedType}),R}return{status:"valid",value:t.data}}};$t.create=e=>new $t({typeName:C.ZodNaN,...O(e)});jd=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:C.ZodPipeline})}},mt=class extends P{_parse(t){let n=this._def.innerType._parse(t),r=s=>(He(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:C.ZodReadonly,...O(t)});Hd={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"})(C||(C={}));Bd=(e,t={message:`Input not instance of ${e.name}`})=>Ii(n=>n instanceof e,t),Pi=Be.create,Ni=Qe.create,Ud=$t.create,zd=et.create,Di=tt.create,Jd=nt.create,Gd=Et.create,Zd=rt.create,Wd=st.create,Kd=Ue.create,Vd=Pe.create,Yd=be.create,qd=Tt.create,Xd=Ne.create,Qd=te.create,em=te.strictCreate,tm=ot.create,nm=Wn.create,rm=it.create,sm=Ee.create,om=Kn.create,im=Rt.create,am=At.create,lm=Vn.create,cm=at.create,um=lt.create,fm=ct.create,dm=ut.create,mm=ze.create,pm=me.create,hm=fe.create,gm=Te.create,ym=me.createWithPreprocess,bm=un.create,km=()=>Pi().optional(),_m=()=>Ni().optional(),wm=()=>Di().optional(),xm={string:(e=>Be.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}))},Sm=R});var h={};on(h,{BRAND:()=>jd,DIRTY:()=>Xe,EMPTY_PATH:()=>yd,INVALID:()=>R,NEVER:()=>Sm,OK:()=>q,ParseStatus:()=>Y,Schema:()=>P,ZodAny:()=>Ue,ZodArray:()=>Ne,ZodBigInt:()=>et,ZodBoolean:()=>tt,ZodBranded:()=>cn,ZodCatch:()=>dt,ZodDate:()=>nt,ZodDefault:()=>ft,ZodDiscriminatedUnion:()=>Wn,ZodEffects:()=>me,ZodEnum:()=>ct,ZodError:()=>ee,ZodFirstPartyTypeKind:()=>C,ZodFunction:()=>Vn,ZodIntersection:()=>it,ZodIssueCode:()=>g,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:()=>ze,ZodReadonly:()=>mt,ZodRecord:()=>Kn,ZodSchema:()=>P,ZodSet:()=>At,ZodString:()=>Be,ZodSymbol:()=>Et,ZodTransformer:()=>me,ZodTuple:()=>Ee,ZodType:()=>P,ZodUndefined:()=>rt,ZodUnion:()=>ot,ZodUnknown:()=>Pe,ZodVoid:()=>Tt,addIssueToContext:()=>_,any:()=>Kd,array:()=>Xd,bigint:()=>zd,boolean:()=>Di,coerce:()=>xm,custom:()=>Ii,date:()=>Jd,datetimeRegex:()=>Ci,defaultErrorMap:()=>Oe,discriminatedUnion:()=>nm,effect:()=>pm,enum:()=>fm,function:()=>lm,getErrorMap:()=>xt,getParsedType:()=>ve,instanceof:()=>Bd,intersection:()=>rm,isAborted:()=>Gn,isAsync:()=>St,isDirty:()=>Zn,isValid:()=>He,late:()=>Hd,lazy:()=>cm,literal:()=>um,makeIssue:()=>ln,map:()=>im,nan:()=>Ud,nativeEnum:()=>dm,never:()=>Yd,null:()=>Wd,nullable:()=>gm,number:()=>Ni,object:()=>Qd,objectUtil:()=>os,oboolean:()=>wm,onumber:()=>_m,optional:()=>hm,ostring:()=>km,pipeline:()=>bm,preprocess:()=>ym,promise:()=>mm,quotelessJson:()=>pd,record:()=>om,set:()=>am,setErrorMap:()=>gd,strictObject:()=>em,string:()=>Pi,symbol:()=>Gd,transformer:()=>pm,tuple:()=>sm,undefined:()=>Zd,union:()=>tm,unknown:()=>Vd,util:()=>N,void:()=>qd});var us=b(()=>{Jn();as();vi();an();Mi();zn()});var pt=b(()=>{us();us()});var Je,fn=b(()=>{"use strict";pt();Je=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 Hi={};on(Hi,{OutputVerbosity:()=>Li,ReducerLevel:()=>ji,Settings:()=>Ct,slugKey:()=>le});import{createHash as vm}from"node:crypto";function le(e){let t=Fi.get(e);return t||(t=vm("sha256").update(`tkr:${e}`).digest("hex").slice(0,16),Fi.set(e,t)),t}var Li,ji,Ct,Fi,Ge=b(()=>{"use strict";pt();Li=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:Li.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:[]})}),Fi=new Map});function Ot(e,t,n,r=t){let s=Bi.get(r);s||(s=new Map,Bi.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>=Em){let l=s.keys().next().value;l&&s.delete(l)}return s.set(o,a),a}var Bi,Em,Yn=b(()=>{"use strict";Ge();Bi=new WeakMap,Em=256});import Tm from"node:os";import{join as dn}from"node:path";function x(){return process.env.TOKMIZER_HOME||dn(Tm.homedir(),".tokmizer")}function mn(){return dn(x(),"install-id")}function fs(){return dn(x(),"content-cache")}function Ui(){return dn(x(),"restore.json")}function ds(e){return dn(fs(),e)}var j=b(()=>{"use strict"});import{join as Rm}from"node:path";import{mkdir as dv,readFile as Am,writeFile as mv,unlink as pv,rename as hv}from"node:fs/promises";function Cm(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e&&e.length>0?e:"Etc/UTC"}catch{return"Etc/UTC"}}function Om(e){return e?.dir??x()}async function ht(e){let t=Om(e);try{let n=await Am(Rm(t,$m),"utf8"),r=JSON.parse(n),s=r.timeZone;return{...r,lastSettingsRevision:r.lastSettingsRevision??0,get timeZone(){return s??=Cm()},bonusActive:r.bonusActive??!1,...r.bonusResetAt!==void 0?{bonusResetAt:r.bonusResetAt}:{}}}catch{return null}}var $m,pn=b(()=>{"use strict";j();$m="state.json"});import{createRequire as Im}from"node:module";function Nm(){let e="0.9.59";if(e)return e;for(let t of["../package.json","../../package.json"])try{let n=Pm(t).version;if(typeof n=="string"&&n)return n}catch{}return"0.0.0"}function zi(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 Pm,pe,It=b(()=>{"use strict";Pm=Im(import.meta.url);pe=Nm()});var Ji,Gi=b(()=>{"use strict";Ji=`-----BEGIN PUBLIC KEY-----
3
+ var cd=Object.create;var ss=Object.defineProperty;var ud=Object.getOwnPropertyDescriptor;var fd=Object.getOwnPropertyNames;var dd=Object.getPrototypeOf,md=Object.prototype.hasOwnProperty;var je=(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 k=(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})},pd=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of fd(t))!md.call(e,s)&&s!==n&&ss(e,s,{get:()=>t[s],enumerable:!(r=ud(t,s))||r.enumerable});return e};var hd=(e,t,n)=>(n=e!=null?cd(dd(e)):{},pd(t||!e||!e.__esModule?ss(n,"default",{value:e,enumerable:!0}):n,e));var N,os,w,ve,an=k(()=>{(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})(N||(N={}));(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(os||(os={}));w=N.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,gd,ee,zn=k(()=>{an();y=N.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"]),gd=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,N.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 yd,Oe,is=k(()=>{zn();an();yd=(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,N.jsonStringifyReplacer)}`;break;case y.unrecognized_keys:n=`Unrecognized key(s) in object: ${N.joinValues(e.keys,", ")}`;break;case y.invalid_union:n="Invalid input";break;case y.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${N.joinValues(e.options)}`;break;case y.invalid_enum_value:n=`Invalid enum value. Expected ${N.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}"`:N.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,N.assertNever(e)}return{message:n}},Oe=yd});function bd(e){Ai=e}function xt(){return Ai}var Ai,Jn=k(()=>{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,kd,Y,A,Xe,q,Gn,Zn,He,St,as=k(()=>{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}},kd=[];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 A;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 A;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}}},A=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",He=e=>e.status==="valid",St=e=>typeof Promise<"u"&&e instanceof Promise});var $i=k(()=>{});var S,Ci=k(()=>{(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(S||(S={}))});function O(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 Md(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 Fd(e,t){return!!((t==="v4"||!t)&&$d.test(e)||(t==="v6"||!t)&&Od.test(e))}function Ld(e,t){if(!Ed.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)&&Cd.test(e)||(t==="v6"||!t)&&Id.test(e))}function Hd(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=N.objectKeys(t),o=N.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:C.ZodEnum,...O(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?Ue.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})}}):Ue.create()}var de,Oi,P,_d,wd,xd,Sd,vd,Ed,Td,Rd,Ad,ls,$d,Cd,Od,Id,Pd,Nd,Pi,Dd,Be,Qe,et,tt,nt,Et,rt,st,Ue,Pe,be,Tt,Ne,te,ot,Ie,Kn,it,Ee,Wn,Rt,At,Vn,at,lt,ct,ut,ze,me,fe,Te,ft,dt,$t,Bd,cn,un,mt,Ud,C,zd,Li,ji,Jd,Gd,Hi,Zd,Kd,Wd,Vd,Yd,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,Bi=k(()=>{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(He(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 He(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=>He(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:C.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 ze.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({...O(this._def),schema:this,typeName:C.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new ft({...O(this._def),innerType:this,defaultValue:n,typeName:C.ZodDefault})}brand(){return new cn({typeName:C.ZodBranded,type:this,...O(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new dt({...O(this._def),innerType:this,catchValue:n,typeName:C.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}},_d=/^c[^\s-]{8,}$/i,wd=/^[0-9a-z]+$/,xd=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Sd=/^[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,vd=/^[a-z0-9_-]{21}$/i,Ed=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Td=/^[-+]?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)?)??$/,Rd=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Ad="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",$d=/^(?:(?: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])$/,Cd=/^(?:(?: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])$/,Od=/^(([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]))$/,Id=/^(([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])$/,Pd=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Nd=/^([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])))",Dd=new RegExp(`^${Pi}$`);Be=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}),A}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")Rd.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(Ad,"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")Sd.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")vd.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")_d.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")wd.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")xd.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"?Dd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?Md(o).test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?Td.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"duration",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?Fd(t.data,o.version)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"ip",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?Ld(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"?Pd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"base64",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?Nd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"base64url",code:y.invalid_string,message:o.message}),r.dirty()):N.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,...S.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...S.errToObj(t)})}url(t){return this._addCheck({kind:"url",...S.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...S.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...S.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...S.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...S.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...S.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...S.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...S.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...S.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...S.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...S.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...S.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,...S.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,...S.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...S.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...S.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...S.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...S.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...S.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...S.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...S.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...S.errToObj(n)})}nonempty(t){return this.min(1,S.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}};Be.create=e=>new Be({checks:[],typeName:C.ZodString,coerce:e?.coerce??!1,...O(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}),A}let r,s=new Y;for(let o of this._def.checks)o.kind==="int"?N.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"?Hd(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()):N.assertNever(o);return{status:s.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,S.toString(n))}gt(t,n){return this.setLimit("min",t,!1,S.toString(n))}lte(t,n){return this.setLimit("max",t,!0,S.toString(n))}lt(t,n){return this.setLimit("max",t,!1,S.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:S.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:S.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:S.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:S.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:S.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:S.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:S.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:S.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:S.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:S.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"&&N.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:C.ZodNumber,coerce:e?.coerce||!1,...O(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()):N.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}),A}gte(t,n){return this.setLimit("min",t,!0,S.toString(n))}gt(t,n){return this.setLimit("min",t,!1,S.toString(n))}lte(t,n){return this.setLimit("max",t,!0,S.toString(n))}lt(t,n){return this.setLimit("max",t,!1,S.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:S.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:S.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:S.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:S.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:S.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:S.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:C.ZodBigInt,coerce:e?.coerce??!1,...O(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}),A}return q(t.data)}};tt.create=e=>new tt({typeName:C.ZodBoolean,coerce:e?.coerce||!1,...O(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}),A}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_date}),A}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()):N.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:S.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:S.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:C.ZodDate,...O(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}),A}return q(t.data)}};Et.create=e=>new Et({typeName:C.ZodSymbol,...O(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}),A}return q(t.data)}};rt.create=e=>new rt({typeName:C.ZodUndefined,...O(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}),A}return q(t.data)}};st.create=e=>new st({typeName:C.ZodNull,...O(e)});Ue=class extends P{constructor(){super(...arguments),this._any=!0}_parse(t){return q(t.data)}};Ue.create=e=>new Ue({typeName:C.ZodAny,...O(e)});Pe=class extends P{constructor(){super(...arguments),this._unknown=!0}_parse(t){return q(t.data)}};Pe.create=e=>new Pe({typeName:C.ZodUnknown,...O(e)});be=class extends P{_parse(t){let n=this._getOrReturnCtx(t);return _(n,{code:y.invalid_type,expected:w.never,received:n.parsedType}),A}};be.create=e=>new be({typeName:C.ZodNever,...O(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}),A}return q(t.data)}};Tt.create=e=>new Tt({typeName:C.ZodVoid,...O(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}),A;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:S.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:S.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:S.toString(n)}})}nonempty(t){return this.min(1,t)}};Ne.create=(e,t)=>new Ne({type:e,minLength:null,maxLength:null,exactLength:null,typeName:C.ZodArray,...O(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=N.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}),A}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 S.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:S.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:C.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 N.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 N.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 N.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 N.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(N.objectKeys(this.shape))}};te.create=(e,t)=>new te({shape:()=>e,unknownKeys:"strip",catchall:be.create(),typeName:C.ZodObject,...O(t)});te.strictCreate=(e,t)=>new te({shape:()=>e,unknownKeys:"strict",catchall:be.create(),typeName:C.ZodObject,...O(t)});te.lazycreate=(e,t)=>new te({shape:e,unknownKeys:"strip",catchall:be.create(),typeName:C.ZodObject,...O(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}),A}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}),A}}get options(){return this._def.options}};ot.create=(e,t)=>new ot({options:e,typeName:C.ZodUnion,...O(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?N.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):[],Kn=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}),A;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]}),A)}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:C.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...O(r)})}};it=class extends P{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(o,i)=>{if(Gn(o)||Gn(i))return A;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}),A)};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:C.ZodIntersection,...O(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}),A;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"}),A;!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:C.ZodTuple,rest:null,...O(t)})};Wn=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}),A;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:C.ZodRecord,...O(r)}):new e({keyType:Be.create(),valueType:t,typeName:C.ZodRecord,...O(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}),A;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 A;(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 A;(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:C.ZodMap,...O(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}),A;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 A;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:S.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:S.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:C.ZodSet,...O(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}),A;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 ze){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:C.ZodFunction,...O(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:C.ZodLazy,...O(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}),A}return{status:"valid",value:t.data}}get value(){return this._def.value}};lt.create=(e,t)=>new lt({value:e,typeName:C.ZodLiteral,...O(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:N.joinValues(r),received:n.parsedType,code:y.invalid_type}),A}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}),A}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=N.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==w.string&&r.parsedType!==w.number){let s=N.objectValues(n);return _(r,{expected:N.joinValues(s),received:r.parsedType,code:y.invalid_type}),A}if(this._cache||(this._cache=new Set(N.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=N.objectValues(n);return _(r,{received:r.data,code:y.invalid_enum_value,options:s}),A}return q(t.data)}get enum(){return this._def.values}};ut.create=(e,t)=>new ut({values:e,typeName:C.ZodNativeEnum,...O(t)});ze=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}),A;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})))}};ze.create=(e,t)=>new ze({type:e,typeName:C.ZodPromise,...O(t)});me=class extends P{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===C.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 A;let l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?A:l.status==="dirty"?Xe(l.value):n.value==="dirty"?Xe(l.value):l});{if(n.value==="aborted")return A;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?A: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"?A:(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"?A:(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(!He(i))return A;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=>He(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:n.value,value:a})):A);N.assertNever(s)}};me.create=(e,t,n)=>new me({schema:e,typeName:C.ZodEffects,effect:t,...O(n)});me.createWithPreprocess=(e,t,n)=>new me({schema:t,effect:{type:"preprocess",transform:e},typeName:C.ZodEffects,...O(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:C.ZodOptional,...O(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:C.ZodNullable,...O(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:C.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...O(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:C.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...O(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}),A}return{status:"valid",value:t.data}}};$t.create=e=>new $t({typeName:C.ZodNaN,...O(e)});Bd=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"?A: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"?A: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:C.ZodPipeline})}},mt=class extends P{_parse(t){let n=this._def.innerType._parse(t),r=s=>(He(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:C.ZodReadonly,...O(t)});Ud={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"})(C||(C={}));zd=(e,t={message:`Input not instance of ${e.name}`})=>Fi(n=>n instanceof e,t),Li=Be.create,ji=Qe.create,Jd=$t.create,Gd=et.create,Hi=tt.create,Zd=nt.create,Kd=Et.create,Wd=rt.create,Vd=st.create,Yd=Ue.create,qd=Pe.create,Xd=be.create,Qd=Tt.create,em=Ne.create,tm=te.create,nm=te.strictCreate,rm=ot.create,sm=Kn.create,om=it.create,im=Ee.create,am=Wn.create,lm=Rt.create,cm=At.create,um=Vn.create,fm=at.create,dm=lt.create,mm=ct.create,pm=ut.create,hm=ze.create,gm=me.create,ym=fe.create,bm=Te.create,km=me.createWithPreprocess,_m=un.create,wm=()=>Li().optional(),xm=()=>ji().optional(),Sm=()=>Hi().optional(),vm={string:(e=>Be.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}))},Em=A});var h={};on(h,{BRAND:()=>Bd,DIRTY:()=>Xe,EMPTY_PATH:()=>kd,INVALID:()=>A,NEVER:()=>Em,OK:()=>q,ParseStatus:()=>Y,Schema:()=>P,ZodAny:()=>Ue,ZodArray:()=>Ne,ZodBigInt:()=>et,ZodBoolean:()=>tt,ZodBranded:()=>cn,ZodCatch:()=>dt,ZodDate:()=>nt,ZodDefault:()=>ft,ZodDiscriminatedUnion:()=>Kn,ZodEffects:()=>me,ZodEnum:()=>ct,ZodError:()=>ee,ZodFirstPartyTypeKind:()=>C,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:()=>ze,ZodReadonly:()=>mt,ZodRecord:()=>Wn,ZodSchema:()=>P,ZodSet:()=>At,ZodString:()=>Be,ZodSymbol:()=>Et,ZodTransformer:()=>me,ZodTuple:()=>Ee,ZodType:()=>P,ZodUndefined:()=>rt,ZodUnion:()=>ot,ZodUnknown:()=>Pe,ZodVoid:()=>Tt,addIssueToContext:()=>_,any:()=>Yd,array:()=>em,bigint:()=>Gd,boolean:()=>Hi,coerce:()=>vm,custom:()=>Fi,date:()=>Zd,datetimeRegex:()=>Di,defaultErrorMap:()=>Oe,discriminatedUnion:()=>sm,effect:()=>gm,enum:()=>mm,function:()=>um,getErrorMap:()=>xt,getParsedType:()=>ve,instanceof:()=>zd,intersection:()=>om,isAborted:()=>Gn,isAsync:()=>St,isDirty:()=>Zn,isValid:()=>He,late:()=>Ud,lazy:()=>fm,literal:()=>dm,makeIssue:()=>ln,map:()=>lm,nan:()=>Jd,nativeEnum:()=>pm,never:()=>Xd,null:()=>Vd,nullable:()=>bm,number:()=>ji,object:()=>tm,objectUtil:()=>os,oboolean:()=>Sm,onumber:()=>xm,optional:()=>ym,ostring:()=>wm,pipeline:()=>_m,preprocess:()=>km,promise:()=>hm,quotelessJson:()=>gd,record:()=>am,set:()=>cm,setErrorMap:()=>bd,strictObject:()=>nm,string:()=>Li,symbol:()=>Kd,transformer:()=>gm,tuple:()=>im,undefined:()=>Wd,union:()=>rm,unknown:()=>qd,util:()=>N,void:()=>Qd});var us=k(()=>{Jn();as();$i();an();Bi();zn()});var pt=k(()=>{us();us()});var Je,fn=k(()=>{"use strict";pt();Je=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 Tm}from"node:crypto";function le(e){let t=Ui.get(e);return t||(t=Tm("sha256").update(`tkr:${e}`).digest("hex").slice(0,16),Ui.set(e,t)),t}var zi,Ji,Ct,Ui,Ge=k(()=>{"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>=Rm){let l=s.keys().next().value;l&&s.delete(l)}return s.set(o,a),a}var Zi,Rm,Yn=k(()=>{"use strict";Ge();Zi=new WeakMap,Rm=256});import Am from"node:os";import{join as dn}from"node:path";function x(){return process.env.TOKMIZER_HOME||dn(Am.homedir(),".tokmizer")}function mn(){return dn(x(),"install-id")}function fs(){return dn(x(),"content-cache")}function Ki(){return dn(x(),"restore.json")}function ds(e){return dn(fs(),e)}var j=k(()=>{"use strict"});import{join as $m}from"node:path";import{mkdir as pv,readFile as Cm,writeFile as hv,unlink as gv,rename as yv}from"node:fs/promises";function Im(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e&&e.length>0?e:"Etc/UTC"}catch{return"Etc/UTC"}}function Pm(e){return e?.dir??x()}async function ht(e){let t=Pm(e);try{let n=await Cm($m(t,Om),"utf8"),r=JSON.parse(n),s=r.timeZone;return{...r,lastSettingsRevision:r.lastSettingsRevision??0,get timeZone(){return s??=Im()},bonusActive:r.bonusActive??!1,...r.bonusResetAt!==void 0?{bonusResetAt:r.bonusResetAt}:{}}}catch{return null}}var Om,pn=k(()=>{"use strict";j();Om="state.json"});import{createRequire as Nm}from"node:module";function Mm(){let e="0.9.60";if(e)return e;for(let t of["../package.json","../../package.json"])try{let n=Dm(t).version;if(typeof n=="string"&&n)return n}catch{}return"0.0.0"}function Wi(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 Dm,pe,It=k(()=>{"use strict";Dm=Nm(import.meta.url);pe=Mm()});var Vi,Yi=k(()=>{"use strict";Vi=`-----BEGIN PUBLIC KEY-----
4
4
  MCowBQYDK2VwAyEAj/kMlXlhTIGHRKxOKMuGFa1S1ybxxwgdYcAE0YM9fgU=
5
5
  -----END PUBLIC KEY-----
6
- `});import{existsSync as Dm,mkdirSync as xv,rmSync as Sv,writeFileSync as vv}from"node:fs";import{join as Mm}from"node:path";function Lm(){return Mm(x(),"network-off")}function jm(){let e=process.env.TOKMIZER_NETWORK;return e!==void 0&&Fm.has(e.trim().toLowerCase())}function hn(){return jm()?!1:!Dm(Lm())}var Fm,Rv,gn=b(()=>{"use strict";j();Fm=new Set(["0","off","false","no"]),Rv=["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 Zi(){return((process.env.TOKMIZER_DEV==="1"?process.env.TOKMIZER_RESP_SIGNING_PUBLIC_KEY_PEM:void 0)??Ji).replace(/\\n/g,`
8
- `)}var Pv,ms=b(()=>{"use strict";It();Gi();gn();Pv=300*1e3});import{createCipheriv as Mv,createDecipheriv as Hm,hkdfSync as Bm,randomBytes as Fv}from"node:crypto";function Jm(e){return Buffer.from(Bm("sha256",Buffer.from(e,"utf8"),Um,zm,32))}function qn(e,t){let n=Jm(t),r=Buffer.from(e,"base64url"),s=r.subarray(0,12),o=r.subarray(12,28),i=r.subarray(28),a=Hm("aes-256-gcm",n,s);return a.setAuthTag(o),Buffer.concat([a.update(i),a.final()]).toString("utf8")}var Um,zm,ps=b(()=>{"use strict";Um=Buffer.from("tokmizer-bundle-enc-v1"),zm=Buffer.from("rules-bundle")});import{chmodSync as Hv,readFileSync as Gm,writeFileSync as Bv,mkdirSync as Uv,renameSync as zv}from"node:fs";import{join as Zm}from"node:path";function Km(){return Zm(x(),"bundle-cache.json")}function Wi(){try{let e=Gm(Km(),"utf8"),t=Wm.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}var Wm,Ki=b(()=>{"use strict";pt();j();Wm=h.object({payload:h.string().min(1),signature:h.string().min(1),enc:h.literal("v1"),fetchedAt:h.number().int().nonnegative()})});import{createPublicKey as Ym,verify as qm}from"node:crypto";function gs(){let e=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(e)&&e>0?e:Xm}function Qm(e,t){let n=Zi();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=Ym({key:n,format:"pem"});if(!qm(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 ep(e,t){let n=Qm(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=Wi();if(!e)return null;let t=await ht();return t?.signingSecret?ep(e,t.signingSecret):null}catch{return null}}var hs,rE,Xm,yn=b(()=>{"use strict";pt();fn();Yn();pn();ms();ps();Ki();hs=h.object({bundleVersion:h.number().int().nonnegative(),signedAt:h.number().int(),filters:h.array(Je)}),rE=h.object({payload:h.string().min(1),signature:h.string().min(1),enc:h.literal("v1")}),Xm=10080*60*1e3});function tp(e,t){let n=e.slice(0,t).split(/\r?\n/);return[n.length,n.pop().length+1]}function np(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 Fm,mkdirSync as vv,rmSync as Ev,writeFileSync as Tv}from"node:fs";import{join as Lm}from"node:path";function Hm(){return Lm(x(),"network-off")}function Bm(){let e=process.env.TOKMIZER_NETWORK;return e!==void 0&&jm.has(e.trim().toLowerCase())}function hn(){return Bm()?!1:!Fm(Hm())}var jm,$v,gn=k(()=>{"use strict";j();jm=new Set(["0","off","false","no"]),$v=["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 Dv,ms=k(()=>{"use strict";It();Yi();gn();Dv=300*1e3});import{createCipheriv as Lv,createDecipheriv as Um,hkdfSync as zm,randomBytes as jv}from"node:crypto";function Zm(e){return Buffer.from(zm("sha256",Buffer.from(e,"utf8"),Jm,Gm,32))}function qn(e,t){let n=Zm(t),r=Buffer.from(e,"base64url"),s=r.subarray(0,12),o=r.subarray(12,28),i=r.subarray(28),a=Um("aes-256-gcm",n,s);return a.setAuthTag(o),Buffer.concat([a.update(i),a.final()]).toString("utf8")}var Jm,Gm,ps=k(()=>{"use strict";Jm=Buffer.from("tokmizer-bundle-enc-v1"),Gm=Buffer.from("rules-bundle")});import{chmodSync as Uv,readFileSync as Km,writeFileSync as zv,mkdirSync as Jv,renameSync as Gv}from"node:fs";import{join as Wm}from"node:path";function Ym(){return Wm(x(),"bundle-cache.json")}function Xi(){try{let e=Km(Ym(),"utf8"),t=Vm.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}var Vm,Qi=k(()=>{"use strict";pt();j();Vm=h.object({payload:h.string().min(1),signature:h.string().min(1),enc:h.literal("v1"),fetchedAt:h.number().int().nonnegative()})});import{createPublicKey as Xm,verify as Qm}from"node:crypto";function gs(){let e=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(e)&&e>0?e:ep}function tp(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=Xm({key:n,format:"pem"});if(!Qm(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 np(e,t){let n=tp(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?np(e,t.signingSecret):null}catch{return null}}var hs,oE,ep,yn=k(()=>{"use strict";pt();fn();Yn();pn();ms();ps();Qi();hs=h.object({bundleVersion:h.number().int().nonnegative(),signedAt:h.number().int(),filters:h.array(Je)}),oE=h.object({payload:h.string().min(1),signature:h.string().min(1),enc:h.literal("v1")}),ep=10080*60*1e3});function rp(e,t){let n=e.slice(0,t).split(/\r?\n/);return[n.length,n.pop().length+1]}function sp(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 $,gt=b(()=>{$=class e extends Error{line;column;codeblock;constructor(t,n){let[r,s]=tp(n.toml,n.ptr),o=np(n.toml,r,s);super(`Invalid TOML document: ${t}
10
+ `))}return s}var $,gt=k(()=>{$=class e extends Error{line;column;codeblock;constructor(t,n){let[r,s]=rp(n.toml,n.ptr),o=sp(n.toml,r,s);super(`Invalid TOML document: ${t}
11
11
 
12
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)$.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&&$.x("invalid non-hex character in unicode escape",e),u=u<<4|p}(u<0||u>1114111||u>=55296&&u<=57343)&&$.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+="\\":$.x("unrecognised escape sequence",e),a=e.p+1,l=0);else n!==32&&n!==9&&(l===2&&$.x("invalid escape: only line-ending whitespace may be escaped",e,a),l=!s&&n===92?1:0,a=e.p);$.x("unfinished string",e,t)}var bs=b(()=>{gt();});var rp,yt,ks=b(()=>{rp=/^(\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(rp);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--||$.x("document contains excessively nested structures. aborting.",e);let s=r===91?qi(e):Yi(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)&&$.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)&&$.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?sp(e,r,t):e.s.charCodeAt(e.p+2)===58?op(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)&&$.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)&&$.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:$.x("illegal leading zero",e,t)}else ce(o)||$.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||$.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++:$.x("illegal character in numeric literal",e));if(!i){let c=(n-48)*(r||1);return e.bi===!0?BigInt(c):c}i&1||$.x("unfinished numeric value",e,t);let l=e.s.slice(t,e.p);return a&&(l=l.replaceAll("_","")),i>1?parseFloat(l):Vi(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&&$.x("illegal underscore",e),o=3):ce(s,n)?o&1&&o--:$.x("illegal character in numeric literal",e);o&1&&$.x("unfinished numeric value",e);let i=e.s.slice(t+2,e.p);return o&&(i=i.replaceAll("_","")),Vi(e,i,n,t)}function Vi(e,t,n,r){if(e.bi!==!0)e:{let s=parseInt(t,n);if(!Number.isSafeInteger(s)){if(e.bi)break e;$.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 sp(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++))||$.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&&$.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 op(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()||$.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){$.x(i instanceof Error?i.message:""+i,e,s)}}var xs=b(()=>{bs();Ss();gt();ks();});function ip(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)&&$.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;ip(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||$.x("unexpected end of key",e),r===1&&s.push(e.s.slice(o,e.p)),e.p++,s;i===46?(r||$.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)&&$.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?$.x("illegal character in key",e):r||(r=1,o=e.p)}while(i=e.s.charCodeAt(++e.p));$.x("incomplete key-value: cannot find end of key",e,n)}function Yi(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]))&&$.x("trying to redefine an already defined value",e,l);let d=o==="__proto__";if(e.uk&&(d||o==="constructor")){i=e.uk!==1&&$.x("document contains an unsafe property",e,l);break}!a&&d&&Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0})}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&&$.x("expected comma or end of structure",e,e.p-1)}$.x("unfinished table",e,t)}function qi(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&&$.x("expected comma or end of structure",e,e.p-1)}$.x("unfinished array",e,t)}var Ss=b(()=>{bs();xs();vs();gt();});function Xi(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 Qi(e,t,n){(t===null||e.uk===2)&&$.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&&$.x("expected end of table array declaration",n),n.p++);let f=Xi(n,u,r,s,c?2:1);f?(l=f[2],a=f[1]):(Qi(n,f,o),i=!0)}else{o=n.p;let c=tr(n),u=Xi(n,c,a,l,0);!u&&!i&&Qi(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)&&$.x("each key-value declaration must be followed by an end-of-line",n),ke(n)}return r}var ea=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 lp(e){for(let t=0;t<e.length;t++)if(_n(e[t])!=="object")return!1;return e.length!=0}function na(e){return JSON.stringify(e).replaceAll("\x7F","\\u007f")}function cp(e){return na(ta?e.toWellFormed():e)}function ra(e){if(ap.test(e))return e;if(ta&&!e.isWellFormed())throw new RangeError("key contains illegal lone surrogates");return na(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 cp(e);case"date":if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString();case"object":return up(e,n,r,s);case"array":return fp(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 up(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+=ra(a)+" = "+Ts(e[a],_n(e[a]),t-1,n,r)}return o+" }"}function fp(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 dp(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&&`
13
+ `:n===102?i+="\f":n===114?i+="\r":n===101?i+="\x1B":n===34?i+='"':n===92?i+="\\":$.x("unrecognised escape sequence",e),a=e.p+1,l=0);else n!==32&&n!==9&&(l===2&&$.x("invalid escape: only line-ending whitespace may be escaped",e,a),l=!s&&n===92?1:0,a=e.p);$.x("unfinished string",e,t)}var bs=k(()=>{gt();});var op,yt,ks=k(()=>{op=/^(\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(op);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--||$.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)&&$.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)&&$.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?ip(e,r,t):e.s.charCodeAt(e.p+2)===58?ap(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)&&$.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)&&$.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:$.x("illegal leading zero",e,t)}else ce(o)||$.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||$.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++:$.x("illegal character in numeric literal",e));if(!i){let c=(n-48)*(r||1);return e.bi===!0?BigInt(c):c}i&1||$.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&&$.x("illegal underscore",e),o=3):ce(s,n)?o&1&&o--:$.x("illegal character in numeric literal",e);o&1&&$.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;$.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 ip(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++))||$.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&&$.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 ap(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()||$.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){$.x(i instanceof Error?i.message:""+i,e,s)}}var xs=k(()=>{bs();Ss();gt();ks();});function lp(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)&&$.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;lp(e)}}var vs=k(()=>{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||$.x("unexpected end of key",e),r===1&&s.push(e.s.slice(o,e.p)),e.p++,s;i===46?(r||$.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)&&$.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?$.x("illegal character in key",e):r||(r=1,o=e.p)}while(i=e.s.charCodeAt(++e.p));$.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]))&&$.x("trying to redefine an already defined value",e,l);let d=o==="__proto__";if(e.uk&&(d||o==="constructor")){i=e.uk!==1&&$.x("document contains an unsafe property",e,l);break}!a&&d&&Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0})}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&&$.x("expected comma or end of structure",e,e.p-1)}$.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&&$.x("expected comma or end of structure",e,e.p-1)}$.x("unfinished array",e,t)}var Ss=k(()=>{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)&&$.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&&$.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)&&$.x("each key-value declaration must be followed by an end-of-line",n),ke(n)}return r}var oa=k(()=>{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 up(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 fp(e){return aa(ia?e.toWellFormed():e)}function la(e){if(cp.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 fp(e);case"date":if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString();case"object":return dp(e,n,r,s);case"array":return mp(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 dp(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 mp(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 pp(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=ra(u);if(f==="array"&&lp(t[u]))a+=(a&&`
16
- `)+dp(t[u],n?`${n}.${d}`:d,r-1,s,o);else if(f==="object"){let m=n?`${n}.${d}`:d;a+=(a&&`
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"&&up(t[u]))a+=(a&&`
16
+ `)+pp(t[u],n?`${n}.${d}`:d,r-1,s,o);else if(f==="object"){let m=n?`${n}.${d}`:d;a+=(a&&`
17
17
  `)+Rs(m,t[u],m,r-1,s,o)}else i+=d,i+=" = ",i+=Ts(t[u],f,r,s,o),i+=`
18
18
  `}}return e&&(i||!a)&&(i=i?`[${e}]
19
19
  ${i}`:`[${e}]`),i&&a?`${i}
20
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]!==`
21
21
  `?s+`
22
- `:s}var ap,ta,sa=b(()=>{ap=/^[a-z0-9-_]+$/i,ta=!!"".isWellFormed});var $s={};on($s,{TomlDate:()=>yt,TomlError:()=>$,default:()=>mp,parse:()=>Es,stringify:()=>As});var mp,Cs=b(()=>{ea();sa();ks();gt();mp={parse:Es,stringify:As,TomlDate:yt,TomlError:$}});import{readdir as pp,readFile as hp}from"node:fs/promises";import{join as ia,dirname as gp}from"node:path";import{fileURLToPath as yp}from"node:url";function _p(){return process.env.TOKMIZER_DEV==="1"||process.env.TOKMIZER_DEV==="true"}async function aa(){return Pt||(_p()?(Pt=await wp(kp),Pt):(!oa&&process.env.TOKMIZER_DEBUG==="1"&&(process.stderr.write(`tokmizer: disk loader disabled (set TOKMIZER_DEV=1 to re-enable for local dev).
23
- `),oa=!0),Pt=new Map,Pt))}async function wp(e){let t=new Map,n,r;try{n=(await Promise.resolve().then(()=>(Cs(),$s))).parse,r=(await pp(e)).filter(s=>s.endsWith(".toml"))}catch{return t}for(let s of r){let o=await hp(ia(e,s),"utf8"),a=n(o).filters;if(a)for(let[l,c]of Object.entries(a)){let u=Je.parse({slug:l,...c});t.set(l,{...u,matchRegex:new RegExp(u.match_command)})}}return t}var bp,kp,Pt,oa,la=b(()=>{"use strict";fn();bp=gp(yp(import.meta.url)),kp=process.env.TOKMIZER_FILTERS_DIR||ia(bp,"..","..","filters"),Pt=null,oa=!1});function Re(e){return e.replace(xp,"").replace(Sp,"")}var xp,Sp,wn=b(()=>{"use strict";xp=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,Sp=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g});function ca(e,t){return t.length===0?e:e.filter(n=>!t.some(r=>r.test(n)))}var ua=b(()=>{"use strict"});function fa(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 da=b(()=>{"use strict"});function Nt(e){return`\u2026 (${e} more lines omitted)`}function ma(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 pa(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)vp.test(a)&&!Ze.test(a)?(i.push(a),s+=1):(o(i),i=[],s=0,r.push(a));return o(i),r}var vp,Ze,Is=b(()=>{"use strict";vp=/^\s*(?:[✓✔√]|ok )/,Ze=/✕|✗|×|\bFAIL\b|\bERROR\b|\bFATAL\b|\bError|\berror|Expected|Received|\bfailed\b|^\s*Tests?:|^\s*Test Suites?:/});function ha(e){return e.map(t=>t.replace(Ep,n=>{let r=n.split("/").filter(Boolean);return r.length<=2?n:`\u2026/${r.slice(-2).join("/")}`}))}var Ep,ga=b(()=>{"use strict";Ep=/(?:\/[\w.@+-]+){3,}/g});function Cp(e){let t=Ap.exec(e);return!t||$p.has(t[1])?!1:!/=>|\bfunction\b/.test(t[2])}function Ip(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 Pp(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==="&"))&&Ip(e,s+1,o)&&(r=o),s+=1;continue}o==="{"||o==="("||o==="["?n+=1:(o==="}"||o===")"||o==="]")&&(n-=1),s+=1}return n}function Dp(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=Np.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(Tp.test(o)&&Rp.test(o)||Cp(o)||Op.test(o)){let i={inBlockComment:!1,inTemplate:!1},a=0,l=s,c=!1;for(;l<e.length&&l-s<200;)if(a+=Pp(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(Dp(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!(!Mp.test(t)||t.split(`
24
- `).length<6)}var Tp,Rp,Ap,$p,Op,nr,Np,Mp,Dt=b(()=>{"use strict";Tp=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,Rp=/\{\s*$/,Ap=/^\s*(?:(?:public|private|protected|static|async|get|set|readonly|override)\s+)*([\w$]+)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\{\s*$/,$p=new Set(["if","for","while","switch","catch","do","with","return","else","function","await","yield"]);Op=/^\s*(?:if|for|while|switch|try|do)\b[^{}]*\{\s*$/;nr=/^\s*… \d+ lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/,Np=/^\s*… (\d+) lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/;Mp=/\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 va(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(wa.test(s.replace(_a,""))&&!xa.test(s)&&!Sa.test(s)){n+=1;continue}r(),t.push(s)}return r(),t}function ka(e){if(e.trim()===""||/^\s/.test(e)||xa.test(e)||Sa.test(e)||Lp.test(e))return null;let t=e.replace(_a,"");return wa.test(t)||Fp.test(t)?"\0verbose":e.replace(/\d+/g,"#")}function Ea(e){let t=[],n=0;for(;n<e.length;){let r=ka(e[n]),s=n+1;if(r!==null)for(;s<e.length&&ka(e[s])===r;)s+=1;let o=s-n;r===null||o<jp?t.push(...e.slice(n,s)):(t.push(...e.slice(n,n+ya)),t.push(`\u2026 ${o-ya-ba} similar log lines dropped \u2026`),t.push(...e.slice(s-ba,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 Ta(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 _a,wa,xa,Sa,Fp,Lp,jp,ya,ba,or=b(()=>{"use strict";Is();_a=/^\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*/,wa=/^\s*(?:\[(?:DEBUG|TRACE|INFO|VERBOSE)\]|(?:DEBUG|TRACE|INFO|VERBOSE)(?!\s*:))(?=\s|:|$)(?!\s*[+\-*\/%&|^?]*=)/,xa=new RegExp(Ze.source,"i"),Sa=/\bWARN(?:ING)?\b/i;Fp=/^(?:DEBUG|INFO):[\w.-]+:/,Lp=/Error|Exception|Traceback|panic|fail|FAIL|Fail|SEVERE|CRITICAL/,jp=8,ya=1,ba=2});function ne(e,t){Ra.set(e,t)}function Aa(e){return Ra.get(e)}var Ra,De=b(()=>{"use strict";Ra=new Map});function Gp(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 Zp(e){let t=/^(\d+(?:[.,]\d+)?)([KMGTPkmgtp])?/.exec(e),n=t[2]?Jp[t[2].toLowerCase()]:0;return Number(t[1].replace(",","."))*1024**n}function Wp(e){let t=zp.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)?Gp(Number(r)):r,o=e.charCodeAt(0)===100;return{name:n,size:s,sizeKey:Zp(r),isDir:o}}function Kp(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 Vp(e){let t=[],n=[],r=!1;for(let f of e){if(f.trim()===""||/^total\s+\d+/.test(f))continue;if(Bp.test(f.trim())||!Hp.test(f))return e;let d=Wp(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=Kp(n),u=`${n.length} ${a}, ${t.length} ${l}`+(c?` (${c})`:"");return i.push(u),i}var Hp,Bp,Up,zp,Jp,Ns,$a=b(()=>{"use strict";De();Hp=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/,Bp=/^[./~][^\s]*:$/,Up=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})?`,zp=new RegExp(String.raw`^\S+\s+\d+\s+\S+\s+(?:\S+\s+)?(\d+(?:[.,]\d+)?[KMGTPkmgtp]?i?B?)\s+(?:${Up})\s+(.+)$`),Jp={k:1,m:2,g:3,t:4,p:5},Ns=1e3;ne("smart-ls",Vp)});var Ca=b(()=>{"use strict";Dt();De();ne("smart-read",e=>xn(e))});function Yp(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 qp(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 Xp(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!=="")?Yp(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=qp(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>Oa){let c=Math.max(0,Oa-s.length),u=l.length-c;return[...l.slice(0,c),`\u2026 ${u} more lines omitted`,...s]}return[...l,...s]}var Oa,Ia=b(()=>{"use strict";De();Oa=1e3;ne("smart-find",Xp)});function Da(e){let t=e.trim();return t.length>Pa?`${t.slice(0,Pa)}\u2026`:t}function sh(e){let t=[],n="";for(let r of e){let s=n?`${n}, ${r}`:r;s.length>=eh&&n?(t.push(`${n},`),n=r):n=s}return n&&t.push(n),t}function oh(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 ih(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=th.exec(m),k=nh.exec(m);if(p&&k)return e;let y=p||k?null:rh.exec(m),A=(p??k??y)?.[1];if(!A)return e;let v=p?{line:p[2],content:p[3],context:!1}:k?{line:k[2],content:k[3],context:!0}:{line:"",content:y[2],context:!1},T=n.get(A)??[];T.push(v),n.set(A,T),v.context||(o+=1,r.set(A,(r.get(A)??0)+1)),i+=1,s=A}if(n.size===i)return e;let a=[...n.keys()].sort((m,p)=>{let k=Na.test(m)?1:0,y=Na.test(p)?1:0;return k-y||(m<p?-1:m>p?1:0)}),l=a.length>1?oh(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?"-":":"} ${Da(p.content)}`):u.push(` ${Da(p.content)}`)}let f=a.length>1&&u.length>Qp?sh(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,Pa,Qp,eh,th,nh,rh,Na,Ma=b(()=>{"use strict";De();Ds=1e3,Pa=200,Qp=60,eh=190,th=/^([^\s:]+):(\d+):(.*)$/,nh=/^([^:]+?)-(\d+)-(.*)$/,rh=/^([^\s:]+):(.*)$/,Na=/(?:^|\/)(?:__tests__|tests?|spec|fixtures?|__mocks__|__snapshots__)\/|\.(?:test|spec)\.[^/]+$/i;ne("smart-grep",ih)});function uh(e){if(!e.some(c=>Fa.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=ah.test(u),d=f?c.slice(s):c,m=lh.test(d),p=i&&m?null:Fa.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<=ch?t.push(c):(r+=1,o=f?u:"");continue}l(),t.push(c)}return l(),t}var Fa,ah,lh,ch,La=b(()=>{"use strict";De();Fa=/^(?:([|\\/ ._-]*\*[|\\/* ._-]* ))?commit [0-9a-f]{7,40}\b/,ah=/^[|\\/* ._-]*$/,lh=/^ {4}/,ch=2;ne("smart-log",uh)});var fh,dh,mh,ja=b(()=>{"use strict";De();fh=/^[\s=]+$/,dh=/^\s*=+\s+(.*?)\s+=+\s*$/,mh=512;ne("strip-banners",e=>{let t=[];for(let n of e){if(fh.test(n))continue;let r=n.length<=mh?dh.exec(n):null;t.push(r?r[1]:n)}return t})});function ph(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 Ha=b(()=>{"use strict";De();ne("squeeze-output",ph)});function hh(e){return e==="compact"?.6:e==="minimal"?.3:1}function yh(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 bh(e){let t=Ba.get(e);if(t)return t;let n=e.strip_lines_matching.map(s=>new RegExp(s)),r={def:e,stripRegexes:n};return Ba.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=bh(t),o=e;t.strip_ansi&&(o=Re(o));let i=o.endsWith(`
22
+ `:s}var cp,ia,ca=k(()=>{cp=/^[a-z0-9-_]+$/i,ia=!!"".isWellFormed});var $s={};on($s,{TomlDate:()=>yt,TomlError:()=>$,default:()=>hp,parse:()=>Es,stringify:()=>As});var hp,Cs=k(()=>{oa();ca();ks();gt();hp={parse:Es,stringify:As,TomlDate:yt,TomlError:$}});import{readdir as gp,readFile as yp}from"node:fs/promises";import{join as fa,dirname as bp}from"node:path";import{fileURLToPath as kp}from"node:url";function xp(){return process.env.TOKMIZER_DEV==="1"||process.env.TOKMIZER_DEV==="true"}async function da(){return Pt||(xp()?(Pt=await Sp(wp),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 Sp(e){let t=new Map,n,r;try{n=(await Promise.resolve().then(()=>(Cs(),$s))).parse,r=(await gp(e)).filter(s=>s.endsWith(".toml"))}catch{return t}for(let s of r){let o=await yp(fa(e,s),"utf8"),a=n(o).filters;if(a)for(let[l,c]of Object.entries(a)){let u=Je.parse({slug:l,...c});t.set(l,{...u,matchRegex:new RegExp(u.match_command)})}}return t}var _p,wp,Pt,ua,ma=k(()=>{"use strict";fn();_p=bp(kp(import.meta.url)),wp=process.env.TOKMIZER_FILTERS_DIR||fa(_p,"..","..","filters"),Pt=null,ua=!1});function Re(e){return e.replace(vp,"").replace(Ep,"")}var vp,Ep,wn=k(()=>{"use strict";vp=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,Ep=/\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=k(()=>{"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=k(()=>{"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=k(()=>{"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)Tp.test(a)&&!Ze.test(a)?(i.push(a),s+=1):(o(i),i=[],s=0,r.push(a));return o(i),r}var Tp,Ze,Is=k(()=>{"use strict";Tp=/^\s*(?:[✓✔√]|ok )/,Ze=/✕|✗|×|\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(Rp,n=>{let r=n.split("/").filter(Boolean);return r.length<=2?n:`\u2026/${r.slice(-2).join("/")}`}))}var Rp,wa=k(()=>{"use strict";Rp=/(?:\/[\w.@+-]+){3,}/g});function Ip(e){let t=Cp.exec(e);return!t||Op.has(t[1])?!1:!/=>|\bfunction\b/.test(t[2])}function Np(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 Dp(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==="&"))&&Np(e,s+1,o)&&(r=o),s+=1;continue}o==="{"||o==="("||o==="["?n+=1:(o==="}"||o===")"||o==="]")&&(n-=1),s+=1}return n}function Fp(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=Mp.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(Ap.test(o)&&$p.test(o)||Ip(o)||Pp.test(o)){let i={inBlockComment:!1,inTemplate:!1},a=0,l=s,c=!1;for(;l<e.length&&l-s<200;)if(a+=Dp(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(Fp(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!(!Lp.test(t)||t.split(`
24
+ `).length<6)}var Ap,$p,Cp,Op,Pp,nr,Mp,Lp,Dt=k(()=>{"use strict";Ap=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,$p=/\{\s*$/,Cp=/^\s*(?:(?:public|private|protected|static|async|get|set|readonly|override)\s+)*([\w$]+)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\{\s*$/,Op=new Set(["if","for","while","switch","catch","do","with","return","else","function","await","yield"]);Pp=/^\s*(?:if|for|while|switch|try|do)\b[^{}]*\{\s*$/;nr=/^\s*… \d+ lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/,Mp=/^\s*… (\d+) lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/;Lp=/\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)||Hp.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<Bp?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,Hp,Bp,xa,Sa,or=k(()=>{"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(Ze.source,"i"),Aa=/\bWARN(?:ING)?\b/i;jp=/^(?:DEBUG|INFO):[\w.-]+:/,Hp=/Error|Exception|Traceback|panic|fail|FAIL|Fail|SEVERE|CRITICAL/,Bp=8,xa=1,Sa=2});function ne(e,t){Ia.set(e,t)}function Pa(e){return Ia.get(e)}var Ia,De=k(()=>{"use strict";Ia=new Map});function Kp(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 Wp(e){let t=/^(\d+(?:[.,]\d+)?)([KMGTPkmgtp])?/.exec(e),n=t[2]?Zp[t[2].toLowerCase()]:0;return Number(t[1].replace(",","."))*1024**n}function Vp(e){let t=Gp.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)?Kp(Number(r)):r,o=e.charCodeAt(0)===100;return{name:n,size:s,sizeKey:Wp(r),isDir:o}}function Yp(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 qp(e){let t=[],n=[],r=!1;for(let f of e){if(f.trim()===""||/^total\s+\d+/.test(f))continue;if(zp.test(f.trim())||!Up.test(f))return e;let d=Vp(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=Yp(n),u=`${n.length} ${a}, ${t.length} ${l}`+(c?` (${c})`:"");return i.push(u),i}var Up,zp,Jp,Gp,Zp,Ns,Na=k(()=>{"use strict";De();Up=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/,zp=/^[./~][^\s]*:$/,Jp=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})?`,Gp=new RegExp(String.raw`^\S+\s+\d+\s+\S+\s+(?:\S+\s+)?(\d+(?:[.,]\d+)?[KMGTPkmgtp]?i?B?)\s+(?:${Jp})\s+(.+)$`),Zp={k:1,m:2,g:3,t:4,p:5},Ns=1e3;ne("smart-ls",qp)});var Da=k(()=>{"use strict";Dt();De();ne("smart-read",e=>xn(e))});function Xp(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 Qp(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 eh(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 b=r.get(m)??[];b.push(/\s/.test(p)?`"${p}"`:p),r.set(m,b),o+=1}if(o===0)return e;let i=[...r.keys()].sort(),a=i.every(c=>c!=="")?Xp(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=Qp(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=k(()=>{"use strict";De();Ma=1e3;ne("smart-find",eh)});function Ha(e){let t=e.trim();return t.length>La?`${t.slice(0,La)}\u2026`:t}function ih(e){let t=[],n="";for(let r of e){let s=n?`${n}, ${r}`:r;s.length>=nh&&n?(t.push(`${n},`),n=r):n=s}return n&&t.push(n),t}function ah(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 lh(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=rh.exec(m),b=sh.exec(m);if(p&&b)return e;let g=p||b?null:oh.exec(m),T=(p??b??g)?.[1];if(!T)return e;let v=p?{line:p[2],content:p[3],context:!1}:b?{line:b[2],content:b[3],context:!0}:{line:"",content:g[2],context:!1},R=n.get(T)??[];R.push(v),n.set(T,R),v.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 b=ja.test(m)?1:0,g=ja.test(p)?1:0;return b-g||(m<p?-1:m>p?1:0)}),l=a.length>1?ah(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>th?ih(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,th,nh,rh,sh,oh,ja,Ba=k(()=>{"use strict";De();Ds=1e3,La=200,th=60,nh=190,rh=/^([^\s:]+):(\d+):(.*)$/,sh=/^([^:]+?)-(\d+)-(.*)$/,oh=/^([^\s:]+):(.*)$/,ja=/(?:^|\/)(?:__tests__|tests?|spec|fixtures?|__mocks__|__snapshots__)\/|\.(?:test|spec)\.[^/]+$/i;ne("smart-grep",lh)});function dh(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=ch.test(u),d=f?c.slice(s):c,m=uh.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<=fh?t.push(c):(r+=1,o=f?u:"");continue}l(),t.push(c)}return l(),t}var Ua,ch,uh,fh,za=k(()=>{"use strict";De();Ua=/^(?:([|\\/ ._-]*\*[|\\/* ._-]* ))?commit [0-9a-f]{7,40}\b/,ch=/^[|\\/* ._-]*$/,uh=/^ {4}/,fh=2;ne("smart-log",dh)});var mh,ph,hh,Ja=k(()=>{"use strict";De();mh=/^[\s=]+$/,ph=/^\s*=+\s+(.*?)\s+=+\s*$/,hh=512;ne("strip-banners",e=>{let t=[];for(let n of e){if(mh.test(n))continue;let r=n.length<=hh?ph.exec(n):null;t.push(r?r[1]:n)}return t})});function gh(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=k(()=>{"use strict";De();ne("squeeze-output",gh)});function yh(e){return e==="compact"?.6:e==="minimal"?.3:1}function kh(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 _h(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=_h(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=>Ze.test(d)||!s.stripRegexes.some(m=>m.test(d))):ca(a,s.stripRegexes)),r!=="normal"&&!t.preserve_exact&&(a=sr(a),a=Ta(a)),r==="minimal"&&!t.preserve_exact&&(a=va(a),(t.slug==="vitest"||t.slug==="npm-test")&&(a=yh(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=Aa(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=ha(a)),t.fold_passing&&(a=pa(a,t.fold_passing_threshold??5)),t.truncate_lines_at&&(a=fa(a,t.truncate_lines_at));let u=null;if(t.max_lines){let d=t.scale_with_level?hh(n.verbosity):1,m=Math.min(t.max_lines,Math.max(gh,Math.round(t.max_lines*d))),p=c?Ps(a):null,k=p?p.filter(y=>!y).length:a.length;if(k>m){let y=m;if(p){let v=0;for(y=0;y<a.length&&v<m;)p[y]||(v+=1),y+=1}let A=k-m;if(t.keep_failures){let v=a.slice(y),T=v.filter(I=>!Ze.test(I)),E=v.reduce((I,M,L)=>I+(!Ze.test(M)&&!p?.[y+L]?1:0),0);u=T.length>0?T.join(`
27
- `):null,a=[...a.slice(0,y),...E>0?[Nt(E)]:[],...v.filter(I=>Ze.test(I))]}else if(c)u=a.slice(y).join(`
28
- `),a=[...a.slice(0,y),Nt(A)];else{let{kept:v,dropped:T}=ma(a,m);u=T.length>0?T.join(`
26
+ `);s.stripRegexes.length&&(a=t.keep_failures?a.filter(d=>Ze.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=kh(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?yh(n.verbosity):1,m=Math.min(t.max_lines,Math.max(bh,Math.round(t.max_lines*d))),p=c?Ps(a):null,b=p?p.filter(g=>!g).length:a.length;if(b>m){let g=m;if(p){let v=0;for(g=0;g<a.length&&v<m;)p[g]||(v+=1),g+=1}let T=b-m;if(t.keep_failures){let v=a.slice(g),R=v.filter(I=>!Ze.test(I)),E=v.reduce((I,M,L)=>I+(!Ze.test(M)&&!p?.[g+L]?1:0),0);u=R.length>0?R.join(`
27
+ `):null,a=[...a.slice(0,g),...E>0?[Nt(E)]:[],...v.filter(I=>Ze.test(I))]}else if(c)u=a.slice(g).join(`
28
+ `),a=[...a.slice(0,g),Nt(T)];else{let{kept:v,dropped:R}=ba(a,m);u=R.length>0?R.join(`
29
29
  `):null,a=v}}}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 gh,Ba,Fs=b(()=>{"use strict";wn();ua();da();Os();Is();ga();Dt();or();De();$a();Ca();Ia();Ma();La();ja();Ha();gh=20;Ba=new WeakMap});import{readdir as kh,readFile as Ga,writeFile as ST,mkdir as vT,rename as ET}from"node:fs/promises";import{readdirSync as _h,statSync as Ua}from"node:fs";import{createHash as wh}from"node:crypto";import{basename as $T,join as ur}from"node:path";function cr(){return ur(x(),"filters")}function Wa(){return ur(x(),"filters-trust.json")}function Ka(e){return typeof e=="string"&&e.startsWith(Za)}function Sh(e){return wh("sha256").update(e).digest("hex")}async function vh(){try{let e=JSON.parse(await Ga(Wa(),"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 Eh(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 Th(e,t){let n=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},{tests:r,...s}=n,o=Eh(e,r);if("message"in o)return o;let i=Je.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:`${Za}${i.data.slug}`,matchRegex:a},tests:o.tests}}function Rh(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 Ah(e){try{return(await kh(e)).filter(t=>t.endsWith(".toml")).sort()}catch{return[]}}async function $h(e={}){let t=e.requireTrust!==!1,n=cr(),r=new Map,s=new Map,o=[],i=await Ah(n);if(i.length===0)return{dir:n,filters:r,tests:s,issues:o};let a=t?await vh():null;for(let l of i){let c;try{c=await Ga(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!==Sh(c)){o.push({file:l,message:`changed since it was trusted. Review it, then run: tkr filters trust ${l}`});continue}}let u=await Ch(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 Ch(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=Rh(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=Th(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 Oh(){let e=[];for(let t of[Wa(),cr()])try{let n=Ua(t);e.push(`${n.mtimeMs}:${n.size}`)}catch{e.push("-")}try{for(let t of _h(cr()).filter(n=>n.endsWith(".toml")).sort()){let n=Ua(ur(cr(),t));e.push(`${t}:${n.mtimeMs}:${n.size}`)}}catch{}return e.join("|")}function Ih(){let e=Date.now();if(!lr||e-Ja>=xh){Ja=e;let t=Oh();(!lr||t!==za)&&(za=t,lr=$h())}return lr}async function Ph(e){let{filters:t}=await Ih();return t.size===0?null:Ot(e,t.values(),null,t)}function Va(e){return async(t,n)=>await Ph(t)??e(t,n)}var Za,ar,lr,za,Ja,xh,Ls=b(()=>{"use strict";fn();Yn();Fs();j();Za="user/",ar=1,lr=null,za="",Ja=0,xh=1e3});function Ya(e){if(!e)return!1;for(let t of Re(e).split(`
33
- `))if(!/^\s*[✓✔√]\s/.test(t)&&Nh.some(n=>n.test(t)))return!0;return!1}var Nh,qa=b(()=>{"use strict";wn();Nh=[/\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(Mh.test(a)){r++;continue}if(Dh.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 Xa(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 Lh(e){let t=Xa(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=Xa(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(!Fh.has(r))return null}return Lh(t[t.length-1])}function Qa(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=jh.exec(e);return t?bt(e.slice(t[0].length)):null}function el(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 Dh,Mh,js,Fh,jh,tl=b(()=>{"use strict";Dh=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),Mh=/^[A-Za-z_][A-Za-z0-9_]*=/,js=/^([a-z]+)-tool(?::\s|$)/;Fh=new Set(["cd","export","source","set","unset","mkdir","true",":","pushd","popd","alias","ulimit","umask","echo","printf","sleep","touch","rm","cp","mv","chmod","ln"]);jh=/^(?: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(nl,"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")+nl+t.subarray(s).toString("utf8")}var nl,rl=b(()=>{"use strict";nl=`
31
+ `),f.trim().length===0&&t.on_empty&&(f=t.on_empty),{text:f,droppedTail:u}}var bh,Za,Fs=k(()=>{"use strict";wn();ha();ya();Os();Is();wa();Dt();or();De();Na();Da();Fa();Ba();za();Ja();Ga();bh=20;Za=new WeakMap});import{readdir as wh,readFile as Ya,writeFile as ET,mkdir as TT,rename as RT}from"node:fs/promises";import{readdirSync as xh,statSync as Ka}from"node:fs";import{createHash as Sh}from"node:crypto";import{basename as OT,join as ur}from"node:path";function cr(){return ur(x(),"filters")}function Xa(){return ur(x(),"filters-trust.json")}function Qa(e){return typeof e=="string"&&e.startsWith(qa)}function Eh(e){return Sh("sha256").update(e).digest("hex")}async function Th(){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 Rh(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 Ah(e,t){let n=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},{tests:r,...s}=n,o=Rh(e,r);if("message"in o)return o;let i=Je.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 $h(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 Ch(e){try{return(await wh(e)).filter(t=>t.endsWith(".toml")).sort()}catch{return[]}}async function Oh(e={}){let t=e.requireTrust!==!1,n=cr(),r=new Map,s=new Map,o=[],i=await Ch(n);if(i.length===0)return{dir:n,filters:r,tests:s,issues:o};let a=t?await Th():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!==Eh(c)){o.push({file:l,message:`changed since it was trusted. Review it, then run: tkr filters trust ${l}`});continue}}let u=await Ih(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 Ih(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=$h(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=Ah(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 Ph(){let e=[];for(let t of[Xa(),cr()])try{let n=Ka(t);e.push(`${n.mtimeMs}:${n.size}`)}catch{e.push("-")}try{for(let t of xh(cr()).filter(n=>n.endsWith(".toml")).sort()){let n=Ka(ur(cr(),t));e.push(`${t}:${n.mtimeMs}:${n.size}`)}}catch{}return e.join("|")}function Nh(){let e=Date.now();if(!lr||e-Va>=vh){Va=e;let t=Ph();(!lr||t!==Wa)&&(Wa=t,lr=Oh())}return lr}async function Dh(e){let{filters:t}=await Nh();return t.size===0?null:Ot(e,t.values(),null,t)}function el(e){return async(t,n)=>await Dh(t)??e(t,n)}var qa,ar,lr,Wa,Va,vh,Ls=k(()=>{"use strict";fn();Yn();Fs();j();qa="user/",ar=1,lr=null,Wa="",Va=0,vh=1e3});function tl(e){if(!e)return!1;for(let t of Re(e).split(`
33
+ `))if(!/^\s*[✓✔√]\s/.test(t)&&Mh.some(n=>n.test(t)))return!0;return!1}var Mh,nl=k(()=>{"use strict";wn();Mh=[/\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(Lh.test(a)){r++;continue}if(Fh.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 Hh(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 Hh(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=Bh.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 Fh,Lh,js,jh,Bh,il=k(()=>{"use strict";Fh=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),Lh=/^[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"]);Bh=/^(?: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=k(()=>{"use strict";al=`
34
34
  [YOLO: omitted]
35
- `});function Uh(e,t){if(!t)return e.split(`
35
+ `});function Jh(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 zh(e,t){if(/@(?:p)?\d|\r/.test(e))return e;let n=e.endsWith(`
40
+ `:"")}function Gh(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(y=>Hh.test(y));if(s>=0&&r.slice(0,s).some(y=>y!==""&&!/^Showing \d+ of \d+ (?:open|closed|all) pull requests in \S+$/.test(y)))return e;let o=s>=0?[...r[s].matchAll(/\S+/g)].map(y=>y.index):[],i=[];for(let y=s+1;y<r.length;y+=1){let A=r[y];if(Bh.test(A))continue;if(/…|\.\.\./.test(A))return e;let v;if(s>=0){if(/[^\x20-\x7e]/.test(A))return e;let T=o.map((E,I)=>A.slice(E,o[I+1]));if(T.slice(0,-1).some(E=>E[0]===" "||!E.endsWith(" "))||(v=T.map(E=>E.replace(/ +$/,"")),!/^#\d+$/.test(v[0])||!/^\S+$/.test(v[2])||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(v[3])||!/^\d+(?:s|m|h|d|w|mo|y)$/.test(v[4])))return e}else if(v=A.split(" "),v.length!==5||!/^\d+$/.test(v[0])||!v[1]||!v[2]||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(v[3])||!zs.test(v[4])||!Number.isFinite(Date.parse(v[4])))return e;if(v.some(T=>/[\u0000-\u001f\u007f]/.test(T)))return e;i.push({index:y,cells:v})}if(i.length===0)return e;s>=0&&(r[s]="ID TITLE BRANCH STATE CREATED");for(let y of i)r[y.index]=y.cells.join(" ");let a=r.join(`
44
- `)+n;if(!t)return a;let l=new Map;for(let{cells:y}of i)l.set(y[1],(l.get(y[1])??0)+1);let c=new Map,u=[];for(let[y,A]of l){if(y.length<40||A<3||y.trim().split(/\s+/).length<8)continue;let v=`@${c.size+1}`,T=JSON.stringify(y).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),E=`TITLE ${v} = ${T}`;A*(Buffer.byteLength(y)-Buffer.byteLength(v))<=Buffer.byteLength(E)+1||(c.set(y,v),u.push(E))}let f=new Map;for(let{cells:y}of i){if(c.has(y[1]))continue;let A=/^((?:\S+\s+){4})\S/.exec(y[1])?.[1];A&&A.length>=24&&f.set(A,(f.get(A)??0)+1)}let d=new Map;for(let[y,A]of f){if(A<3)continue;let v=`@p${d.size+1}`,T=`TITLE prefix ${v} = ${JSON.stringify(y).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}`;A*(Buffer.byteLength(y)-Buffer.byteLength(v)-1)<=Buffer.byteLength(T)+1||(d.set(y,v),u.push(T))}let m=i[0].cells[4].slice(10),p=i.length>=3&&zs.test(i[0].cells[4])&&i.every(({cells:y})=>zs.test(y[4])&&y[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:y,cells:A}of i){let v=c.get(A[1]),T=/^((?:\S+\s+){4})\S/.exec(A[1])?.[1],E=T?d.get(T):void 0;r[y]=A.map((I,M)=>M===1?v??(E?`${E}:${I.slice(T.length)}`:I):M===4&&p?I.slice(0,10):I).join(" ")}let k=[...r,"",...u].join(`
45
- `)+n;return Buffer.byteLength(k)<Buffer.byteLength(a)?k:a}function Kh(e){let t=Zh.exec(e[0]??"");if(!t)return e;let n=Wh.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 Vh(e){let t=e.endsWith(`
43
+ `),s=r.findIndex(g=>Uh.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(zh.test(T))continue;if(/…|\.\.\./.test(T))return e;let v;if(s>=0){if(/[^\x20-\x7e]/.test(T))return e;let R=o.map((E,I)=>T.slice(E,o[I+1]));if(R.slice(0,-1).some(E=>E[0]===" "||!E.endsWith(" "))||(v=R.map(E=>E.replace(/ +$/,"")),!/^#\d+$/.test(v[0])||!/^\S+$/.test(v[2])||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(v[3])||!/^\d+(?:s|m|h|d|w|mo|y)$/.test(v[4])))return e}else if(v=T.split(" "),v.length!==5||!/^\d+$/.test(v[0])||!v[1]||!v[2]||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(v[3])||!zs.test(v[4])||!Number.isFinite(Date.parse(v[4])))return e;if(v.some(R=>/[\u0000-\u001f\u007f]/.test(R)))return e;i.push({index:g,cells:v})}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 v=`@${c.size+1}`,R=JSON.stringify(g).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),E=`TITLE ${v} = ${R}`;T*(Buffer.byteLength(g)-Buffer.byteLength(v))<=Buffer.byteLength(E)+1||(c.set(g,v),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 v=`@p${d.size+1}`,R=`TITLE prefix ${v} = ${JSON.stringify(g).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}`;T*(Buffer.byteLength(g)-Buffer.byteLength(v)-1)<=Buffer.byteLength(R)+1||(d.set(g,v),u.push(R))}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 v=c.get(T[1]),R=/^((?:\S+\s+){4})\S/.exec(T[1])?.[1],E=R?d.get(R):void 0;r[g]=T.map((I,M)=>M===1?v??(E?`${E}:${I.slice(R.length)}`:I):M===4&&p?I.slice(0,10):I).join(" ")}let b=[...r,"",...u].join(`
45
+ `)+n;return Buffer.byteLength(b)<Buffer.byteLength(a)?b:a}function Yh(e){let t=Wh.exec(e[0]??"");if(!t)return e;let n=Vh.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 qh(e){let t=e.endsWith(`
46
46
  `)?`
47
- `:"",n=Kh((t?e.slice(0,-1):e).split(`
48
- `)),r=null,s=[];for(let o of n){if(Object.hasOwn(sl,o)){r=sl[o];continue}if(!o.startsWith(" ")){r=null,s.push(o);continue}if(r==="untracked"){s.push(`?? ${o.slice(1)}`);continue}let i=r?Gh.exec(o):null;if(!i)return e;let a=Jh[i[1]];s.push(r==="staged"?`${a} ${i[2]}`:` ${a} ${i[2]}`)}return s.join(`
49
- `)+t}function qh(e){let t=e.split(`
50
- `);for(let n=0;n<t.length;n+=1){if(!Yh.test(t[n]))continue;let r=n;for(;r>0&&ol.test(t[r-1]);)r-=1;for(let s=r;s<n;s+=1)t[s]=t[s].replace(ol," $1 | $2")}return t.join(`
51
- `)}function Qh(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 eg(e){let t=e.endsWith(`
47
+ `:"",n=Yh((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?Kh.exec(o):null;if(!i)return e;let a=Zh[i[1]];s.push(r==="staged"?`${a} ${i[2]}`:` ${a} ${i[2]}`)}return s.join(`
49
+ `)+t}function Qh(e){let t=e.split(`
50
+ `);for(let n=0;n<t.length;n+=1){if(!Xh.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 tg(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 ng(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=>il.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(al.test(c)){l.push(c);continue}let u=c.startsWith(" ")||/[^\x20-\x7e]/.test(c)?null:Qh(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=>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:tg(c,a);if(!u)return[...r,...s].join(`
56
56
  `)+t;l.push(u.join(" "))}return l.join(`
57
- `)+t}function tg(e){let t=e.endsWith(`
57
+ `)+t}function rg(e){let t=e.endsWith(`
58
58
  `)?`
59
59
  `:"",n=(t?e.slice(0,-1):e).split(`
60
- `),r=n.findIndex(i=>il.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(al.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=Uh(e,t==="minimal")}else n==="gh"?r=zh(e,t==="minimal"):n==="git-status"?r=Vh(e):n==="gcloud"?r=eg(e):n==="oc"?r=tg(e):n==="git-diff"?r=qh(e):n==="tofu-plan"&&(r=e.replace(Xh,"$1 = "));return Buffer.byteLength(r)<Buffer.byteLength(e)?r:e}var Hh,Bh,zs,sl,Jh,Gh,Zh,Wh,ol,Yh,Xh,il,al,ll=b(()=>{"use strict";Hh=/^ID {2,}TITLE {2,}BRANCH {2,}STATE {2,}CREATED *$/,Bh=/^… \([1-9]\d* more lines omitted\)$/,zs=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/;sl={"Changes to be committed:":"staged","Changes not staged for commit:":"unstaged","Untracked files:":"untracked"},Jh={modified:"M",deleted:"D","new file":"A",renamed:"R",copied:"C",typechange:"T"},Gh=/^\t(modified|deleted|new file|renamed|copied|typechange):\s+(.+)$/,Zh=/^On branch (\S+)$/,Wh=/^Your branch is (?:up to date with '([^']+)'|(ahead|behind)(?: of)? '([^']+)' by (\d+) commits?(?:, and can be fast-forwarded)?)\.$/;ol=/^ (\S.*?) +\| +(\d+(?: [+-]+)?|Bin .*)$/,Yh=/^ \d+ files? changed(?:, \d+ insertions?\(\+\))?(?:, \d+ deletions?\(-\))?$/;Xh=/^( *(?:[~+-] +)?(?:[\w.-]+|"[^"\n]*")) {2,}= /gm,il=/^[A-Z][A-Z0-9_]*(?: +[A-Z][A-Z0-9_]*)+$/,al=/^… \(\d+ more lines omitted\)$/});function cl(e){if(Buffer.byteLength(e)<2048||rr(e)||rg.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(ng.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 ng,rg,ul=b(()=>{"use strict";Dt();ng=/^(?:\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|$)/,rg=/^\[tkr: previous log line repeated \d+ additional times\]$/m});function fl(e){return og.test(e)}function dl(e){let t=e.endsWith(`
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=Jh(e,t==="minimal")}else n==="gh"?r=Gh(e,t==="minimal"):n==="git-status"?r=qh(e):n==="gcloud"?r=ng(e):n==="oc"?r=rg(e):n==="git-diff"?r=Qh(e):n==="tofu-plan"&&(r=e.replace(eg,"$1 = "));return Buffer.byteLength(r)<Buffer.byteLength(e)?r:e}var Uh,zh,zs,cl,Zh,Kh,Wh,Vh,ul,Xh,eg,fl,dl,ml=k(()=>{"use strict";Uh=/^ID {2,}TITLE {2,}BRANCH {2,}STATE {2,}CREATED *$/,zh=/^… \([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"},Zh={modified:"M",deleted:"D","new file":"A",renamed:"R",copied:"C",typechange:"T"},Kh=/^\t(modified|deleted|new file|renamed|copied|typechange):\s+(.+)$/,Wh=/^On branch (\S+)$/,Vh=/^Your branch is (?:up to date with '([^']+)'|(ahead|behind)(?: of)? '([^']+)' by (\d+) commits?(?:, and can be fast-forwarded)?)\.$/;ul=/^ (\S.*?) +\| +(\d+(?: [+-]+)?|Bin .*)$/,Xh=/^ \d+ files? changed(?:, \d+ insertions?\(\+\))?(?:, \d+ deletions?\(-\))?$/;eg=/^( *(?:[~+-] +)?(?:[\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)||og.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(sg.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 sg,og,hl=k(()=>{"use strict";Dt();sg=/^(?:\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|$)/,og=/^\[tkr: previous log line repeated \d+ additional times\]$/m});function gl(e){return ag.test(e)}function yl(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(!sg.test(s))return null;r+=1}return r<2?null:`tsc: 0 errors, ${r} files${t?`
66
- `:""}`}var sg,og,ml=b(()=>{"use strict";sg=/^(?:[A-Za-z]:)?[^\s"'<>|]+\.(?:[cm]?[jt]sx?|json)$/,og=/--(?: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 ig.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||ug.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=ag.exec(d)??lg.exec(d);if(p){s=-1;let y=p[1].replace(/^file:\/\//,"");fr(y)||(r=dr(n,`${y}:${p[2]}${p[3]?`:${p[3]}`:""}`,r));continue}let k=cg.exec(d);if(k){s=-1,n.push({kind:"code",text:m,num:Number(k[2]),pointed:k[1]===">"});continue}if(fg.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 dg(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(y=>y.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 mg(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 kl(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 pg(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=kl(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 hg(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=kl(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 gg(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 yg(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 hl(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 gl(e,t){return t.push(re(e.replace(/ in [\d.]+s(?: \([\d:]+\))?$/,""))),(Mt([e],/(\d+) failed/)??0)+(Mt([e],/(\d+) errors?\b/)??0)}function bg(e){if(!e.some(f=>/^={3,} (?:FAILURES|ERRORS|short test summary info) ={3,}$/.test(f)||pl.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=gl(s,r));continue}if(/^(?:\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)(?:, |\s|$))+(?:in [\d.]+s(?: \([\d:]+\))?)?$/.test(f.trim())){a=gl(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=pl.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(T=>T&&t.has(T)&&!l.has(T));k&&l.add(k);let{body:y,loc:A}=hl(k?t.get(k):f.inline,f.msg),v=m.length?m.join("::"):"(collection)";c.push({file:d,name:f.kind==="ERROR"?`${v} [error]`:v,loc:A,body:y})}for(let[f,d]of t){if(l.has(f))continue;let{body:m,loc:p}=hl(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 _g(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 wg(e,t,n){let r=bl[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&&_g(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 xg(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 Sg(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 vg(e,t){let n=bl[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:wg(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 ${xg(o.slice(c,f+1).map(m=>m.f.name))}`:Sg(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(!ig.test(s))return null;r+=1}return r<2?null:`tsc: 0 errors, ${r} files${t?`
66
+ `:""}`}var ig,ag,bl=k(()=>{"use strict";ig=/^(?:[A-Za-z]:)?[^\s"'<>|]+\.(?:[cm]?[jt]sx?|json)$/,ag=/--(?: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 lg.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||dg.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=cg.exec(d)??ug.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 b=fg.exec(d);if(b){s=-1,n.push({kind:"code",text:m,num:Number(b[2]),pointed:b[1]===">"});continue}if(mg.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 pg(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(" > "),b=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(b),o.push(b);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 hg(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 gg(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 yg(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 bg(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 kg(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 _g(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 b={kind:p[1],id:p[2],msg:p[3]??null,inline:[]};n.push(b),i=b;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("."),b=[p,`ERROR collecting ${f.id}`,`ERROR at setup of ${p}`,`ERROR at teardown of ${p}`].find(R=>R&&t.has(R)&&!l.has(R));b&&l.add(b);let{body:g,loc:T}=_l(b?t.get(b):f.inline,f.msg),v=m.length?m.join("::"):"(collection)";c.push({file:d,name:f.kind==="ERROR"?`${v} [error]`:v,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 xg(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 Sg(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&&xg(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 vg(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 Eg(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 Tg(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:Sg(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 ${vg(o.slice(c,f+1).map(m=>m.f.name))}`:Eg(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 _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 kg){let s=r(n);if(!(!s||s.failures.length===0))return s.counted===0||s.reported!==null&&s.counted<s.reported?null:vg(s,t)}return null}var yl,bl,ig,ag,lg,cg,ug,fg,pl,kg,wl=b(()=>{"use strict";wn();Os();yl=/^(?:(?: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|$)/,bl={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}},ig=/node_modules|^node:|^internal\/|site-packages|dist-packages|\/lib\/python\d|\/rustc\/|\.cargo\/registry|\.rustup\/|\/go\/src\/|\/go\/pkg\/mod\/|\/libexec\/src\/|<anonymous>/,ag=/^\s*at\s+(?:.*?\()?((?:file:\/\/)?[^\s()]+?):(\d+)(?::(\d+))?\)?\s*$/,lg=/^\s*❯\s+(?:\S+\s+)?([^\s]+?):(\d+)(?::(\d+))?\s*$/,cg=/^\s*(>)?\s*(\d+)\s*\|/,ug=/^\s*\|\s*[\^~]+\s*$/,fg=/^(?:- Expected|\+ Received|- Snapshot|\+ expected - actual|\+ actual - expected|- expected \+ actual)(?:\s+[-+]\s*\d+)?$/;pl=/^(FAILED|ERROR) (\S+?\.py(?:::\S+)?)(?: - (.*))?$/;kg=[gg,yg,bg,mg,dg,pg,hg]});function xl(){let e="2DlNe3IoL_nqC-B3EtLBsvf7_ZOoPq_4AnVBH4KYFlIZqTz8RA-ClUHaatjbGGVbTKJZ78v364A87lhATRYVTRlrlT2_4LkDPtAfc_DdPoxOItN83C29geHyySG4JIApEsLQ4wpWhVDeSbZmgswd9HMgLNU8iM2fz_09KM_bITXWe4eJT5d46EgVk3g2JzwW8gMp6rbkzeo7Hf4MyXh_d0y5ZYYgfIL6Ea_pMoaj1l2S4B3zVFuHMarOm2rwGBly0WXRvMjkSZU7gN79yZ_a02QlYvz3IVPT8rwWSxHYJA87uUJL11UgCpmRMjHaFk9dXS9f3MVG2ljmVLp7qBVYgs3E17_NVb2U8pFPaFBUO_9LiYcs3Jfpg-sLy2vwvpnxcmQ-FAoYmlrv2tvKBBgHhVbFMqgfobEek331oWIKRALFg56es_SruASFEtP_IWfoyA1P9F_vsmGHjT_nxHMW8lUvva5afHDghQY_kqSWLCLUMwakt5fx4efdvpUr4i76jOVRCWIfnQfwqsp9UQqOvYQHoLk98dSme4S7A47pfWK-Bu11nJxVqZl4hKWtGwD3ZogFmY7v5iBhTH6Fx5Uja5ftt-BN_FRLvS5vMzgVhi2SZ-JVwxFPQNHl7s-7cKxyeOHpGVy-SfMGMolwLZSG-usn7PTHZlN32aaBidaNKXfKf7D1x4_FpdLBcKxGMguUrN5oGsfa9X-Lxm5lZ8vty0X-t9nMwsb-P2cDplQXdzsphoEroOwgBSVGVjbqM6IqRG7ObjKww7UmRcMzEfipcIRboSHaKySHazhva3zyqE-oqIKAGeas188tv7XiVEHKWNTTuKZ8GdvhrZUfAfij0QR4y4a5GoD2g0lASo50oukh4TnpaF1w_cHze7hTjZZnnxu0QIpuyuUokLiMQ5f7qZxhfr3fC1JF75eCfRvCDQXtOpq2GHphirg1lsXrTVWv8QF5Ju1hB4Tv7c3BVxjP7VRIjeD4Vk9OHEj-i1CWv8AYWoSvUwhhbwzIrXbdWGictV0d0mCZFtePSmJTQ9g5_DFn1mKVyvZioETlfratzyFc0e5cG7TO7TWxiEqJVb2YMJsnzzNoPIaGjHpd3D_DpWjr3Ja1EwhV-PbxI8VXkIHTVAYBBPos5-qlhmDluOxrcrcFDQufwHsXI_cHcgkjsiV2a6aB4mlHHzLIeu-T4AZTgiov8yj9G_ZhP3UVxLMOYBfPcY2tHdHfiG4WY82n9FmZ48B2nVGDCQQFqROC0_5tuvS4fsWwy9dU383VWI67K9jfLLa0yLc8RYG_8oSwQrB4viX62SX61up7yIo-AEe1qUbaGh3jZRWkRTkDikzQv9_-vH9G_nIeoGxtFRA-fNryDW6-m5iMXsgwbYwXdBFV8G0hAA09xf9v8k_SwRS-SOtY08zoqzL1WJV8DIF5wYwgdzPYN06NAsA91OfY5-ioAtxnKGhESnMPdmyhmn0KQfuVt5XG816m524MNr2h5iEfHVKoXBbN51Q3wNfAcA4UhTty2jdqcbvTAxskYuwYKAKphRKj-NpcyZyO9zXiN-vpoq56Xod9A2izjmpDlvzF597qDGAWTEggUpESQHY3lwOw082EHDmFfZCvEA9DDRjoZ4q7OopkdUMmhZ2b7SNMKigNaJUxdjZ8jiWVfEgFbhz90I4hp6t-qVrhrtmJgddxDxseOaw08aAmIKmDPo3EhQKr-g6EKdmfbpTEm4qiTPB3QSMLmcd_xZugadjtIJIier67lkldxIaQiyQYHHr-XI2lJVp298_KMMlVQ5yh1b4E-sis_DQCugwNkVIPkayKULTz2oJBAkOpe9DJifldkPpikQjoiSBDidC4BChmcM8cQarHr_vBQRWL7by_xIXUq-MTj6XWp8gMPuCSbUwl_d16kpa6fzWAASkHCbWsOVinuL3IGZSDfF-ch4XdcBkLBUMARxWNOMPKCWc3GYlf-8VXpIzxQrbST1EC8IcTHsTmerWS2gvR5gbIJHh0c-sa1OQqMQ7thaNRsbdhc1WkE5NjOyXAczDiQQNn9uIl-3XQQQ0-NBVsK5qseprbbMCnkyE45BIDFUSqb5wjyeT5HLD9RVp-ksin3j7xjLLLHURa1rDzQDevPaAyJ5OTG7amiLiNztpLsPBtMmAL37xNbwQT4o8xNrFvDWg8NtwXGjAIYbd29chaqgDcQ213lnkdJ-kjUuB4ABuj1-iit9ojETk5RGyvhuOYpWd2xPdXVd5af8XY7V90ELxMO3IQli20FMijo1ESEfjmSGabvxiXkZgX91JNvdPY_ubRJhbMA0qer0dzMMgsLARquI2YqcwNyKOXz49KHtIWOjc_T7xS3fkvVh1G71gAtc_IiaVIACgeNO0JWgPd3kNzxuIPQ78UqyqlwXS0PgIvcubK-5tFjRYpqsPg8CCgqCRmOtO013EJETGkQUfrOojlTvCgxz10qPcdYFiE7kHUracs8vCx_tEUmTuU8ubUfpsvPsSgUm7A1lubxIXPYHvORPkqFmrUUVF5iAdvOixbiUT6_QGxHOWX-MmJ8m6WvD-03UlNcvLysrza1cdzkl3uhgtgv0NtrH84PdvRrs2ExJlyZYnniAFu0r8gHw2UeaK698PgNrKPuEioUl_xViXwe9iamc-6j7P9r7uuAICTe-vabTz-8hrymUknrVxdH7luUkX3ul0IGGRhvQ_HBIAg9SoW8DlsR7j0ZsSUrOZa_DkJkQYSfifbKOJf_3882StJOJsT8G2NyvrkcQW8sVkkLnyXI6idY8fLr1YGlZaSzwIXrK-u5b6mRUC2kjRWANXgXuKmnT3oQk2jUyzw3dRMcvhf9OqlbOagbE0n-JCgeu_Vp8QxUd1DrN9g7vjFo-kf_RqCUn1MphpZ_SvGl7Ypt_Ml2sVyHiHFHCXi3y5synGOx14Za-pdJG-mn-kT6RQ2SOJNvYQHLr5RBsaYY7UA9ocqd4XWu2swo_uv4Re7beyZnStrW2Ieu_K-ukOcHZ6Dl1DzoTEDnOrxR1YaFlUur15LKNgGOh3Rkw5BTtUjYbRQUvvdnm2SActQaV4wC8ppKaOoDt421v5DwrOtOmATIOjAw-EVW0_13gAgf2MhCVUKYm8TNYccX5Eu7oYlQduoRarhSd5htZXB00znFbDPSMQ7e4IDFE_z4hrwPpqHAN_YJsZ7ZYcN_rTJME-bpPrbM4B7Wp5L7p3YMN_RaGkrnH5s7J8sEnJ5vAZISHmFgoeCq356QUrj5NIYjO_JqSzPgYYoA4zDxvXF26zm9WRKNUYFEcxAIVCiFGIznu6hesl09UrVQNlFuwv2p1uq8JJemKcu7k8H4E7K3pAQ_ZXWdQ1WyV3oRA8c9KMX2Bu_HSkepC30JdlPMLieQWD8Fgi4isEzJ5axxpWInRB4O-i43xmmQQ-H28KJ13B7ohLfeLQvCauMH-5NSAdTYTgEM8vuyugm-q2yjgkpSe8CEgdRkygeE37FQqgiTQVmyeqEv7sZfW3c523yTFdbUgmgJaGW1kUvJ2yWkbV8_LIzOyohfVJ30ALx-T2KPmB7AFKHUiYCyT3fJbVWvzbla9HFYtsKss1NWAGSYPDeA7a6PkMpFv6nbeX_HQlMVcujuci9c11MxZTOEaDrQ5Sc4GsDqBEdEsf6FX8kpONCiSF_XZSqJ_roN4aYRVMPoHw1I28_AbrCA2Kv8HVd2YkIQm-iufHUkA3sq-W8FTVPJV8rgDZf8D0pjmhHnZov-7dy-uLCTvxDRu8Ymaix8cI4l5peICeTDNNWXZ8lPCMLCT_3qy0_vLtm4EuRpyVmeDvJqxMuSyn8cKbM4Jz_Fneu0n6YTsq01DYr8eTcrphkYg7lIUSobi7TvTdykE0py4-ns2DHcz90bmKpEoAEhnrk7Jq6aCUt3nE29HeFL_a3bp7pyUz0kxtXbMvYABpqEEgdl7BobiBZrokKyR5BgopSmp0gvMDAdsbUc6Tsby84yxGyyyuJtnAtKV7-4vuQAGmZp-p7E1hc1HHg3rLlIIBX2wrnppmJYe50Sot7EzpDWRWJK06qnUm0c9fUhSIWkgg-LPPugSqlFytTdAOnJjWCcnhl8f8xy6heASGVIRWoUQolqvlu5o9LRiB9lxkULFJRkC1yztZTQOB4Zf9UHqQUt4uYvUV4kUGAHlbnnZ2yaaCG9M0uQRyFrWg_AvSht0MGHzg9Dgmx5PdsSImh8EMuElwvMqX1cay5pc-P0pqAa5qufM3otX9RlnsEbGMC2N6ISqL4O7R2AoGzQsNJ-jfFe59k_HEqdqI0cJUiUW0y-agR_m5GxNaGb6BnYjh3G3PBg4nlfdwfYx7a7Eo3WL2Om-Cu0RoXTUqBtWxUCb28Hb4L-czEjOJX9hQpSJ4u_oKvYWp1IGAYI8ydXFm38WTHauVthEAYx4q-LBPRMpsS8OguS5H5pK1AE9UNxrDW0gvwWnDUJxwIzT4MVDKy7OvStwU6HIGTVHuq_U58nWbvFQhv5M7XqifWmWzfjnBCs2c-YElzQWzXDgvQoPuzXAfMAwtNCMj5ed-WPvxZPoHKBfBKIpKQ7_InS3KhXJOSkwV4-hGTpz2WLpsjq-za5S4EL7JeZi9vH3_O0hFXOH6Zag0bObuDQAjBjMKp2F8J4vO4g7h6pn-AcsCYM-6MI2lzO7rVHH_lqSYxVzBKGd_3kGKz-B1mnI_Ag4wYPoO12EyyIEi8_csL626ZvjlTHQUAR-u6sJsENfnc6x7kjCK5mRX0dGPxhGZvFBfm7bZTXhU1CbfdkaqOFZLdopyPlaeQRjmXykhOg_trC1jgwQAYJ1GcihBBN-fWi9rx51inW9RdKLQZfBYhGEIqs7b-Fr3D383HlCi9zZdqSSjP4NxKEw9J5TwH415Jrg-Cw0Bb0SPuOIgYceXvNkhUCyKVfjQu5oyrgsdaSPj3tUirYEXeFRdJP9_p3vNAn8oh6_bi4wLumTu4Lv7J44E2Nk9BkZEKKPIRKmOqLmnUb3OzqEh31L_3Z8eIBNOssYgRRSJ3eCmP-w564InhIKL_fh2BkG9GXBrx2_oJkv2sNo0LMN3aFsaeytfCI27KHwWhqY45WpZFUHYtNVzuLsrJh0kBtlrKtbKJWKMTsuwjwUkP74O7-5PMogxT0CHAD2uJ235T_zICJXvJYK1f1UAWDaWZuJXYMaxToJ9PqPzAaxaJ0ejItyPVSDGxyH71Deb1p5tVGvsXe92HTS_AucjmC4n7rwfTqJcvOYD4UsEdxO_kOVQuLHwzBZnJ7lRF6ZAhAdn_ZCNREIfv-CLVNhojuwvPeZ8iFvvvdzT_zBQanw6FmW9al456mQJRU4MB6HMSTqslbPQB65zm_6rtuPSCQ4scQx-DcZdgmOHLEUqzfOcqeEe_GC9xJrIq_JKs9tlqU-GYZkfUhAPaK6BXJ-53ic5JUJUReTgK9Hzk-ePsQfTg6WJDoYn2Dp2qAT_Nu2A5DqVEo5K37dGj00yVWfa_X_UklBLrh4zW14wVVKJ4OvMn7FhU3ckb_5X49Z2tRmj-RgzxhVTjc9Q9lGZK_ZlRzy6NZt6BhQ-6NDA1BWiaplBkzQsMERUPNHC1tuedhltc5rTJVm72hkezySx4YR45ANSWp1dq0i-8i_67aFaw0DSmEf3EZkfzr_KsItt3PMbRedPmPkCQ5bTMy0Hw7r7sw8zJeBp9Qj54ZiGERG3fAP12yXLbpLuS_3dtDFwfJum49rJrzg2H8ZdJxpb-QJQYdQQb4G-TWoID2C9HcQjBDoFwbEGmwKLpvFmH8Dz_KcQO2VestdTCNxvMPWbAEG2r2JHmwwLOWOzq6V4O8bC36MnSB8ONXVDeKIT7hcVsmziVv00Qd14NKD0pC8HhAhrtdXYtHDiTRqzdQG90QroCJ9lQZ0bl31RdDyf9EusjLU88DYfy9Cq95eOmF81c4OWnS_BpugdzYxt7a-M55BNCyRJi0Vt8k32A1CYPs7AMa0f8eY19nCUiA6F-EQsgw2nPLCKal3wO21YOacb09396hrnwnL8quqYLuCA0wpdhXd1Q273S_d9oTquUQz5pGJoLhUFJgYu5--ztJfofVGOBSNdZ-mRSPbol7pYzCvekZthTagVRBIAKl8hPXqq8lkTdWPuTTRSnpek8eA3UWFNBjWwmnwZpdHtbFRrgDNupCKSMnFA-I-MeUa-f058GwzNkBj6msODbY44xmI1kkG4jkCioTv6Kwlh_cw86vWPZJaxAEDqIPWuTtjPLPmoBOeqQlZbumcTOnJgCKAxX0JHtFiiH058RH6boUS0vVxyeYIw6J32NUX_7Q3TJrb9dWc7At0_ne9cGNxx7FJrELyzOAhG6jy0QBWsXTs_2L9yo7EKPv68iKy23v9C0Ipi_t_PCU6tUYm4ZTiEjwVlayETFTL89bOZvTtfevgZUR4MhUywcpgwkeUGORtiAB5LwNjmwHtV7IIXcucA5xXV8QmZ-XPrnpVd_0r5pQ4bA_rOUPwLISfalRJA_QIIB2YcdiH-0IIEvjQWIf2WB55I-W3raNm9Yk_va8PCbuTg97JvkoVgqG46lbTO4ZorWC3Q8Hzfi0zK1N67OBseQsopVQh22UDWeGW-Rdxn2H_7BnuKkmCJQjaJmXlkyzO-937BlEsSVkhOX7NfOBXpgZ2szVlnZi7ZJMjIzMzK6-sdEOOKXNnXSVTbwoVZk3wgg1qAuRubehaBokHjyRl2crhSVHuZMS7Nd4wN84e3g7-WLHFB1Ti0qE_he4oi4WpTInQI38FrBeJTdmWCzeOm47-3bYSVXvgBdwKqLsGqQCIYVI7a-jYo8EvkE3GOEoaLVkvM6cur95rDm2NDPkQyjXKK1v_jQopVcTJFmd1j2CYkFDF0TdZmrNSuOWHJ7sxlGmaFJTylQKYqYN9CyMsZFp8MPSNE963y2jYtEXTYvVUiwkHEoUPMNXuMfgKlYBCXVIbnY1BOyoJBAMwiO83tSgyKJWBFKhDsva3lKEnUE1ORAjgTq0Ka1ZXy9x6iUKV2rXBGX-8NztUiYO-d4lgi3Gci5NY3CSrXfyriRRmnCfU18kXSfKuoSPE4GwoUcAh4QquLaI8ojk-XuUtqti4ST-Pz1RFK3SZSFiMRJMAkTbD16-YdOd9H96uN23n5Uiy6SV1M0iOFsQv3GGAl6kYePfEZ9qfwudGDPZdCzSIwdjXqYtyfwxf9-KiiZeZxNMgdowtZDpC4lI9InjlzyPMbYoNNNzE587NlHDcIPbGudgpOpy7O_cfp_zQsnA6vz5-SxasBeMSYfX9a1RN5cY1zxqKjDPYMNYHNJIr9iyDteTx-ONO0TN5zUYWlM0ydqe_4xi0-BzuovSPALNHDInXyxhjerUZD9E9YpVW-Qg7YpFfJ5v_SE7ssl-VoywkqqRGVNay3zYCniRxujhqh-llr9TfAeViUdhRuq1jg_P-Je763UH7aUW5pRB2Vn2F_-vW8lddp70YrN-c-l8xlYEiwZEInTz94ELDPqfjjq5zNbv2XBaq0x6a4snL6-W88MILiprnVfs2DOmsOJNEuKYd3ORtcxiABq4xa8UVr4vkMKlwJT18vUH-eP_l4NzTicmUYFXrx8csexLWDh_mBiJeMw4kmJyISaErcqplf4KI9iW9qlF-R8i3JgurVXoz0IQ6b_HI0_aRNDHXYCqj-tw2BotBM8RmwlwjRjwveirrb4bLzqyNJ6110Qp_AlG8wzH_jYZDenwoNTjO-EkO5eSMbUwoKjQtnF_R7afnzOy9LJ_FdFp2dtiIdHFTYH1fYoUI7cMS2GEgnf3g4X0QkMDnRHMBpQ-ne_zHyg6TBerhQrb_LfrCG_zh5-OKuc1OkUKSdDaIL8VqSS1NVXuWjbEwjtKoOc30IsDrYiuv-COoYxkBhy3H1MW-_-d3bkFtCkQC4dw1kds2xSB4ctjsKujG0c-xp1UBM3ra02XquK7eSQaY5h9sp-TMNfOmJD3RQeWxjVU1Jsd3ZBL2QJLQe5cZMPydSWeLXlWSEuGj2dDMPYYXdBdYrDUoCmjtEIByPFlbcayrlAuVU1yUv8leODBhoGD_ixGfSf3DQ-QXIPUNUrTjMs-Z2GcHfZW0xipUSoNCll6Y1T1ZHqoIFwXOEIpuAfN-3X9sWHI9yVUy8M5dAYWGcIRowPyQHkMiwqztyoud8DDPaqIZ5xX1BGJprbaavGql1n0fl_GR85SqDE7-IQvAPD6walSpZeMwWPx9hGVpRIN5c2b1DS6Rm3ncITDTQchFt3XTux9AGwbad7cH1RO8cNg1wuQ6yfV9yF_HDpwNxEXztkw2MeLiL87oKOMzWgvsSdZTAad_FHLJxmf0v7WIubj4Hpd1wkY_xsbHc4AU4rkddgnzjM5XYb6NSb0cxqk57gKvwQO-yw19ib6Nqt44NFR-TRlLsl9VqkyRMbweshZYUQJuv-rV124zyFUq5UVzjYfuCCrCLb3sawhtG69fUJPTvajlApq_200DuXZtzPLzLdIxlH_kCAeXm5q0FljbTWA3Vy8djME5erIif1XIO67BLQui0zMgqsRvZtTq2wfE9gGqT3EdSdwvzghjdd6xcLX1bPz8miM5faX1iNdZgaMflIWnknORPSXo-XXJXmu5UdZAFvSPx8DZPfYSMa96eGMS6aKiOcgDXiEmQx6XDzJIIYr8iln8TbEOe02pQE2pScMR5Xbc_DwFq094sPbShE6wMsFyYxNPoTcpue1z0D3hlplNFHy_dNFGV-6BahVWgLhM9VdZWPIHZwqmMlOipYY_Gm966Q-tAHDtM5AICCSR7uBNwo-pwqeYdJPy-i4CW_uxzFGvxJUqxNe0xir9u9oyj-nQ-7oHRx_LzYaGYq44qfeRsDatDSdJG2eQwMd8DOpGTIUAxzWrN9KhX4gJ_HHLviUqrUhzIt4m1d8TjOtFuNCiAF-F_2tDEh7c8s3renSwS-JYPVUqbm5lLivA4Imu7ew7a8lb4s_gJ0hGe5ZjBA8lF3sOIwtsln6wAdg8vUR7jBTz8sQBBc7sYmnIcHggeg87dZ7Goti2CEYzmWHipzN_S30jTI9Kn3ENuLBPysNguM5VAJzCHUgQrLEKOAFGv6jEtHPF6C_EM_WGvJIefuWKcsEnx8ZG7CyzIWJv6GJRahJbBFyPlDdKWhpWPL9CnHLbRYDhrVSJHcESkCZMQIbJerf-FgyAEaOrMNBNERSh90UIKlvnSKRqTx2vsUdvPIaDwQYGNygrbuuxnoup-pnLVkGVnXPA8bS0QMYZkndo6AEBdbcuTJp3jQKyl2AZQeQ-QNnO3D8NZStqG04BBXnKSUK7pthEO0GFTk1J_rk-K_5s9jCxmuUZFb2ghRBYf2sA-G3x4TslKg5CmxE3XH5rvvRhmrwVyFOiGEkMnC2z2jm-Y6_DluNQBVlSzeN1yFZ9eTfEXTNIzkDxmj5gA6C0s5kKQljUOrS2ZBv9_Oa9EssChglz1AOnK-b7cY2DpnpgN-Wu1EC6Q7hXyNH-rSmD9OuhcPGQ97vbGHAjcXzj4LRL-X-8KtWO9XUGM3EwJDj7-YJAFALJ3QrbIIawiTbHT5MFCu2aiayQmTauJQ3B7aWHf9AE6Sb89u-hPenlHIpDIXrPsaNcPPnOQeKaBlgEe7vfguofKAT4vZt67rnDOxnZBkAk8xEUUp0PLRxyXTp8KjrAqBPToypii1LIKTFOqx6sExP6Ij1Mz7nZ1wjp9Pt0FQ9wU-_T6iU79m5xpZxT8D6_gdeZ3TLBFZSLS8AhgJbBY82kqUKfs-ou_3XZk0dqB73UKHLkWebZhEpO92s-iCoh0OXI_gSRCftsGD0oK_uPLQrw4e4MV5CEiGgVcBGYyCTCTPl_LbEzEGygad2kimtRTJBUiDbp0evSnVK6DFprRknYCobLlnVj6ZcHkvnYmAG82WRavMByImCYlAfrl26bE3QoklzuNX526kByHKPtIR-k3UF_HyO8gLUWsVpxZYxP1NmSyEOuJUWskWzg7spfA1M8VuKbImjoM3syNaYm6I4No2nYNxmZcpLvdnDTzpV1VvLGkwJH4YI40jDj9ydusf93Y9cKrjgh0E_65_9i1ofs1T5CGg2K-8l1XEGcAMHGpE-WYfM_Sso5ZQH39bZ59wukm3i3qWSJW69cud2hmd6jESsF466tujBtwJdoTTobYH4nrCDfIOgFjFhk0eqTQJNAdvU7sx748W58sS3YyVNPhJ-sMLAu9K7jCvWcuBbMcJYkiHcwgQFOGFc4mh07SOgW1RDUEiIKnbxobFL5sGQNr_tpQZNC8I8gWpKCJab-dBGoszbsfNTar8N8dLeDyQ9ELxzYcs8ZUWLYvM51x660bdA6TzQmh6yttxE5xWCu9aVL5n7aXUxbne4Vay1cgMbs9EJiqpgEb5KI4FFndcs3SOglHC4rdgffh79eDUgatqXJdKjJfSKpsFcHxZaYFFfKyk-SbR0XL3eREYKErectWssBPwskjlAcFUFgSyARBvGiVJZnrjn4kqMQBnVmoLooFK5KLbkXmTniNBSJXW6mJErYnrKfA9pjH1uRfGYjIbTdMQhMIvbfzOIhoz4mdYcuTbnU2DYxiFDPaMY9ib8eYvtG1YU9ChU4psbC3yy8TjXKx-EGJwpn8QaiilgMiMC1hGL0CHVCp2pIWgBTGd6nCPkrqQf2L5KM2z7I4cYuWF9rogs3sjlQXKPx7Je5inlKzDvdvHdxrwCfmaC-XgOZA3f2CudVphincVIeS88wJ6g_kHBmwUb3Ijy6DCpG_I3LLCecQhOZqvYdAbThAJ66ZULAsWSSX_HatdZ6kwRX3OUyBVj0ZEVhVycrRYX5K0Ot1Q_GlYf7ZBd1IcbMob-yQjIhMzntTl3vAnY3rpwfeq-sdoP1XHb97RIcjtubrIMLKiM0Tnuj1504VbWNHxS041r3kqpPNl3FIbGJDRDhmTgM0LYwBbNIRN8qP-5KWhI7Xulf3yoSp3jsdxfKu9meOuYXurjSl4hqeJ2DWS7euzaB2pbc9vYBHjJiNzsMTDAdZmpaNbTk7baWf-NIntf-_HOiE913Dy4Ah5X2bNjaBU5bfSapLw3ZVzsRAiKBC_PD9ldFGfJg96Fysv5Uxs5sB0KnKvPStK_OSWinMgA7cC0Z_XLGuTfG7T6jXl4zyKFzZOuGZiZRYULbTMGoAEwaYHS_4cJy_pWdgYwCimhV_D2_FzZC_dRRoEnYjsRiE2-JFRlDbaYcDnsmO4YP0ZBloxuuz3ecfp6JTrkRvTbQiAATaKkxsP1uAs0OayY4yvN6aI-jYXZvEbpf6LWMDe3ATMEPIkVckq9Iz9vJlM7dy2hbjxWHbsAoeucaW4XlKBZ7OL4Cp9OKdu0nbK4UHd0l-n8Hp2svZssBUm1dWLzTgt8GrxCNw0qBOPH0Y5nA3Urr8HO6DF4GGMr_P7H8qCp-L79nhYz9dg0ZtxMYpVhEj-R9_l0ciQxP3Ot7cKlS6131npYebnfnLq59juZycqB8MlICLVNhJbYIkP2K8VevSt9KPLD6fxMuChEPgW31HTRigkbV_uXf8lOK2oeMcAN-3BcBKbvF-QoHn5K5oxZma4MJoPzrm6IR8fLMQ4bqAYRFD-JPCJD2MiRA-JlFklo-r6I71J8VrPHMNhJIrjDbWlmx8aalo5y010QImD45-V9OGeBjWrcPgPM5tBxMkUBJPJoElnoJsi-y4H1jGay4WeiPpPpjSfW7Ipr9pQ-r_CWpCZB7s2Qwa2RMvUV0o_a4Rdd1H2gpQplOFW4NbRVKI4MSxPvfEazI8z3LeFpGR1FIn7Txl3P8_C1AHTV8iZI0dMHq90S8NFTIh2fdx_3y7ypgf-AvS6tOI1UPIhk4OqPCLa8oQvqyc-1OQutMMMz-G_qIqN53OF_7C-L7tvnnIEWtL-pVUrouLtk92H5auTPkKeGYByt6Cu7jroJSfoDTJPlK3OEbm75aq_TEyVpqSh7vdsx-o171g0LXRku5fY30juuKMej2rkoG_vc0KviVGqMN-vK9pWSY8gmcmlkB2nc9mXU3QbqeDa-2ht4YrwolI71oDQWLscTX0-6aVYepgGggXdPbHIVPG3GE66UNxRDrDc0I_Ck_ICteCu6sDM4X07ydEJ_uBxnetsh7EOvQ-xN66V4yIID_q3rKTz-g9NwRwp2_--nk5KIoZPWMkGg1HFVsFwy6aRIR8XIN5KBJQuurqyvN-acfTd5HdiNHLw1pNk-GqdNctiY-o-WivD6r8nDnBfhECYQ6BPCwZ2OYRK-lJNE5x5Bv6k7XVfB2xzCdsxbjRZRJRH_n0YN12juZ2HcjNucadvbXXoj-lOCjctDSRKmTCqTLpeUs4-WhMKP8hMdrUKHdOY4nvarsQ-4A9ljiv3RMyIFDcZ9bVdBRwMG1L4ku-TLfedygXblamt7nCaV7a_iTQsk43TVQ0bzD1RkcauqfuxdkRleltW-iajX3oOiH8QPRE_RdxFfVPPlqwCX7AC1vsbUO6q9ufHLGTOsmoQogJQDdAg6fds2yKUwuYz2q4kwW9xPmXfG3iH4Xpuqcv1C2kl8dgXqrXCXulTyTP0j5A7B-nHFsUMj1qtFiaJ3Io1HoQhUYGvtS6E4bbXWDGc7MBW21bSNWLpoVhRly7bVNBwPeiAYBJFPxRon2mg2Mw3XKoCa4aYCr3Z4rY53aKijb2JWsPCy5ZKrcsfOObNWlZ5uUMeKcuMVGMtoQbKX0oaMYBFnxaxnz9SI-FG5gvgD-ZXU9Zn2QEYAm_HHaDLN1xai7QKqqVJaepvu1wK7QMUdDx21oH6Do8EzidnS5vndgtMNTPNxnVl4-RhwrJIl09oySTpS-iRr0_-x5Kzz_HLJDYLVe_5aZ0ymzmek5GbOcItWWvOuZIVGuvIP8iyogejk4Jl_z6dkdc9CaMNGVkv4V__waWNPpcGaOPgd47WvvCEjta1TX4Ve78xiZloEaoc0kMdyyNQdwUS7K6HFQBBpP5_9cAOxmi0bMjNrV230cSpEpmy4UvbLYtX8Sh5B45KPZC__9NDdZ0xJAkmHJjvG4Ozzrre3s4IrrmDzV4zAfMwdcdu29r2BcCw24_bRiXAGppkZ_sdUn1l7_6zSr-eJxm2gSDQRqZNQrlxtAigPaH0zRfP2a7TvfAUBuirZsrwCRGeKNqqUEpcOn9_qovuznUJ7j_Ist71cWINHWPvTZr3A24Uz_3wxW-h8SBGla7wjEpRFULUO5v-JT3ZP8M2xu5qlrzD0CGmhtwo7DhjoTnMvEcKXa7DQmj-ZDRZJtpQ23EeoxpmEnCtnfxQ_9_Q9cXWqPeWlJ4Wy1a_ldXSzXtCSAwAVm6f1GjTSRFKO3GQTUELBC3o2Yhu8pxee1PueVZN8bBs2JdvyfhD-b8IsO6Z18Hs9Em0cGuvuiTeX_XE_O7IKHzIQoHJ8wq4hgTCHfy8-qzGzHuV9ThRLud266wU3bbHK7pM81oDZCSjrzTeSV4fEFov1zCi-_fge8DPmEjCP37SfmGksy81X8MZkVCUvXqry8HeIou1dsYmR6Ec5Fu8Gz6yw4gtWX18MXYHXZuroz9O_bwkEFliltRY8ru-Yri1ytrD3BBiOvELpPS5wBiidcVo52WII8GnTx13eZDZshO2eEAOJzeF9pmRMLsyfgWz-Nz9olkmL0fFgqaTdUk8TdEzX0p2_Qrb1mzUASQ8NX5wSkWKieHlu6YPh4qeGVeomQy9ImYSdJXjZ9kDwYwbd0Im3aQPVzL4eTJx-PeeXS7p6KjUd5A3VMrCneeaYfzMQ0yp9TfQnB7sZHKviL-KVSfw9_XL3JNWs2wg-5fC4DUrrOmdxzySj5CED1R7-cBf9tV1XV36rqcw0IqPyI2aZqGoDCLVeHVi8DOiAYOdMygoR5r-B0v9xO-aDMCTrra0ihJG1Mgu4JEsIjxRKtcTfivfqd_etLp74s4UQcvvWov8Dm_8TaqCfUZJpS30YdXHvNp-fg-EOvx1-5qLLTIc31IDE-ZxokejwJ91TPuGmrBeA2_aiNpLkjLtNBrMbeUlA75RRbwM1WeLdEuAzOcahboo88ESy6SU8I_JGwTeW4iuV4W5zND4-VO_LPLmkjDkTBR42-vPETk9WCLAOOPkzJos4Y6Qc5r_1gxiJ0zhSutyw5FNgdnhwOccMFXUcrW998mDrYTXXqQKnkxaLE-grHEUkthTi84YfPe9R2Z_U0_kwH-TKlK0RrZ0-kjo-gFabuuSBwvKp3gHhABcf6xGWvmpXM7VMOHdsXjQ_WUjMhixL1z_VoiXb9X3lfOJQ1OsQyB3hloLiO9XjB2_Dd8VVN6L8FT95b4snGJoZ7lSnRbhNqwQz5V1N667okChJTB9Edy-3-y1drh_vPSXURFeLsm55yVgyy0aC-lSVivxQ986cy7-HlK-Jz1IO7qAOUoRkATziPk03nhcjdiIJv4AuHslLm7ScGl8dC4EApz1uzvsAWCW6fLVq0JKHSp-gTm2j1pZv_hefMpFnQhOcDiJ74bL7oWuQ0H9hSLJDSo0xXqY_vhkz96V4emzjcQ5FnMHxNZIsHcuBFmzo_pbUhdQOh2N-rSb5QDDKzXi9WDQkE3rrHmYxfaNvsoXxIzPXLyvfWGqrC2RBnL652OaoR8jXQOdkY_2SDJq7P6h_YhJVsFAD2c1HOu_c3CvPTtj6GCdkxbWGsf8KgJGOlRwmAuRhkQ6Yqq2I9T4G9GNY6h6g--MBFT4vZb0y1tYR-JaJZBfW_WzU_kGydzsOGt1itxrQRBMg3D716_1eKjyISxOBVo90HGp2Uz4w1coHSj0j4sWQutVL3Ni73vco4YzpSaNTDocJjUHaTMVJwq8nljp0OxF0rd3rs0wgUVg4dWBvWY9OhddADwz9d1AkIMBGR5BX71JYUDvd73_s1xY6VwDZfUym-2z_VEccHrTb27QMzraTksMNSZ1uJEGJiEQOlgkxBYVOTSBD_qqxXxQDgFa7cK8CW7vTzAEuckB4vnc_NtN_kgQopiKsS3E-UQUbmvQgLu0ADfYnUxxDrrKKRYjfMDhx8RfMFM5ZQ4nJETUtmO6SSH6w0MbAkND-enI7iU7e6sJ_9WxPa-6Xc-SnYS0VBqwoAbTLgJv2if1dPX8IlknAMwcnfC8TumhBZl7N104MwaUU-xe1ID8maowvkW1pl51jOC5Rto-4D0G5WKUhJ9gHzlxIb0gwjfvf4UvFRPzcnTriycDc50WB7gG-RWxk81A6wcTsXGRCnohk0Z9HMKJGdzD0zjpq_HdynBx4YsWAl2kip07Xy_L3uqI_lpX63r9oQCoDDKgMmTOlKhHdPHGoDxI5JCFgooAqywtb16fmvP7L_CnzIAJhpYbb24OxbVupYKsAt-fapF7t9oTN67VzOvHeK152jYEkAUNiHhnOMii5uLN0SLFDTJ-uzS2g8gvQFNi-geb4edkoAtpzN-31YmLCf5v-QBs7Gtx9e4qjSYS7vIVCw_MtRbWu0c_f_XV6Jv2mXnNhS9nWN602nTFl-B-CiGPan49lp0XBpcm1Yq62_NQs6-8b6So7j62bt_ro3AhXI7fgZXPQC4vkyrn4yxnUI8YIKkeAQ7KyjGcr_o1SqPYsuG8laOdpUiadg0hl81VpUIX_IUDSJFLW8VDUvcHxl6cL3PMM4aBlTkKDmxeH9mGD_PzFssuJP2IE5TWW-i-6HVQ0-gc2_S0XevqFMg8WnlVNMWADENg-a0_9BGiYpWO4VFE73hYeXvkCUiwj_HUwRveGo9SOK2oax0hvjDUZLRioRA5ONQebMtfyExMeBXZ7VzGuAzAuRWCQSj1oFsKkXbeXyUtNn4kITJtAIQ8jizWtwoDw4GN1POFwautw83rGjrXNyOiuyW84K7Sv2dV7-IdFs4jixptuecIQ44i-yCqN8s1qrMejfORuoNWzioIEWL1EuALW-bs-WfjnTlBtqMdJA35FHN0dwIA5L82GEM_buEuijZY9vPNF1GWnvQTWRNT48B42bnLTwcp8nFQhIdSX1r-H0ObMPboBhoC6DKMaxWYWrorJ70nZZYRhplP_WnGWepvgbWcmBBk-uM5tCDVt7OvRZnwkrC5XxXXS16CuSiWfatPASPotOn3e0gHgwxzwt97lxCRqkfLvrPKDrWMUUo26T-kYOdhMwp4RpDc4IA0OhpHICqyCkEArkGRfnIKWjSSSnnVw9XH2LxR4dDndkaOk4uldmGTswoj3aYLWYJcsVis-Hjev6aHQ3t2aAEh1tXoQPNgaMU2bEy4lfSCxt7mvJLQ3gm1JcuQLCctnvy51ydnwzKzIu9a0yedVfJ4TD4OHSrg4kbHMy2ZRcHyoP3jM97Ik4YTf8Ik-CyLNrItBCEK8XlV_fBXFD65U52QNLQ4sAkTLbymxbeNwbQlzrNX59qUBe1grHVTSpRd1Joz_sfEY0fcybLdydnd37-vjzGN_AAKg5Ic0Ycg42w0hB7BqWeuaDFhi_pL88pyu42o6rEA2U5S48hXfLZaic8wl4527uXFCQt_tMcVbGw2Jb1cxLZWFLVsuRp4WRPlCpukMY8co8hJ2hv3h4GiUYvf04co1qSgIHXQLl8EsUh9rBicUWiQ35KYrP-M2sbNWvDDIRQQ2rSAre2-jmXUCWahp0rF2UOj1sMbLWmKzfUNpXRWLTw12u7NSri7vPv72WqmEMYEet6FolGtanIW4rJFhR7dzZblu5izXNYqVExK0ssqIJR3I2mEuCaFJqDTwesTIcv78m_LYiTZn5KVLgRLkDKBxcTwsNtPGqNUum6fiq7YX44jtzATNEJmG5lXnQAvbqVbUlWJcHZGDVDPU9I1f1liOo2WLJPb6cKDeNcgbUG7xaUXbX3P0BhxKEtUl8sAt_lc_LrrPosuTSDDnZijdj8svxeRtNasULzb48V9FxbeH1jX9MgdDJOPtzyAngLl1ArH7MHZnldh2yE_Cx3ltFE7z3dkplFcoSHujv3ljs9fk4khhKv9oD9UK26tawidNu4OAxMXNDgQfJsn4zqwqMH30SYPCpPYmYuleG3eWazzZrl001QVjoJndVowmukMZw6UI6Vo4ND5Bsrrbv8d5V1AjhlKTK8MRwi6_cgEclqedaEks3U3jh0Z4G167S6Z94nU3UZ3qyGjlFqnlbFsQhA0FPKYFkxQXgCjyCy74ft_MKPl9mTaOOALlsOIrx1sntCeoq-ANJyzzL1GwJsuq62JftS2W9FD6qqR-wpV7NGtwC8nqc252Vm467UlxG_me0ktvOyI0ZmpiV3YCUnHXPwZVzqJ1NWIQr90n5dkY6otFYkPWZ8ZYlCw0Z6k_P3oA8q3CU_JPORv67_wUI19ZRu90HdqZpA3edp0fQLSv__MrtQaU0aQF6uDJABrsJFIjwzHBR9ZY5qZEmM-dphfokhE6vj9d_02_exmbY04jd88RCui-GamsGExXgq7CtLx910Try6zj4hWAaaPgMBs7FQGLYqpdHHtRMUqrBrme2vdwM3VAIUMjB9OEoYblfik2xj-HcaBWNpLNmoIst-yhKRdoZrZ6V7qqoVAMLJb2nw5SyCL4Bleac3PrpleGf1nB9ne9WlEQcGAvi4N74PJqnHs4kvLk8OHloLFf-7OtoH1Tk6HUURKkgKOhN04HJYlZJesWvae_cguSGvVr1zUZGaCZWe7e9kBhVFT9QWT160o2W_ZvEmu2u656TeVnJcEp6AVFdYxS6A4lSCfhFfh0zLYFh82BKMWFHEG7U35yEAxrMTe2p8dHlzsfVjQqzBXBsEpkHbmR49i1ICw-mgj374dQmXtHfgC5jmEYgTgJsSEfYwniI8G08FhBEW6eOLDXgg2hBOQUqEBU-w7pqyyrqREorSPPZgZT8Peoyd6FtuqnYMm31Tfll-BlOXztq9PeJx6xNrm2MgiBFHwJnbJOl61wG__svCREyI5FeNEoJvfocezrhNm7OwhkyZwlgTf51Ghbwvk2SFa_UvKFoln0zCm3jD5Z_FnZzezeFkVZFn5bhj18522QvM_EuDxZ1LIMlobtQZMC3znoF9l5cULQcR7Oc0TXVWqu7jEIBhFJ9OiTtVz13a6Bc17fEd2dH8DXFJRIzNlC7mZyGitQnMo0n38otMsA60Gtf018lfibgT8CXb0PGaSHLqsLsUgJsbmZJg1bekfcXUZiZj2itJDzqyOUaXakKoTwI4G3mI24fTJ11CioQrO9xPbNkSCBEHJv9EHld29Vp0Q_9X0NzeRVmUpO3W-VKPAtkh7BhW3DTVUyLfwM9rZkVsTcL2DaAnPF-vIH6pyq4WwqBpgSWvx1vyx99hx4lNzddY_-L430p-HxQhnJqene3k0MiW2YJfs-_Kqg3NHt60RLqLjdMhgBcBWI2wLRpEyOcptuEhy4NX3IEDWXikFpkVuh5Wa5T-MtquL984aS2Vzkt_3odV4bXvEojm7dE7JUIP4OKHlaVIT0uVZSob1hTxhAtN3btOj57kWTKbz0OoAMNHbG_0jL67pmxywchkr-gQTrAMzy0RqI4GWavFlLRFAdGPDy1nOI6QWcY6352kL9W_jpbJcJCvY9ss7hwTeh01200BJBeBcKNU_qikvQYlXaDmhI10F7xbi2wfbFSPwF0Y7o-jvRUrhwHGunHd-CFCUtpQaCfJKStFs-E3LeuF0uVhgphslgE1fOmeRm1LxZPAMZTusxTW-0i36hmo6bGRgyOrw7KA7D3T3HzPSu2fKGV-erlfgByUv9udUZ72mk-x-P9GJjRrJFRzTVWsU7E3sC9y8fw636YHnwaGqWPEOnuhycWzoAuyRUdeRdBx_uLBlP4nZGHDtVEcSWeen4GSdNPrOeZdJoAMaDRlhXdaaqp7EydcX4ChpoDxIe_AcFWnO5qRRk5O5gvGi9L4w9J8yYxypKfa1TWDWk9QNqBwlgbZpAKcwyVIDFhPM2dsK0IXMDmEk_Gf1Xic5IREJnIJCqJwPGgcfqLLUSUntoPIJQ5TFgS-TVW54Kdox-0O9jQxNdm3g7YVIIdvjTmZhboV-dw-onFzRf9sK_RcHlrMQsfBYIJVBQqspLhi0a7PdVvoJzKT7iL2TBk2H0kdlZUUX178pE9b0UgM0SCx3YwkCI2v8npGUrK4ySMs97fB2f0STMm3CAPa-hMozzoP278_edR7aKJ_dqgkpY36-iZxXT2w-6upL7Rys2QLYevuQixGZKRc_cd4GGRpFv8D_k_9o01I9fdeeQQJ-0lDDXE5wo7zF1Cqwalb8qUlAq5jvFehHcr7KAjbyjy6Tjni_w5K2YFR6Pl7MNDnbdcqtKGgd03SE8f25rX1pOo3JmhPoWIBAKpjXyGer31p9UsnTZO9TDjXGGIxyG7qj5snlMf_nmQgXWnKOmvwbMGvivjFnK-ClKw_2ebanO8KTFbl3tlZwNmYWYCiCNIl3OpUgJeA_97sY_Swv_7ks1R1EmHEALm19cBsbGTxgpwRBAqHn8ATfR_7FpS5FrsDzxcENqKSQQubjEzFKiToXOujVFFFFl-fXnPzQVxshwi9d8O9Z5PiFNMwUI0jrJ8Y0EziIICM40fthlH7jR2Xa3NGFAKEoI7ANZPnoKtRcpjKCFR6aqDVgikFhZUsfpD_FMokD33zQGyzDiWG0hGa09fD_7ewQPH_b8Dg2B2Uk9MHJFZEJ9aQnS2xFEe1oUCx3CEndSQoKQ2Zi6vl_C6uO6nf0O4jnCGtBL0wwlJEtqm5U6JNxeqoZEu-ErmsbqXn5IivDJNSkjOjLSJNFCFDQUWmKscu53wkiKX6oR7HiCPmjzJ3serO0sCg95R18zE_jy-WsoGFPIYvsmt4Lrpn0PFMhKlJTEiC5IGBG5fnBg0w7Kha04AHNRvZMQD9Maee1nHbDHAoSQZsPoWlyl9fjO5zH_NE2UNcxApVziHrl6rkOjvcYazEZutVFWKV1jthICwXT3y86P7AEZe8FaaQBv5M5VT-JNHIc2fE2x4KEUW-28FLsPL8sXEWIOUSvNwhG8Qx-UpFE__tIempuVgnjdqwezXnM4nxEQE7YW9mTrZnAvpkOy98fKQi-x1_dkG3ZDi3WozItbq2BM9wfh9SlNLPx1rzSDLWScuIAFf_uRpvt4cH_a2hTUh5beow4pWfocsIJl5CHAdUO3ZiQFAtk8aTm019vRB1-Ntyn5rdxWIwW9ejbIblYy9FT7EFWYLyhpBSqJ4Te9wi03QT9K0Us6Dhwe4pPCKMLmf7KFr_uvWsk6D5fwu-qucDMBtOeO0XFfJPmSl70OKTr-q20wm4acHsLn35BkDLUHPYBibgpORy1O01McfPeaO356ALfA_UJi9gHmmOsmYV_edG_DNqeDxYhsIV6v4Eow_rfbBAfHGGSEnP32ABuZnV9zChua4boC2sTsLXBMOnU4gi8ugxPwKccT0lRC-sXcIr64NRESTSkJu2qC3ob4ecQJVNU4DvfNnHW716xi2D80tVOu3svUK7mRbaIEc1lqPrbkWOQr2AVUKwJ3IFrlgLUFwk-1mAEux3TRFFDrF-VMfH5lxsgxR1OyM8G1lAPI0i5JHQ5aKxqD8xY9LMaMDUTObfrjaR-k3DOziHOxWofzArszIx-Wx-_c5_T2ruPL2-lRJhj00Qt8sFY48-d0HyH8l3lIjVEnHjycA_bI9-wWZh7y2CXQGUY0G2kJWtKPDY4GCziYxYUlyfdzGRNE7hTOIapFZ38WMc0ttDI8BuomH7T3UWyV1Wh45CpuhHwOkJT40mzjbzyLhU9-G6YU84V3YXN0BBdp5IuJetJCnqV0cSzK3xARrghaNQ-vova3juhfVSnyda8D08J7ZfUi4-8SAZAXkQGhppfxS773E4epFz7Wwd7ltTdgfnBqnn_d8MrEr5f9ENCjLc4EScoji4NBWWGL41klA6-_QUV_1qqZ1KF3DXhvKXSlZaqh72e8T3DF5QxNHQUcLRAQ7liZYnU8rO6HGv0pB44D7-ewrcDTZnYNhV5m4XIRArd2OgwSVNqW09vt7dl3MC8Aj0STscFO0FsJtG_Mmq6H8rfEwEyaitYu4Sk_m-RjDfnsBtX1lGujCqdRHR_ZVL6qlS6u4S5ugx3-ik59I6N_oVzDl2i84Q9uHnPYfr-96enct4-DIaleJCP-i7odewaD6XcfP1NR9gPIAdcMq3viXShNI0dD5ip75qI1CTYGXCT1UmUvbnS6N3BF34jY3Zk8JCvPzvM3_cEDpAOjAmcrWhSIm_gCbVPblRgtGYn6CHmcrBbY4NDjZcZW6ZyfXMH0NgKAiy4mm3w56liT9wxdO8QWZZbUS50As9bQewvBRHhOGuprLzuyC8xIRyVk5a36bFQkWTXl7jmbO4T7lCGt8CD1QceNRioYTvUGgrgOCQqtDTr1-IjuP31x3qDNQCE2odrPR_M8KI8FWTl7mDJVvahbF63T5otKm1Fa0g0-f67oXRcTZKcERSMn9rU_H8pQoZ-ozhNmDsAonyDfkkyBTvmp7jSPc9o_rg0bUjkiI3PD0hbn4ZfHY9WvX7OtDh9JoEAKaajk9Af1mmkpFe2AdFaexawVxLuxHTQZ4o6oV67SwSto5LpmUNfedMtmyUO8yVYrxB4hNMGNhYOyuKPTe2VciNLevI2VyBYVxdtJeXdNj6y0SMaPKJ1-GDB_U5iIrayhUkVDwQcbteKWbRjqQnS8NLkoreN4BFmYocJd6H6fedlRya5YCIB1V9d_sVxy9T71mtfaKNQzT4EU2suy3UNUnQ_lMApHIYgQTHesPLXyGlrOw0eNhCwUzcL6c4XqEO-bmEyHRr3bWLBEfFowZTSPYGMRYnUTJRXOP-OgjFEymv6SnLOqOAGs1EMwTmlO38ToqQQqNL6enQagmIC_pcu1_bcpSnQGqAWHEbRsKAdVbH6h3vbUuuCby8BrqVkwKoR07h14Xnf9fWRVYL7UbX6iBLqvnLg4G0bbPf3sw2QWyltcEXrreOh7Yw8bLNAfsbKLNpXZ5D1-VNQGo8UQEXcwPwzIoAxbb2C6wi5mc0D23LphkToBDhIyLX8Zb7ry39ZrPjouy42eRm9AyhD3eD0gTfyyMS8IJJejqplR34uOkvIz2WgAr35wLbPQxgcuBVk4r_QISWvQDlS86mY5szgeFBU3H9CY6yRmMcBofhoLyPKG3VEokUIipy_o4aw8Jt1MbmVj1V4qLJiYwvWR87T3vbU6JUgBYTmP5oBXFB46GYbB0lVx89GALwCRCnDwp9tIoGExgw-W-m8SUO65OHqBD6-lNP8SO3hxkr7PPKcC1af0y1wX07ALVBMe8DpiAj8hZ61eoiSxB5y0yyMmQ88QVFDuUYX55AvGRliBceFREWq_h3RBB6hK1NjEy5Dubj74P2TmvAdHFBx8P-C8sVwCxizPUWCDQlJ0YIg_5rlbRTsb653WaPusIduW_6lcpNSGz8ZHr3trjI56HOlz00ENlPdfJbHdjQ0OVwDP-rwrNsYnhMmzo4BwkxLPrqgxZ3LmBdj2pH25fXi2i7vm-ut0oZ3bN6TuHe4w1CJtYDG6NCBpzqCCxjN0M3-WDgGX18lvLa61pBgQvvlg2OZ0cFORUxZwtL72Hz5dS4k3TPLgx1KUoRYGrkCTPh9aIDJrE1SEzrd8A_jHcUS115EjAGzhvoUW96KdHl8pRJ8zN0lNqfpX6jDJl1ah5paRg46h1H0SqMVGtqRXmTfAs5MYnjHAMII6B9G5uelaCAOanNpFcWyhiepi9zDx5AsHRaDoQDc6k5807_fxXoELYbvGFPHa4y-3HOO7za7F9SDFT6JsA2K-MGxu94LRI5jJusWD0eVjbySDnOCL76SCGrGHelnHhdRZLMlNoPFJy0C6ncQ4UIQjBn5AZ9Kd8tmlTZzwAs0jJ2VfyKaDg7LZSaXwJ1rmij7plhzil7aCk3fTKB0c72GmgdSNtmlqe0Y7rHm_g_W-NsbUX20o0mOqQVSJuZCSTSa-9PJs2yUGm5bhhT0LwuhAUvc8rg3FwdOuMGuZuHCVCtHnUoC0TKhVjLOWSM4hfBUenOaDlo10TkHu5UinvlRoxxu63UBxksRw8Ms8_VN3h5k5ZOma3jYEHLi3K4NM2FBSbN_tM_JfPe3SUZ2xZ4GL327KmqOc-gDKPOaSxrBV8qt9nL00HMvvCgAR5llnQY1Df6FVCvDpfOdSfCAuSSK_qgq4fCkplC3GljU88ZAosZSTS_kCsYBBgjjw97KMqDWQSxeMTX1WY3XWKhsALb5Cvyyv6HDVzWKLUtdmxe8gXUNGJNcpv0tGHgcNyZIG--9XCD9H1DIjTz6gTmImbNxp0EQ4N9qkQ7_MLe5-P8Kf0ipmV-nnPWlxJ4U21lGJ_PBP5964IigNTlupm-MS-nt6I7tADxTrIx1qhCbmHeuJIjIzjpStjuIljqgwsXdbwmUfqShhonPj3wLqS1AWsfVrUxOoXyF2uaP-b_Ssz_QGfOXnTXhfg5buJCaIluA0rEaj6YFRSaClJ6l_ScEnYfmo9kjN__7qO1ZvKoAEUg3Zbky2htYt4jl1E9mUe1OHnKan3ExsirYYrwOn4dSk7lTmMdRCoYutreqfN_xT-iL-Ikp14I95nMCxWl4ZTqIkQGiFjRv4EZ3gQnEe9WWKnHrun3viNP56SuBDj0WSIwSODjTz3BA7WoKKEKaAF9KeiYgQcnflWzZkdx4XhlVqyo1MzoPTh4aHbvRbkcFo2ttlyyqISjbLeCnSs-WAJk5Tbkm1yE7Fr7qn6xSB0fWHG9g3U5lbWV0zcPZP9A5HggjWF8SVQL2pbNOxeXVWjYQL6CO8NKxqltyrGzMnymJICQVKiGUvtThQY4QyGy-5y11Bw8oK8z04gPi-QPdB918j7Ot94cV5zZDgrgvqiV0iJXUr_YjNJtyJcw2wCcpYO9M6Pnt2L32QYbQvYuz26STeGi1UB3vOZtKeKlORoYfjoMys4kkVi4GnnNdtjTQ6ZAn_t3Os7mm-8Qg-RlhQtvWWmSaux0KMlPz3zkkJynuLwWNiXg5vYf7hCOzyVqoWPRLWaFOjRan-JKfy8wrRuGtuC8TNBWHYhuu1NmVXOmxxstpbnj6n5P2_o7Bm3nR9Fg_nImDWhshA10ENvoENahfFm9UjHp0DmTaXlhHmoNmPsGTslI6UESnY_dbuxYOv8T1gHviVGGcswuy92fvP6QOVUZlMUiE7d4jeBEZH8G-pxebtD89jcN6m4BWLbmyqSIiuC8UjcvjSitZSRgqNXub2E6eHPjuTsGnhNe7lNdEeosGbRY4EKSnZ5pVAodjbcflQhvGTlpWdjnu-_Z4yZiu9ha5JXBYjU-1ehovbYsauVQxcdi2Fhqr9cz4cC4BqWLnkxXfaYLpPEmG6tERAIWNh-yG4lpIQYiFCEcEolu9WrUajjrWgi1aGz_njp7BnVThidjyYoUCLf7nl4AI2dkP338RHybBrr4hhQKiGZowyyVo1E_YPM2q9BCB502cETBzb3LLxEhZ2Lz8tvsc47V99rSfrVxm9CTJ8m2Wo3iPRRKMQFZ2Nbg_-BCLoVLFstiUy7W2fnwODCNSUrafeulSHziy99lS7V4y416S0H0n0Nk2YqUnyFSCJmi8c1tmo8mndwbAmEt0cOUOKvE2DfAjyomFbFYFhVsor0YShDYlN16gNh2VLmQTLYmD4hALe1aZZxEVn0ATtlD2I1Iv3gFNztV5hTOSKH0U2ct6jHmsVhyfvOngxo1h48WK-Ir16tVdOg0UkHztFwAjLuMlzqtRoBFRJkwhvINptZpDt0kmhF8t4JQhCo_cPFKAlcSeBqZlSX7W0yPbKlA-d-eIi9dLZUNgDZ4lY5aufpn5QoaVi0SJPfbE4tCta5XklaTpPRbWp_LwF_aneS3gnhqYI4_6j7tje7LvlnoyPBZVx2JABd8Xn1jLDTfadpfFIuBwa55EvlosRf8zfLZo8rm-BFdFhERfcWN4ldrPSdcclCb8l-dYICX83vYB04KW5BvjNXhwo8N0eR-TuJdFshs1y6e8nIeRbJ9f_eL0DTMkLXA-wNUqcOiPFbBuG1kaKQj_e2bTdyfw4k6djdzAGNjRgGSm_AQQH-aj8Dn7kCUA6Jve8_u0wY738rn5dXDo3YjbGiXnibZezVg4aWZ4G7s5uUJvP0VuqDJYn4E09J7YA97Pstp-3xsFNbzewmQ7EsmlBIKZGv8qqx_xQ9govIemZVeMxZgkGtqWYJ6q9jJpFF7CkoaMt5pil8cPQVO3pmkSgt2nBmpYjxX5qqgm_Ph7b7SQwSllC6HbrMCysFPF_ITpvF8uyb1DdZ-PY5E-c5xZnzr_md-FxGh6akG9eHXIavNlNOhg8BtThgutePhEalaTHUPqIS2jBDYC_4RSfWK3dnnS-f7LgfFrLpvg8nOH0gXmg90VDxlwG670aaQ8bHVs3uniMLjs6AduJrg16vGtg_MJCZS2dXXwzFciIWufzQ4q57Nbq_0A-bUHocmpJqMGQ-CV4mMo5iUVzi2GH5qy3IQ85NK1dEGxgE0hLfoC6NjCIN4oAQyri1pU0VA8rFFVRPk_x3qLjlHklsll5HpnxJyC9sMjdxDKcb-hkwAjqMNZRXmA9aJtxhlbSkPvI7sTSeVhCZRzFQQcY_b82vmGLFexI95wk_gZ1Rga6XKb1JnZphB_1IfFkI5_iTmFMaTZH7i3wcHvV-VMLfZz1_imwzWB0Y13gtbYbVsTV-a0XNLuGSSxQmwlGmma2YSOMjXWcjahqdkj5t5_nI1U3l75r8NOcuMAg_GnmMXHq5f3KEj7gfBRLa9d1tIeK4-VRk6biZ6jnqttLnIYPxwt5EqyLVS_8O1K_Hm46hr-7v8-BpcAlbMyPkSQqaWIuVBSAw5Fm3gmdJElBM75HzAH55DfMW-qsCA97dqp4jWUtuVO3IuSaLQIyLTSWwiOb4VlOO3wBITZPCOpvCy3HKI6ahS9kilSyeuG_CVND2g4v0uRHrtsS71ScyS4-NBtBFPlR3L8qv4YuadA20B9T8Y5ULUyQhtoLvUuPvcetUkIsFR3d255zFet4zhx8KnAmAdVKXAvu0FpDnZwufH8zm1og37tq7AuuwGulIr6Ixp8UFVyJeU5BX7TMCmG4qrauvXi_2r4Px6JmKjjCBQy5YfQpS13b_OnDeGgJW_XPXlBXP3P_S_iQtf11npbf8E3JBk1LEwmD16hZ-ejyqJx4T0shZWBTUMkPsuxWBC_3ggvxRrpplNyBIwUUnbyJ_CM1v2aaqJ2CMTT9bA4o0bnE7qJ4P21JPIFodzk85oi6v5_TRdfin3-gMx2brQCIvrHwgugHyXRMBdxmc2RqomcNrY13KnPmeOIc46c61Hln-1NpJ0V5ZV2vNZbSZWLpZ_RUb4Lv_v6XceVslKPKNjG2X6OECIa814AxRM5v2fF44RXu3BUBfrVGpT-RwKCGdrRnd98ibSyPn-8uQGcP7cVTPO8pwdppxIw11O408M-tezrySyYaRWkMxoniPPoEXoK65xLVLREXtCtpBUJzSsyKYrt-baugwrw_e5aqV4xhVoI4PAJyJvGc92wtkiTUW9PTWdFgpb3He1CLOCFqbTw_nmElIsHUb8r7unzkRe8uZsSKeMgTgo77gmWbHZw9-lCaa24D0JcD--E06nKQiGdNQFqY_Lr-KrK5zT_4pYUkYXiDulOfkWWdKtHx36zTKfa27Aq2c-FbQ8Od8f9kr-D524FQ3OxGyySnQNClc0tDjVrgJ_uxt4EVdH-dwL04zDr_jYWbG2KQfDAB7KTNmxu2RQ3QNOAdye4ChGwwylLv4AYJzyS8XExivty0uEfiYMjhJhonrZRXvmu6dvC0hd1Zij-HSiJkujGf-4mSlhw0xsPGt1V63qhy_GwYHetnbPJp03cnVQZ1c7BxeWa5kWSx6Dji0OLLvtK-7PlRbs4WL3OuNR664Xp__EPmrLib8sPVVNzmsbUlAAOxA13cHUWWsvUF3tmQ2ay3oUNRnKhGW9lEBTt5yVfrW7UnhRLw-AuihSqtOUDL845wc-hCS8kxorYbbXVCX6eE-noHqwaI8kGiTXA82weslPpw5DEC_PzWkel6bQeTH_AtKqYF8dXJqoL5HaJPbhEdjZN15oVVzhwIchjRAnKupAve9UZQwKhhOwB4uO4lz00rteGbNAnsAxCf6ncTDJUB0oBG1v2aRTpD8DBA8cx2TKLVwSDXgJDuO8qSz9Ahuyn1NbvE_KWkQNa9dRtlmFtBGqtjcBSah7tr6459xHQecaoif0wD3I8iXpq8UKuX31K72rbyftQ81zs3irx2vOMqbg7RKLACf4kWzIL4JXK_js0s2Y_DgD4k32jqngNlXXnSlKqJzDkX2-ye6RfDPEu0AN2RpJ4lBleUq9tiHVaCxCLDzDadmqYGX_3SD0X6Alje2XWeKkLtAnyqpeop2ohTT3R2rBPZIHsEFgiwPBsQbVaouq0euTOKR3IX3BVE_aGDPaDqrDZPLeYRQDYAqZhxGWUNuPHBdE4XJQ01Uv-orYAa0PXZG6xSF3lt9sl1Ums_LykENb92Ep5P384WAJfenPqCTDjMKTtqu-7ecPsb1OGLPnhlTXJdNRp_6ldRw8vHgK2PJ-ycoHGhm9zNvklZJUnnlAfWI7wJQlAS3D1G8sheCGFEPvr4MFO2QLLaIys9Gj6HFJ05Zak-lrzJ6C-6brafoLwuA3EN7ODiK4nhRcQttP_klXvPDxJ_d1mY52Fhg3O08m5zb1cSH9yrHC_XOcbZ1Wd9RGkvTOS8Y5YvZbuwybuK8p7egwd28J4rQfkRfbvDItCDFmNjAaBVpIRbrL_ESDxbiTZoClJP5C37rtmGt2QevKp67NYJdwl7n5kx72DwwHfV6GQ9W261yOh4F_1CFZlrlgQ6A8w2YNFl_E95Vlk9pu7JjhnSr0sZD1-MvQCswKgb59WReTXMxi9pK7PCbOUqv4jg2435YW8OeDovKYdjobRPYxP9NWP7C0vYrhGsXFWG0tOaDpA-5QHH6n1SksDJSjvtJfI1kySGW2jODUNAls9GbOZ6T6ZQfTho9QOxulCd52zwZsm0ubW7STZBBw16BIFmkm6XsVgJ9_z918yhNbjBei4dC-MCukv048iZGvoWwD05tLvSeCUKyS8JvB0wzM1S4ovofg8-FkSux9RI4OSgmCXldxlpOSO_lIvZ3MxeyTyQt_PVd9mQksNUM9CF_acTOBonBpCMK2JSrEUnruoZbzQqYqaj4cDB8vO5ULn0LM9H03LzwWftay8S8BAppqzOcmzga89qzAh28OfdY4Ry5LRPUb7qGrD8FEq9w8ozvF8kzipTDVJoUU9zTcjWD3YGYr4bm4p5D9G7HAXhN583pSGaK3x-TiG-IZpf3PNVCCPis-yFKxeWotIRKVXkqi36UwoTU8AfBLlIZPdqhn2ZsroKRMj-YW3YTQjfwhG72e8ghcWazXPRhqM0ZJR_vg5XBDY66uyaFzIrUYOjNnlLqVnzq-67IEPlA4J5nW-hea109T43F-UqtkqI9Bl4bdt98cl3g3IY229-luBxMm_yz464yIaGAZHh0Es4QJ0uN7GXm9tTl9GzgPTMKVdCAUMjU7-Ed1XScFBpPA6lfrAvm7Ma4OyqVOatKHyFZH05_SLb3l7z_C4gGUYeUYxlRQYxialWW89tQ49nZ0nG93VCP_rVo13Oe73aapBh4aMFQonzrfFc-f5YhfWcxTLkAEXYjqgkjLL9Sdg2qp4MGjuiWAf-c83YB2srXX_YrIdVe0l4palXo6tl0ls4w5aQ4x91-EP8HY3WFK8yzqGDRzNyDjsHd99iPT0kUmURYD_Azlwy6KSIFTicym-lo8JhP_tD8N6kfJWKpr8M53AwjoUe7aTSqfCZqCxPStHwK0hX9OTInqQ4SIfhvPXDx4dk-Yc2O2bwEpPqBtT7znwDt_Z0BJOq4mvUnZHPu9Lnf1OJvG9fHuWLR4ZI9LmPlV7UEGN9yzrjUZ1wxLLC3QjZaHAQfzGMPIR61Sgcie6WdRISE3lpzYYrX2FR5tTYZASJ-hx0dspDF3udkfWOxVKA3mwztcm955xpBzSfKWj_rZRkDwsovAOKsdIjq-H06rc2ET3VgC5UdkWvxYU9-DsqkEvr-4m5LyQJax00gDSIBuzcpnM49QN0GErKFPGMyK0USqA5PVpt9p_qWU2lFYlgOnjovRI3s-daNAnir5X6JfFcEFBu7WoBRJhOudFceN30AJDzc9kujF6wJ_NPssHRjc-O6FvVQ7CSUoLmtEzo8q1I7yqO_NjrT9oqDlaLC9xGerwNBKU1-A7Xch_C3D70pxtPMfeBfi4xHJl-h5cwAV3US0UX6TJDpv8MB4z88TIyd4OREokTBi-bc_KlUuYvvfIPTDitsFFFbZdRbM1XRSMqC6R1HhpXa81Xc5gG5rtP_i5zx7KrUmshIuO-ENbWKZaGvSB3pmjpjMgP0HClBg_ST9Kv9trcY8hVnsKL2yt1LQ3IzBRKEBvL5L1YsXWifd6mYIBHeoXozRK0TblZSnM87BamLxteFQZaHhsVsGYL_OquY8-0YTtvSRa769L9xhCk1F9jtYsAYX5C0aZh6KnWrgMKaSh0yb7BRbCdlmUMdYJ2zZOYOgZl6CuxFBzKGnB12mLxTXHjy4WM9yDiZm9EH2qlN4L3MPtBETJda8pmkN2RaiA3-rBwIIseMB4CpdRKPOWsvHEIjfrZtG3Mr1DzstpXX4qMkHnifBQG2Xcznjj91kbNEuA4lxdh_LSEgnVGsNzAtyBBjUxbncOAkuhrVZCGeEC8OI9FGczPJb9phhniEexRXrS2X2tjAxuHnfTyGz61BKpdePf3-8o1vJ5pZTStftTy0-r6iubWLxconK7jaAx8hsgLoOpDI3-FQkSwNqxLUaHK3Fuwz1bnez-fFpF9e6ShKpJi2TVG7aFSrY31Uj7E6KLjVV07_3WOyLTVImTHKrq-KzCL-lXXSG3rSWM7yHa9QsoCyoXmGmUkgYBc-dbMb1ccrnfZkq29Oh9cQrsaR23sLiN9AMavsCsoRLRuXrPMjXKMvPAPLCsabDH0z1P9InqX4VSwwVGXY8MKtvzft8azo0tEceUmf1TE_jkMs7hbkWTP8VaUXuOL29BXfWP0IDz1F6jj7gskM7_UaW0uPGLLAwUrJgdt4niJt5OYi6TGva4zzULqfWB5RUM92fIxU9-cJFbyH-_II4V-GCCxxou6WeH6uAC25vzErK3suPAa55RXNN7fED1miGvGh76c4vPE9oNC0L8ZKFgmdO2rymVBMSGFumHtVjNrRvLI7gHtQMgxdYFbDAL92JFy7oHFn_hlHs6hS4-56GZVd3VIy47HBSGEDSG3uq6LVyoyuEyx7RRrBerJOl5_tG9U05pjornPHNkZsH-ovOWA___YuwTePlOBgOPoWsNDhMFBfwnCL8u2GxwVY2KlWqiCLjDZ2Qw2TK9P-X8x6P77gBzBpsajfAIXiTvDsBuYlgZ79128FNTGFd7KdgTdLX2mE6iiW_c_78WXHwfpjkTnWqK6XHvy-Tahz0VYn0lDa6RsIYVsltMMkciOYMHV4_2H8OEwSUxSu69iU5ZpamW8zebZYEfDfAagRZAy46xTeIZ7ol_W8ViO8OQ4KVFKQJLjzjxIDc17YCQFzppg5MaKsHGKy3yw2UTQ01GsEitmNarQViVeMO8IPIcb-1fz7JkQBuKMKQLCwnPH644lD3JX1ViV4TbzpoHQuOicrWkMPoUrLgUBasueJ3X9xATAwehzzFE8G2rSbJ6HaTim5GQ42E5bM-VFv0xZMmDmg4ZVKmHxCgm-c8eoMn3jrtvkhSl_lsTQj15jk-fzxMYkwd9ExacNDC_x4sc5px_zNnTNeVQwzBGUzA3ftRVq2KqbHMsWuEDW4ZbcIITWXqDoBWt_02y58b2vMbFkTkfRuqTh2TF70mM_qpfxkjyxNFIQhxOnHFLNbvERpvI9jQRvzlIZqw-XYOUGzUo1XvkypZ84L8Cvg_V25M_5vxm2icPDZTrgtPp739nygrJdG9cESztA7TayrlREthg7jQzG_X3Ez2KMSi-tZYBz9UCgevnUeQePWxHNb2HmphyvJRJLSVuZ_PY8FaZzVIim7cZixBijZg0G1AOEWLfkUHMjFlr3As3L0HoExt7SbXEVG7hy1qO28vGYs6eUN8sNAzHzmQ3tL0TneGqHJMqiURISHFgjr5pzIgYymtwB0MuZoFny0xSu9PKCsVhW9Ej5jUPdFCV4eOpi5u96xup_BdnlwQYUrOZUKjnR8jQmuOukNtFG0oLjx5J13TZxhHz_EmZYt1E_O8P20V1uKr4VcBQKwtFd_4FkuhkUFUqMgn7CMD0AHSogh-f715F0rbzKP2XotdPLJ1OlmsDHz4M2sKCSBY6rPkBXdAmiwOs_FzYEgcXPU2y3Cc7xaV4kySwF8TRS4APjsDhThjZUyy8f6HGBqBICUeR8TBkpZ5hDRms1shTPwdLyzK6iQrcyvIRQIcUp14FSHPoPX2Fbgxd3OCtn0MZnf9u8LBTdUAjFB_CHZJ25o9FMca6CpwB2Q5-sulg4jitBwoqUfVGkVbeeUws058ge2-m4je9ot-xNO8S_VR9Z5YDBpG5zJcXV_gLr98UEmUwNELFADzDX6SjIM-TWIlqdkBqmgfCLRf1IJ4EwXT1QgHnJhxS_sVgq-D8bJdbj9yrxoFDn41b55b4KqMqselcEfMcy5Hi5ugUH88I1u6muwhTXPSavbsgKkenHuP3xxDd2Fp8S1m2bUubGWH0RjaIe-oyBQDXVNU-r87lFJkzfzuEC33uTUqN6STX1i59r-w87hxQZutLSnNlSzsZhP3a6rUkhdVNo9KsAtmv6vCHK_sQ6EAzIYz0NtHngZ6ZcDWzemuimjNxIvNRcxlqWREkmBmUYRiicRpamOqaSw9REKLM5lA-mslYNTgunUwB4Fvtfz4OKWzjLAbNoZnE4b7LppFytL2GE5w9aGQPW5mcW-vyHA4XPz0wsxrOrVyb-NcRXFO_D8Jda3Dj8EWeMXEzkjlqHw_8p3Tw9e7fj3QScoiFrL6h82VXs49sT6nITgYuqunyDi6qBFjfXXoaHrqUblCK7LzoAVCCDlT-GciAbAE4MbKG5q-JXdtZPmnQUYIKMhclPjespVbI1sfPzBHVXLvAxGSpmy3LjGfLyXBa4Rh5xrWm8r03utA0Ap87AifB6kXUDstYXu7ZvjSVGVjfuXDnZraYXk84yOrOHOmWvjTdyDG6RU7qnoU0MlHC4DVhkfROZn8jT1IWUrjjvF2Bj81lLPvyanCqI2Xq4biCIfgZwUTW7qAKCv0HHlICEK9MOhcJ47Bl4MR8qDwClyjZd6l-VxRLMgkrRaONGPOdQk_R-hf39T0WdFeILcmzzTyfP9U-3xM02ku_belkeguj_k0n7lfKKclR6cwSCiKgIrCPSvzKemi4Iml-GCLNDygXX3lx0Nb-XIf-t1amalzB7-8uhji5IiLHEMpFrnGDeyRE0w31sIJi21FcAJxOf8mGFnwfDrHOrqMF_eAEbc81E2PR1z4qGlykwfBAQ4m3g0XLtHX7wdJMnbm93KWh0cItTrxy7V6YpdVHIwP4uVHnH4kNqSCaABlkadZJRA87lRyoj-zU7Z_01BoroQ-3CsNP67Ly5zq4XRLiLlbSdg-0fr0jHqRT9_cB1MDaslwSqOfZ2yQeSo_GmRAkA2RhGEb4zKDO4XmSM5lhLdU32Hpq1KUtv9UNbdxxK2kz34gyuEqTCO2-Zbh6iQA3LL7Y9RPRogQEBcqYpKE9ev4PO-VXOBcNlzV-rR24sPkFpMuP5_6WBJHX__6KiKuKFdCCWAwBqpV-Ps_0t_L_czpuQu1pd18T4S8Jty-q-_eCv12hDKLe9kXe3xCzC8A_md1hCMq-ub9XEX94mu2z3iOzZTTVwBJERdQraRGDJOIjbSPR6OUKQO4gydmnIGGLryGtWol9zybCCbfYoN2g3qocq5V5Dm4SJ4wGdPlGvKqMQ13EJDTar6Hy_AEW0ha0WzVGYi4plWuyLCqe33VAaVOGI_IJmDTXjlvgbLOs7yepievHBBcv5aKYN8uyPETGA1vGpz7Dq0Q9_uNzJnyM1tWbMQbFuRppW7m7wO4r9mw2_SUX2Hhe8gJJM0Aoe-W3oSQChdiIRzWDWGQ4fKbDfpehBKNtNO87u90DXvcVAozHqV7vFCJr-kSqErdO2jMFFQY9ymzGdrNl6AbKt32pKdJLHrB4zWnyQEJJjnmHsmUQ839Dl0YKq9a25dzdUqRR_ZHut_t5QdP6JSNvx7AdJv-5En5BKuvQdd9yt0J77EW7g5TON_J87A0OlbYY5Kgdx2rjldboM66OkdsOd6iYp-JlHA6g5pSvIF7RU-MZOKDfS2B9c5BC2WRxvU0u0jFN4MfyE4P0oOeO6rL9JPKjdP2xecKumZeWx_AnXHg0NrkI4uwNsC8zUyaP8qAm-j8BXLrt0BJNdI1_KwT-Z_c0th03R0LySZcxwDYxWUDJCCMUiwFHeoc7xptln3I5oM-JYzN3XQ5iEwXy1RsIEmiEsPicbsY2eXPQfqOkB73Bl7VRL0dTjgeIiabE5bUIy-c-d_ydrxZLmYzFCeL7ZGPhJ-xFMNAhcqXL_5rdj_6-tIyEnBrZtxU9QNwb_z6UWYT2prJJE6OpCvy8X74527iXGLSbL-gN56a-3rtXZ1IoH7m6lDsL8ZdD9_6Wl3NryR8O6FIOD9y8TNh2r2Qzho61eU-QYPm3WX-WDIsGKjdwANh1wtY8XU1lWB_C-kYlUflo7Cb50k_9LP8Euz5yssNPbZIS2kVkQGc60xBKuEBg0KFZzRXI5oRR6o1SsFPAugXRAKJRHR1enSYeIOzbRIA0073qbO2uT_-gH7fjv9AuDN5VnuTFVD12Qi4hMQvhaq_A7Y5PNI6KiFYHwSudweN_93txv5IeR--CHc4zrcNRoz8YVUKLxjkS3nhtvS-CLjV33aw1qP2AOBXX6cRpVvymD4X0RvpVLGye1nbFMtz7yis_YF4YVevrXp6c92KsDFs4BhSPmq4s2yoxjSHEjMjkyOymZ8W4v3m7dhsbZX-l8j840ehxZ1r7tdyFjD7UFP02jYE8Sh1iZFHekUHvMHgRsJZ_tDAe9f_vHtSzT-r8JJITvn7e_l_D9kiJV311TxgjNdC5OsBaNX1GrLUMNzkxVbv3V5NTIJ0kvJy4kbkERRgnEs_X08XRUTDH5smW6qngu8i_lLzsT4h1v5ogsN4Nh-gUuBTWMWsUWa4-3xrULzWHOjRlQDKWPpyxIzcrbIXjTe-swZYEmIWGxevFlXUM0hgtqCMDMzKAvBSMgXg_WtcMKGsqYHfN4oIWsRv1mfrYVYbTbLk64be23TBte_Fo76FSq978Q32Z5Rxr67AwJTSuOX5m2TyJ0h5qCu761m2ZvjYzicwkp9do2zKau4ms-nnij74DbrNMHEigK_xF4FjFGJyFOA8iPkYiQq4gEcfXvBHRKgN92QhfUNdWpg3j74eIR30jGOFE0C1ZLyc6ehTc8Hrch53dPywdFB3-XGeidxdin67QN6tkC9s3xwZet8nBB610YTQJg5uLf3elwVCdXAze-L9fAM30Lhv-T6L71Eii6RiH46R-vksUmB08ombQv2LLrm3IqJqU3vuVioaXqlDGn02_uEqzeuaibKyod2T5IwSBkPG_iAvx5sfNUOd5NQfYajRc_wHpr8147sXtRP23A0IkfcPWvfXqHWFFI_cdGcS9eKc42pasE6je3QwMFvA8JLKmMJ6tf-nG0wVZf9ByPxtUbXixmAIBrxUAqnL4jXGVmqC4KN4FJnbDweWMClDxhtIBAhJWrHH9twc_g4Mh4ucvFNkOmKxKySIOabwSiOAQtwckAwpYLZ0EpXYBRat2YZi8kN02ELH8KWn6Kn6UC520z27_pkAtbgE2vMBxvOJey8RWw127cbcVgP54Lr4h-N_XNWZ6oDmE7L8391kfSdaOv3h6kh34c7TQxtRDF4fZnHwa_XMfKAUHD7eDeKXzXejBRplPg47hFJowEP8mPKRuQph1YwX3maGMHOivXPUPix_0Wc0l_e7821piC4Omd6x5_cqciJdG3mqQJVmujVRt-KIPA_YPUywXJs9hBEyj5xQGZlwQ92Ny_v1219bVk8Psf02piMuykrG6v-tM9_eShMYnV0qg-YSHeTdHw49SvCV_h563nogr8aYPebnn9c1J_DglkNYL_gAsTcutkwblePO2u_kHFpIKeLu21kAh7AP1i3j5_HFCxfAD6R6ahSDWjpZrdsIP4n4YoY-qSV3EXr27VSC3PbJdspLKzDoKeyApscBX22HVpzwitET7sS-auyGB3IN_xOMKeX2TXjPa3jt-Ho-AZOuId3FwNHXUeJQ6c74_6Y9pekUPhavhH6NdBneCG9EbeS_P-rYny8jvfHqCZZy1veiCpNpDQXxNOz7cd0qbSQjAVGk9jpt2gBERmGb7VUqL7mcNaXq9ghoohvHRU9VejGRqhEQHKGHv9APkMaK7x1iz3ZbwLCRfGF6KV3fJ5gYUgg-OG0IQJLwGihMfRbfDHppvevufXypQYW4G4aU-JH77GrRApvfLjRPyt7u1W364iEzMy8WxVhbKMHaCCTlGXn6wvpjRzWXPUFoz8RGSFJp9XxPHsOkXZRRJUz2lli5yj4xy7EWCp7NIh2XC8Ya-po8t0VXxk65kcxftcn43gOv62409AorJEG8d4ZGpyQZFwUJa1b7uludQuGV2l1uVWCTbe7-Fbzl2d3pPVQdZkEx-nZiBvgemevXA_aXGQsmN9F78CcMzebBaMgqSJ-1FQm-BjkDdzdRmXnG5wlo_VX1dJPL5dp_f1AqY8Dahc049-jbQyYQ7XnAWNs3xAt3nxi0m1spzeUTtWrUYMbeJjb7FYFVQYBKS--MrC7lUdEYVguoTey0Nyo5dr-DM2TmsoByrH_uhQg0NToABF7D4vdSP2kvqKx4q9fxb2Nas3kk5VrMZityS1kGHaJNSPh7NHQ2BHP-guW54yFHFBDRwTDe-kJR_3peG3wpmJwTbVROq3iY4ckpeDgE0FlHpKZ_282NPmGm4FiTYg3xOGcDXf1ay2ASAO4jEXzd5FNnVdsx17DZvbXpYtjNDb0VeMn4Y07dKieK-CnS5h2nRU37sYbclAU5tn3liO6y9_YjLIY9ojDN1tZbPJOnuxfoEdWKwr_77DS6k-4w0ncSYJjm2tbe-zFzMlqKLt41oVSsOQbn961Jzs2QUB2JzTQWWqtouKHa-veK7McfYCDxFVmsz_3_O-UgyzChNJccPomGkPkDAL30Pn0ai_3sfBBNXveU6obs1TxvlXWbOXaHY3iOvm834Ukyh4hYY-knqUixOIdRSH6wm4AmJl542VA4yNUzOv4tAJ9HUjlA55IlmKrHKCyE5BlqK-GtvvUE5jYQ3-gG983QbjV7l-10wtUT6Q5AVVmuIkTBQd0Xefb5Y-jfUvPeNjAA6_aHK_j9wdgmk0MPZCksYNYFPaIZzvJOX0wejeJv-usT5PTgNo7YjgSgFmevUyaeAbYAIPj1j4AYlT49tGLPZm0ygIB5eLPxRs8xjyFvnWSfh6FQSPoaA32vhQPqvV-zqClVIwWPSmF50czo8ooYdjFXy0Bb047CMZU9A687bn9kj4biUOo1-IaHrC9OQV3EK55r4azktKbPrC1Bhj8Zwa0vAsU1fPj-LnNrejviFEWwu882ij7B0RkvwYNl_NAcIqwaFmSrbPApaJiP-qYKKxqpnP-GHO5VqPOjyJbHfvXHYIIKLoXPtk5gYTxKaazulc7mYtP0c-R3SxVZ_Soi_iFadH8-lennJibMyRQ8aK4XKPS5J_6YApLnaNhUGSeXZhmmlRyMLftr0QbUlbFg08uZeWWw0_i6P8ZFQa90h8fMKepC_zgm7pfYCvKgzxk4CLrvwEiOH2imh77HPfZYaxUNiRE6As31teSRjFgdQto7iZMq7W2jG6IRCQj0QDNnyySNQFiXeec5-oOfRHhXktImoDyQrlilJ3r0AGeqVd05iv67yyiTJZTEbtAWtn9O87wSocNO18gk0y1l7Ch-U7HQkIT6XrpkzxSG4pXil59eiMasq9ccHdN3IYO_oSKtF7oM9bv3UbUEQ4l8hvIanenRlzt9JqnbOHzNfvs21kDfc4pAM0b6UYeS1x8hQrbj_LY-NuLM0zZGWebbbmpaOrVNwvx1thy5TY5obqbb70laoR7gxxMWleNyizQxPOkvRKZoFwIEGrT0n5fYjh6oRt5TJEKcqBWFh3cQ0fIJdm5Pa_NdN-0cssbULOYI1xbirNO3O_mm1Q-pEh-HvrXmSJ-55fYiLJmygICPTszmnK8lTSrooIsMlzIb5rebummaiXIYn0kqsBhC_FnYcs2BjoufZogPGzfI-JSdCP7AwkykH6l27XjSH6aHHuMrZ-Uq9nGMEv5QO1ctCE4JJQltLppdf1tjkjJY0RHaZnWFM5iJyubQgnUOZb407SZ6sS7juipuz281V3gywK-D4d5FUhHUNbTg0U3vYtbhZGMIF_jLu_kfD-nPXrXw6PdB1jln0VfMjQ4aIEiHsLi_vcX3x6Gj05IHQjNyfFfSy-E7BRvICGg23UOKjh5nWWqE6Tn6QJ9BPQAzQGtIHH0q8YdfW7OFYnY7bBsUQHg3gvkcVccIHatT672TPFZryAxOjjHscgNC-IEJk39Rf11TbOlt5WnwXJqkV3iAThgNdu-y69PR72aiyw5KoW5UnGB5aNHkFg8TRGymAq4JrKYRBPqF6UpCaQdKdcUSN6hQW59S79DQ1jZrYFWB42Q900pD_vfUvS5tdBwNuUMXjzNJA0bs45PV_VOTQuUnvxmgggzay22Edbttoabh5ee6A9dZ0onVSH9dFMmQ-WeHrsdzutjjA9z_gDfS01eXktID0yUeOpJhaXwjFCUA7Z7tRNA7W8qV4lnehoQSl0bu8PkFSfnzuNaSAm0wyVDcUdJUADeaThD0cnAn68SCwKy-BQ8Vs4tHdL7h-Fd72MK9lvX0GyMntELm2ppcsd9cF2efehawZ-Ad7IPah7kds_S1tOvv_qupqjBu530Mo5kVTgUVq6zp6khcJ6i1R6Ly8AZJn-Xb_7hGoBLRG-pu2NB9vu081q0caQybXx9Dvv-8__10dVrlAvum4fSSUqM_3hWBtsHtPa1xXqfAJnRcbV6aLkW68PwvQS9YQWMXTZH_q9SLLuvjFdBd1_VHKdULuYfUs2dwdN8eNlMvvWM6rtlgPFtte9O34qEfICNoKPTTawn22BBtHo7X1jUhe0La3Y90t3E8xEIAzgvh4poQERPgo52hRiJ5tYwCm1EN6PjhT3nFoNVo9OA7bhi8B_s2ocQNChurLUkV7-rvCaqekMpYqQQu3v2VnLnfB2YgsxayiqxjUXhboGELpW0jDsGDP19rYNYZHhE6aHJrRPXEPKsG-uvrgAGsxwUOvEXeaZwxFag8oWgmX_RfR-4cwpJvFVQBhCr988bNuDLVAqfYoby9hRm7gbMZOWXn51vaKzY9a4I0e4vwa2OPGPziuNpokOqc-SCMSZ9j2V6q9H8YBw7RlCCh2GRWomyxaWBQZPIqmuHFTJvlgEYTbmuE6YUx4aeoYeGwCbeBHJIN_o0j9fkdMnMzk_ineDYUEQhtseqmlxeWFhJllCLJo_3ijC9hI7frIHFJS8-H1pkevCMrHT7pVoRyt6BBD8C9W_KTdZvT2IyHzu0ldFz3RQEG0_Nyz2MFrbdcwkZyTaLmeWagdwmIOMIOn4fCxkL6w40v1WFEJ7o_YeluFn-TI1lPgoKxuNVZ7TAHmIlQ1ZmUxy0Ab8EfDa2HDeaULrcqejrSvQzrc51fgoQsUprQgFWaTxeL7EDPMd1R3Ooq4tJwlgCPMzQwZyQQUWNEMDq4zMEU20Q8rjMZ6WspSvP5BkX6zcmro_VBo0W4oRrPp4juKSJ5RZ7_imiPmfA05q1nJEtw-40OzVexQgNRJWj3F2vkCyEc62Bss01Heon0fQvBKaOrag1iysj3UtHAm2w_dBXNlL3_8VnSdy91p_gW0n58Dew907hIVGUnoh-B179FuoZB29I1odf8xNMYwmxUZ7fk-qCw-S8vlbS4gPmcNzgkJveHp3JPne6slQ1Sipurw5atxEJB7ydcIIIjad-vDV9eNTXTDTdynBbrIWgqMUOJGFtAESL8EUNkJqQ0B6K92Eu7MIrH6aYi9lar_h3Tf0kJ5Irb0I7e3xhsUYsAGfXC1s0-sKEUcIYLGaZ2s0SGnmx8rjZpQPK5nYMV0WpvV1zZlt9jDtghDdF83UB-ZixG-XM6z-kqp6v1O-8mOTKCT9VEqmsPD4Sd5JsQ1UmeZo9R2pGNwnIadFi6TLa2PEPr2-a2ySNnMBQC3ydhv7DQEmi8nXcApV53wXyiUZNW_lZC_lth-NMDNr_lavAT07TFzG9rNQwhH1WmN8S9ZA6Y5n6DCx8BN2zavnDIMw2nURHNyJzeffcwg7CxYh8FcTCKpX2tYJsBuGWRttw3iuODktSkU25OixTYs961gRy-IwZY58qs5wjcNcJnIlDFzZtA7-YfmATOGm-sPUOs2gRjcmgQs1ZubmFlO1ReVndZa9KDmtlpiu-I0LCEfaOsgDMv6WcfZ1EVLwAyr6rqrYE5SPFBkGL3-s1X55tjTpefWMgDJBk0eE1vM67sHz8jpoSYhwMBfF9B_Vg4pR2yeueh_O2jYPwBZxuG_tOZL0z5e23aJELI7m9W7IrSoT4ClWrJFhcg2yfDJV9Aa1FkQIKHubX1n0avBu9vngKguGBMmVi9w66EV1hfZjDhssAOZYwxvg5Umr1lNYRD6D4T4iUOGee4nA8yXUacC85N6IJuqS7k_LbKG2yserJO8izRoErELBPtcDehTftrT_gwNYgLReg5TSEvumYFTT-kMhi1oAFe48noAAwJZolNvmG8xZbXkCkkMK-x-KD-8Jc2zwdrRc05D63ZOTu7UBYGEAfqko27-5IXAXTZ9NiomBYYzGOX-VLNpamSf4YVlJB1MXPEPG7qApFbShgW9DDnP7aBdjgORuWZGog0AUHYFFwqGDd4yZMfw5xECf3tRWQt8es282dtnBfwKFJ08rV8z2K41s72h7Hnl72qGnvnmR2cldRYQeudld_eybeWX0CHXyPKFjK4pPPabktQUol29WMEzLxgDI6R464i6QkL79bq-JZbmSrL_C-hOUr4RrJUN0jquKIwzHWAk3DO8kF7NfwHCoQix7IQd3m2YhJGCe6dF8zr4AweW812wLNmd15QBZVSf6V0oQOWGos3sKPi1XJEQnluiYt8_rFJoe7J2OBhyj0lxdM8ljK8-xKw5ssuXKL-9Gweg_893YgEOafNEXbXvyWkt_pk-ABL8oPOXeHAIsSv8bg1tw-N2ydTvDxsm5fh-pinDIpqXl_Z0nhRtwEGJH4kY3Yl_XB8mKAjngMT1QCw2wIryL4nwfxRaKsfOOrYb4A0UiqQS42HaedCn62y6gopHartRgSSACOIjXvkk58I4YvGGzXdPgPQP-EU8tD-mANMW2F02ZvMqlYMpigRxYBqczxF2huz91CqwoV2Q2J0gpdwe-bfPCM05sjzhrCCvJA757aEV8u1oSx37YyZPlyjXNh8J30hIcOWhtYGKojyvwSp3RTRJMQ8R4owEOKxdxObrfCkjOtH7UkFyKoew8BQkrflAoo-0AKVoWkWvRdjIS0hB_7CMAQkMFhatvYyDXDSVvTsiafVzMqTCr4C6yVhrNApWNHPbFDshX6IbjPEUMGILDQ246NhwjyFnYy4Usb6JWdYkZ9GksFIU8sFUqmWRJc_XGMJVPrSRSWW0nhNSQqzkqp6XFSB_koCXZCDZDdfDn6gtKWgY0QRTLuzuJALSTIUDR9dhu3fxged8WI12pm7V48uWkGaRQa1YPoj6KWxG31zTMqWwysbKuSWduQJ5B50xLPq-Ui0clCY2Z-m5cejqx2V7-9NsISnWgQ_zgr1DSqAZpEvGUaiWSlcZN5RhYGlKcTkmgus5W77bVxlM_ZagD-jxr3fQSbWx9uQltI6rXAJBtJepa-9uDSHFnKxOYYE9KMkhMnBH08lfIi4A451Ggeq3HQeBWbHoorsZnJWmT4rHZGK1ap9HwaHUs4HtOzzmf9018Y0230awzS_bk5_IncMbUN2fdcjgGMfuv1TLoPlRmQBAHWsfeUnBwuq43vXau7tEdwjrbNhlPGnNMx4yi-31PtcJSwk0DjG9aMw31U29VWHDH4Ut8tgUwNT3EPMApfL-q09qZNlTVA-5BCnJVcklHejPV3K76-lmd-fO6C8EnTLnn_NDdACHG2xYUrwnieYrJVl_VB4helizbWhFEWLkrMwVoGad3nAxMk-xd4iLVethD11E-S8EbaIFmOGcbfp3JhjC_SnM99HtlACdn-MYvoH5LJGM0c6CkDc-FrfQ372ZpkGOfhLPsTDQQacWjDjGn7FmiegPW-jyUqM_81FUFlG-ChjHSiz82tcdGeoJBBMmjxiJFWABV9sdEXyaf4bqtbmdCGRs-IVsH2QJVSTojJrIygVutfh-qzDIQXxZ6dH8cBqCWt8OTw82d0AvUz-YaKOeVUURFGeL4_XKJqkjH2ptQarykS8eHrRS0tB_g8YMCDNVLRJwvBUEgT2jRBJoODVQHdlknk7_TIid3PwRDbE7wd6GwVukSNqnY53Ro7GYNpQkT2yNDl_wg5T9ZOz2rtFc02zmzRb16vLIoisngLC7kH84mg9UuKZpSiLOoQyFRDDrsUwUMXwL16CShu8c_GOgz45mHCHYKg_q9hppW-xC0e3OnTrSIHlCnEFDalz4P-r6XmM8AQOl_ffbcwH9T2Ey-Lm6BTK_MyIjHLjoKHfDpTpcA_7Jp5JxLSc0ZP7udWwj6IlDRynn4uqGuDC423TgmMmRcMwLAnE53w8wnia44AKo8wuj5KphHTIJkJ29OnaBFAWEdeIWOy7LmXfcQof2bFU5e-xI-9OHUMbw0Da-IuuQoYtn1bioZLqLquXzR6ZrdaPAnsVV7-0Go3kztn51qQgeXNJ1hA9fxBNSlBlfviEb_SUdV10xusq_w2UBXnr2nJp9unHLL8W_RAqSfMgXkpSuArL9oNv7q7gDJAd-smJhMVdSZpZzrk2BHi20A2gn9ptBUkuv0CpB7s7Ag3HlqrKUmY_nE599yfOBwsBPgZgB1UM3s42e5qNl_9LCslBcjywpvcWjIzlYFzgTSiR-3VvyzsSMkFOom5aj24mAlbPjpXp8MOf8K6IpWn8Pp2KCR0nJYzpqQoha_aCN4ryDmPknOklWWap1NWEsJjM-s-nQ6wq-y1D-HAkHdT2wH4KX55ekESAsipD7RjGPiYINGm9ej5xY49a2Be7U5gpZW-cI9u2VhAxmp9o9iaBDdy8f8sGwFUiAjrEQ2T50Ge6J6CQYK18TbBAGtITK5TsuE69D172h21piNs3clcjNJbjqvUHkMKQd-jmNVoho5shbLygKR31jimWqybeA9-jEnXcThdFaFXfnRky0g9P9VtrNmnhkNkTc2xFTiFZWl-Oawhn2l1Rfy2ddqkveZ6REPf_wIaM94ap6CWfPyOaAvDUUhwn2AEfXU_LtxJvtMZujH20h1dPDV5GK9zfbjUsr9jOND-sSFCYE32hXXo2WbqcgwM7EbmwfIfF15cIxSrySr-EESs_6sjF3AKlCxp5PQPaW9FA8aTmLFA_BbY-l8kqqiS5BObz5KHzyoybhDs5nR3HV3v3xvnOCCy_0YW0eyB9IiO0GLHYl4Ro16bYRJiozGq-WLbr-7iCNo3PW2vK5AvPo0EovVTfBNaUwYc02xbC4ZR77u8S7q4G92ujGvvRHCTaRY1pmy5O6MAu71uGcA0-24PWZP81RHkh-2f-6A0ZZ1vtcvZ73btRG0jMNlXBcI8Ilv4Z0xbUvSO8DFUVegty9kiHv23Xl2bH01uJd__9uhoTYcqMb-YbTa_3mHhIyjjauT8mp-YZtTbb5DuK1BD1FfjP8zGqL0V4rzDdn11IXE_pRrkFsDXX_LBu06xHLIgY6sUU8naeIIPPbz3yP3J5w_lox6gUUPQ9NAINHwLzNpgRcB8pMWF3OVaK8mSOJbYFMzjQdxpbgj-EPXz66tkqGWX-X5Tf3E7Q7WUDbT2Lt9iTeDdMLJB91PmithjM3O9BJ8WU35Y8RYorwGLURjZxJksZ7cMJNwWef5dcpMFq8noXPh7NFtVt6LMPVQMK7PBv9NaZEYSJth5WYG5_Vw_JqhNwf8qdW0bmAB8LIo0N7K2uYFRf7dTv9qlmgA15vfPlLpDguoQRL9nyidvlsM7b8fA7m71rxb0PE662vWl28dfIUBp8ejyclRaGhPkq40nI0EWoXW6VFRuX_BGnJ9y6JfD_6sf_z8KTOJjk8l2hpvKWJMjPNL9SNNAesuuxqMrpvSGMDXziix_d5DmMsY5_eM2tX7nM5LSm6QFSyKCJ9J0gG5oBHzvZceZ9oOV2MHtryPH65_t5p0H94KRTRbg_7Ca6HRPlsyRdSI-VxZn5qRrH5bWS-is7FROIfeK6VZ1LIUosYJFX8dFy2xvzukiPzs3eYmh3qNGejHDffevIM_3ORKyC-__C6iEgI-DGKxEkXivAOHNj-64HbaJpxau5mB2CmfPJneOcYm4KWzJYlZxPwOpBwTtkiYe946DPFO0IHgKT5Rr3H1Zp3YYY5PwBXEVzeLSjqPB1FqskkA2yJkvd075DR1ixez7PrbE-APIU6Sid18tJdgVbyKJkLN6jyM59pLZfyG0MkypI_QoYaEjyD_RrKZhR1IIoYZR0H2sT5oas2TuLJ8JK1cuaYwtyOneLsmSj0WsxGKGZ6dFqfNqum9OfHmdOx0SoMTpaL7cZDEhEV3tprXD-EI7hg3sKmAUfBZABPdVksSOFAoFym_AwwA45hEX6mXILBs1bwcyZpRG5EnQ1tDa3JfNYCMaJrHCb6xO2NmuWyPf2GiMrIQ0caTiDsopH3hhGMV-G5V2X2rv7O1CeGAsktmCMdhM8dkJJ_xt4y4QtxRUCyvgvMuf43cdMJctbn3CBIRU_6I7AlMPlcNP7xjjSkqQLPXblVGrmNR4qetHD_IxWIAWtwkXAszTHfHHYFPL0LIzO3ejYzgvKQb8mqMawsLXIdOT1YIfVIxdHN7T2Aydom98yfXTOOEY9u67s1fM60goqv3XhpsRqZmAXkHDI65ofBH4gaXygN0RB6u1gfOpIaAinISIe2InHE-m8--vukV0fs_DJ9FjMcDlBkP-FvbPrjYutUE1FRh01m0y7AeWZf9mcaZVM3su1x_GNMoKo_EizH6oU2QAv7MRFseVSCc6w2M-XFh5sZFfvpQaw1DmNnXFnqLgTB5zwwY45EkR_QJbiW_r7SWBIBVphApikQFn9TSC-_MnCTYWUwrb2mGD8wMWMLeChOB1lCqnbNqk0QIqV4Bqmit6pXb3IutmP_1NZBeNqAChjztN6iZ9Wl1JSfAPu-ruGmW90C53Al3I2Qv_cZLjamfuoYmvvHupkhdo0TbuMCzTk3HtKM7HDwRP3EMzKJmVHWa92TxCDYzNbRbj8J_3ZZu-xT8TE5-zm2l4vaukDqsheFJDVWzJdFlQ_c_c6xSAEzIdhNfTdI0EVnNyQtaC4yIpTtVMmBURJU0z1CBk6-3UF6cO0_kEgiDCE0PtE6_-1ApJhQD3gmdgsyl5fVdwA6KyfVJn9BJ5LmPulQvfC4T3EtVgjdfCoo9hOxrJ3R6RzzBc4u1AbPK7pkCOXIUWEizztIZHOyBUOshuW-NSH4ZQQUY_UcBR8lXPOPHR0ol1w5NXiezUpQ7TrEvb223zlJWs3CvndfOR6n2MHTNB2jD8L8YBR33eGMOJQmsNdeWQ53dVsKvzAWwjYQ9Oa5ZvtqktLtlYgFQiJEnpjmCaXzsu6pu35jTAUemYR4IFtYnPoRb4JzzgIsf3rx3CQDkDey9mzpg35W7Mv4alEsypex5E2hCQYfVIEZDLZk3muIPn-x4rxbiTWKnxiS85t-ipAq8l3XDPgLKujjK6F8ZvEBNccxCfE-Q1aRRN77vhTNV7so6NLqlhzi9KloKC_CBuZmoYCA0tZX-w0WZlb5RBTtyUeSb_3-SZTGK5xMfBgDTI3VKlXCsh053YqOjz28SJcNCvvdnE0pMON_I4ALXL-RPJOKhn1ZxuIS6jS85VTp-b_cqjgIageqg3Bkgsw9LYUXbSWVQhn9-sLXw4EfVO10B-6NXU-FFT2KiLzxK4hZ0QrmmEl04GENrPbIduz0DLpWIYA_tdK2rRFvuEXu3Ov6uLYBZ3Q6b9NKKfxuGcZ5ZvcEs2F9iBg9w3MEy4gQDNIWTLz0a4WaUX5TeV2WvqsjXWRb69TkvKNnOLJgh6syPTqvFsVRUrHud0ODvEOh54ZDFWeiXfcd-qp7HplXR4wE-qzdu-1URriDN-5QKGm3AWRCYXED7M58GIdvpXg2PdzdkZLxdQT_tD94_CphTR_mzEUi0SxlN2_GYVtH-sin4M9osrXyGdqHYu9-g8MA1Gn9PZqSLIDcXvXu7EGInVEkqN0A_h5xYPZX8q4MMkbwTci0d2cAnxsgrvhbX1PpIvtLRZUHuFkd7Z-a_pH7D37sum0aH1QW70siU2Zzs7MM1MLLarb6nS9Ki1hmyJ2vHIGWsVtQg55AHscTh_Mx9wTQL2xZ1mmGEk706ykmALfZA6UDs6p5Lvhb3xa3AcjeY8mKETwGzOnoWhd7iQP5uil4ncfcawsC5FLO1cHGyU7GAA2O2nXnvyydkiAtaZusjn_9XPJrEEZnBgCwTHh2cWL4m6dXWSJTvgOPLVR27ducVzy2nA_yykvOdd5bmdOzYY_LyfMBCDbF3bpbuLUb2IPiWPMA51Rk5CJDseAgmoaG37pNXrjWsC1GLt3--na-g0jT7Fm71t-Tr2IPSUBwgi7-nZz-5ZE_GPgPu_fmnNxDlKP64ABazSihtWZf763zPa9d11l0l_ud06nLXQECTgm3gTJacSw0-en23tLUWhxB5IQyO9hIICm0PWqjVeAc2lDobouMAsCt6YBdG4Y5ke-4_lY50-ModZZeiHsI0eZdgLpDvbSzz3IlSfK2LhKGsGpYLu5HjmyY9AUgk7ZV6C-ar2OPglFpj9lvp91do4KbQcyU5snTymtzbqeepx2XiBOJn75DJK09QkVYbKP95X1fTtVt6xVOI4QU8gEjOeVi-u2iZvs4rXX4rjmfRo1oPEB_yTUpiSeiXcUZFybPv6kRDBiUZ6j2INqrQtTlKEB__Kug8TR0NI2kU05mxYgCv7XM4xMyvq2tBS4r3DaQTMHLV4y0qq0-nsN16dJHhywv64M_Qb2rNJ1nPz0g5RL61oqH6AGEHTwTb0OkzG9sXpH6kulrv9PQi1Nkhp8YDktibQGPUxumBGKx96h-4RX2XjkmYpDvpOhcZSabc0oTMFFhKYTMFB8vGVwuERQPvgPchu8wAPT7xW1zsmO_jgS2XIklloXl2VYMijwHukCn-RN-JzUlM6Iq6KC_DXBAmR1tWNopNVZcK5giKfgZLB_hqxjNzIVctks2Syf-hVU5T6rwio54JymwDfnPD2GKZNhZdaDQk8YBFI-DRw-WjbRam-x1ZRREznZxIQimeE2ukra6fyZJzJGf36tCL9pXorgdOKMj09i_yQmnhm1D2wOcYKXj06T-wzY5sRBSSo34wENfjpC2tA8a8LHpBOTJTo1ByKM-BKE79xLE5ztdr4UX7ryk8x3rLt10A8QcllD-etOSanYdHf14kAOwHleQmajUn28adCEayNhqwH0C4RxRn19Y3np--BzjZV6P6y-FN8k7bHKMkG9p0GbKBhTpn9vSimniSD5XKIMVbfAXblwgKT7pscurJZj9EtZpAsWkZngAXFZXnD5xw1Gs0Otah_cJf49Ib3sRToacZ3kWTKY9eqaq1z4hPpurrutA5t8AqDjMSpRVR609CmExil12IOgLhrehLGIfGO1zzaexEJCs4CFQkG1dl9QRsKCFcNyKEXivC99afmgqi0Xarg7r6JHrlmL-M8kZjhr4-VeA7pLBVy7HwtZi5U5syutkroqwybgTPAmI7cWX_lbM8DClccO2O-Ee3JxVSKXMEA2yn5SBK6NqnsMGHLKl6rOlw7UqodKsvXZWfbhnWqYgiWvXoPscCuQ_AJ8u8lRIuhyRA4uuK7bZaR_Xz3wH-B2q01YdCpBe_pMYwS05C3Xdf5pnucGUQPIOERL3HP2bLB0D8ugEQy6KZL9Kz_wTXmbboZAeNXFJw27B72YD92SDMmvbdm0Yyh-4ZXDQ_L5HzsYz3SGYrAGTnX_uhwSGeoixqAMut0NWo6yiKpHUtON2zzfoY-wm1GqinOCj-bNtb-ouBLRYzFQ_CiiUIPuYm2o_V1rtBwq7CCqa4pO_L8RMmomXfCTbDa6Hk6NF84BvQYijHGzT0c3HFAmX0DWrv6M7FSh2EHaeuKvZKyDtx9TYASNbXrzEQhvWPJxKjBGjREJyNT9k3xJ3qUJHdwfJoEt-g3OPPkLjH0YAp4dOfv9FmtGADTg-tfPw_9roKAd78fcu_1ZRgJzeLWSrZp17t5jrecEQiDnOMB0SBteULdQQYa95bcWytWd33r_bTbDq5hOeYr6U2jxYbxj6DYuSRRPSRWvFvI1Os3U8nvQgnmoTm7G1nP1PjLl54-k5iDo5x-abuPpzaqRgPLq2h8bJ1UvG8jkXm9j0JoW7rfAqEiesPxydBUVjPk9Pv_p6EbKyk6KEt8d9hKCelyaxjOQA1D5m6YacKfat4ZQb7cf2pl1q1HqbztJHu33i_TG6a3o2ksbNk9LNA6kQd3PYkrGcjtXfxq20K9DPzWah3sY7ozwlp7kgWto3oF40w-4REgZSpziq8gcUtb2B99OongPZT1gQAVRTdDZ-v8Pk7BA2_1bXIhCCm_JjA7g6y43eFR6uC8cslzMSmX9siyTuwBZQlxmXnEggLb6-GxhgFZzxGtUz1zzZx9WUQDMxlhpA_AwrtzWYpg0Y1xhY2FbfCsNcCe7Cmw_D__MFkataNS1n63NZECxNTHyrxj5yuqgtIjP21wslxxFVl2r3gtAYPDrQ4c0yVLBN0_H2YQpnBpb87stUWSVMQ9-FLkKjpCtJPzTG4uykWvo-6nUpXSLb-d99-IxADbcGyw1VK7e1K_doNvjfADSv3xxGJv5gQ2B-hMFQ1NNjCRte7GsFPA_VVLqnrbAHLhtr1pO1FGXVbF1WSesINuBVPhQyXI7eqwPiMr1iXRSBxh7zRaNynuhsSianwShPlcXm71RKzY-oY1mQZAg0onbtKRSPPcIRX3iasd4l0lYHZWxHrNQ85YUZcBHpYFDZ5O_N13eitAB7vJ-oX5z8-mTp0ev6-HRGO-6dIFiBHQzoZCVpemyBOJy1DQYkxI5XyhZa8MHyTW8blAy1suYiTZXFtlQixgOd1_Vg1eeCHUSHE-FQmOo_YzqhUU5T4U32v6PeYjkIEOjA3rMh02BURyJfG0Fu7zV2M6tiv_JVkMmj9ts7vie0JgiftPaTAjC1HZx8VTqnF31VagUy9HcjfD_O0jKIQjx50vl-WeJxU_NLOJvekGLosiBFpiLqY4bNfMg4Zw9lL6sOvy524FgIyFnoKZwWP-ony-B5gFvBw8ossZrF8GJlEcOnrY7vA2k8KS-PR2fjEbJJSnul1HXzddQT_t6wvEQcHdVmMkvgowMQR0robALjM6HcaXJG0b3o12yVnqBdTymcm6vG3dYFO7cRncHlXf3FVckPsDX19vGiVmBXFCTDYwRLl5sG9X0rli3KMoF4zjWE5730wEqoLlGYeP4HJK36WSKTHZcJHkhQqCTbRjPq-SGad6EVGcmNl8CcOW6tomsTgGFhTO08N6DYGxw1Q5SzX1ZzoOfmT5qLTBYCEsr4hC4748gb2maskl3DEC4KMa4SOl995jqjGmQPxyDuPIDkxdZoCAp1F403LVZbJb5NyQrK77R397etWaRkeCFkbwuksZzWePQEGZA09_1ksdO2hJ6zCzngUhHomJrObvKaXwKrA_TLOqvDMr8nPlUPhymtbyRC9G8P90jBRQC6aoG8HQM7wn5AM7H9fD-zPy5oQ_WGlmCWOxcJOyO_-VC0VFmgVS9ZYyyvHDwyAAdhUp-cjihCMWvCj8amHdhkE2ZJouGd8_-9xF5tWjwfkBDEp8ZxoeIlNOg5D9pVjHrt8xkwSIR6Lk6PaPcqNibkM7TFX5dVPrIoLFAqbkaeS9_9x_0v-SEeTdaLrTpTvBMyFM7aH-fzR9HciOv2tSjGs8AlfhvJC_49NtWc-bfM7j2y2BojsWqp51S029u9oO-qxtH1HlMKeW1gfyR3i28eXGzamdrde4enbVfY6Y983XjyKew7bQAAOUNna7tTtDxUNQJWblrkeoUs1VHqNCoVhbHzkodnCZheV3UzbexHi3Oq6QtYcf6zrkgHLT6ibMVh3OpvMXgEkUXBUXdF4aBy_SvLZ_Pgndrv02UG1deX0--8jxA6kbApFMN4hU601Zhww9LxXH_mTlYQvjsC7awyYcmK3N9NIcfBPFpjc6B5ZIrKofJ40do_OgiLKYCCRy9C7SlM8-c4QnqeMRAPPRVlEc7QJPvGLfIzwFd7VjzcGNBhsxgOEK_jZbIUsW2Hnyo0XsV1HSXiDq9nVFeBQkK-e218SzSq0MW-ZuhTgNyk6CFYZQBT_WsBK4uBFfAw7HbDDB0ohbl6gdkdwq-3Fjv-VFOMauWSFbams4RwWbBPTQeSY7nQ96xOTYghpYeQYyUtukr3ungEGl9VL_3DBP6vBRJOvRl3SRflEXmwcLMzE_uVQdwhri4Nlejsb_kKnu1bHttRnLwJmq9W5U7ZwETSvqEQKsjyxSK1ad5SFxnEIFFvEfcI4XD1Jrz4XXGslOGfnx1iirdVZUthjpaD2k-6HqgPUk2eZoDWWB92NDnyW8xSCK2dnbuike0RS8fkVbXlcsvIJgd8e0mHB7IGTJA5vhNj3GEEzqeYe07T7DePzlZ3FCzSWy58zIrZtwFkovtl7zYrM33zL6muwkO-4WjUrlCaXQzBcHJVPn7xCgQTlFbwZRkM748lS8dpRx8GZo1LzWlQFwMUexUTBwpqOrepNi94L6pMGkzON_x-Nrj4mxQFcZZSliMD775x1lOXucOPSrFCgGmfMCcaFJOwTmpoYCStmx4y5pMohyw88HnkQLJaFfgO3jCumtesuDGEzCi2ulD0O7FYXwK2u-U43-j_Tpe35StkpOP-FMyMwJAklHaLYvoE3VwpQfh6wzne88_IwynN9Q9zclQGD94LErWiX6WNNs8nJ5l6l7RNaler-koU0-lQHDxkZGdHWaddkCWfLOcJZ1YDFzfzsDmGNCvxdYcgiWUoInDXBeyUoz6p3ogR7_SJsF4j6ZoAl2CbWpsdtSkCJzcBWmebL1lRoOjFtsLEyDloOmhepwsHknF_g1KiJD9q9tNpnLclwnMbEbE7Gcfhfrkf8eUS--tUFY-jMF4kEkdqE0x9PNcMwMsIphmAAURO5opeQJZ8bJVxOcLIwVPAnMX6mQ8IFHWjBwePjdLM3arUua7-l6tsENrWoJQVhgntrJJFdDC-C_-m7apCspUh_Pg7Y-I08yliXEzuFis_OkwM_RjcMv47_LTY2Un1BSqbJh02fFLJR2c66uCFOxUhFBFiXs-eDkYz9aqj8nmr8UwWGC5WKQY4-DJEfbToEvpp2xVX-eJlflfBfQQ9lRR8NMEsOz-8ZA_2AAKeJAYT8JGhFCziNsljrN5PQk7mq0g2UrKXgtQqf9L1aqeukm2qCTsAu16IWHXkeijX50YvKg7AXJVFazEITcpiAlhYW5nKjiZYIsN2Jw748_RHlhWRsJ_K35tfctR-9JBMMM4QslSCTTCHnfplsm4mKK-nG_JgDgJ_sV-Eh-P7ziI-ylhs-5BbVxzPUD-_vm2dien9gCqCPPMm2cD-vp--rRnzQQyt_C67GUL6An3LkGdaPecWzOZrVsZYVDzeU9vhDGZU2XZKK3fmbhm6UBBbUQ6577OcepOFJ4UnpEimBrJp6Jekm2IGDK41z03Ayi8MhCQLSUMGGat-oCHRWRPLrYEDMMavMF0kky5AUVkbVoGue7WRyUGnEDJe8rEXVLiKMFKNmK8QlsENEyHH_WXXTZbY4pZS3CVRqD86FgVy2UEC9QnCHvCrUkD0UH6Fz_jl6geVTcVYTe_iqLBoceenWVVoHLjUARmeX5xt6OF-vvtgvtbsdzwJ_AqaUwbqqrkK0KOJw4uMbOgsfdbT08gJPLa7H8cygSqdGbiKdONUKO2oYfcMg8QqksEcoVOsSeJDfB8vuqSgRZ_ATz_dt3EWvszA29ndYbU9rmfLVCElj-CzqIV8Pxgsx87cCOjIuKvNVVqzLuLGwpr7Ccyq1bNGKNAvmz3kIa8lqbbeiEl5efrc783KOWbQIkKDIcfk_FYap8njU0r15ZW3S9TM8oq35zFRjHF1hsP8l8AxQ9DxD8L1CR_m9nleX_qkm0TWDNxaoVXI2Ww0qkl90YWGqlFBpIsTZ2ZcauNJVc8MQK7IyFMVS4Gw7-Z_nLm-m966MDEp_9Yjz5o-OrDIeXiZt6XKl4W5BEHjPDmy5mWD8OEGaWESEGoZhiuy-PUScJr7Ha5-hIRT2isGOYQYCeHgNaaSsBQ06rNwREFoDWoJUHEJDrNPjvhnNlmJibbhjhVWtgyS3DUuHaR4CxjdYAsBhkMOkkJ1FzLbf_aoP11Qy-hloeBNzGRN1uTvDuo2mPDfcX8wFpzEVp6mNN9bGFehDQe7UgGNDOE8kTY2prOaYIZ0gOFdWJ-LjIQPrOU4YDSOXyypV0JDWFTZBjcJ2LUehI3WcBM8hhV97QRi1VVTx8QoG5o_r4SGyJPNhVTx-aFDxfIltm46aKeaFVbB_zW_CDeMDlr_9KBHrwyAGb8Gf79W7_cMhgLEKchDqk79zr1J08byiraHUBhfhywBCxIgnti6NwMRN7CaqTw8j2YPd0p1FR8vqlXxC3TnMthFvW22ovQycXvkK9TUOVSktMHiERRIS1it0tBZPgwneGK9WJVDCdFh-FWuTonWDAC7m_lfT6eS7y9WIOD7Q2Lk6YWG-opTnR72-kkDk3WN22ve7f8GotLwhWvLsXxVdYQzJa3VLPRQ032ca4UZFn2NmRGRqIkSi9bm4lB598JbmaOz4dS06ftScZmBuhJdPHz98rfLGhD-cEMM0NukRIZU9iT7u8PweNNbWqsyRV7rcbugHCTNGvzOaEweRqgeOG_nRMtkWF-G2hbrd2I1i1yBnk63kQB8GiNRVmMT2JonQU4kmrQa0uvqSt4ipwxEZBMoLwmseM42UO2hcJJpmHjzOWHy5NjOc6TYN3Eaag_L2NeJBc8_I-QMXlxO6Cy21nEfFBi6HwA11C3hzH69SuThBuSBB-W_1UzFkDT2y8XTyOgS-6rJjZw9ULsoUM_mQqwS6J6KDg1pZTc9-T_8caXFtxB12_S2a3V4P0vhqpe8NzNqtEHtAxz9BYQFa0Zo_SaNOa1jfDaEshrhnzKX1d4WTg5uJGwUcK-m8FAY2e1OJP7Ou9PwBjO8femdG9xYfLtFxtDMi8kx9SYY4IxXUcYszj902llRokCSvgSVt01xvZE05FAG0zL6Wd7Ivk56ehNeHDPKpSk7rga-SPFVE9VIQnkmKSSXPvxbSp0IYjsD0-ol8M-vn6rZ4D1MQ6a3v_ZGH5v4OGm_0s9FBgiTi2tBgDiTyt1_0QGXwzlirgy5dX7tRiBh2jRf25e6WhkFTbxrGg8eRfzOnXvL1zsIlCF8pWq4FMYhVQ-n3jKCKoWboywKbrWs2mUhx4cEhF7B7ORcrMJpSLz7maQ5EBsRRt9UzRoRzpkGAm6eqjizhQXYOcU0Mf3f_aDPDBZdoMeuTYGjCWI2iwhnotm97xktuAG47d1YT9rt-3T6UFbIT6W66589GPAQ99wu4LeStyGNwEoHaLZMR-sa0p86E9M2fqiw3XshLMXpD4ZRt2nYajA-UjErwyIKiRwKaqSVqa0ElEjjHXtebwJ1OMuH-I7QT5NBDqsyFDMe3L9FfsqxGCA7qka7qIAWBIFA4a5BkV0g-9X8O9tpd-tDNYmkKf7c5VBV5dLAQVt2erkOQcEGqLW-XUaZMVck8ycphW42PdbjGBjRLRRDdNDswZdiXcdr1H9pCnwlSMA9gwdQdkuTmEssy3RTSEdP4jBqrLaZGJuoYFIWkhrdFRKfdVNKfpZ4QndcnhL4B3jAUEOXUMIGSzraI6NbQw4953tqGOjxlCuyKPfyKqa0vqaRmZ-t7CHmyOOymVpXR1FY5QyDq4NZ05iiRSeVQwuNSHWApUjuLaA3uUthvb4rL3v90uj1RlpSX9YbVw_LCUeuLbaNlkn7g87E6Q3qr5JKdVy9G4S18_nGZXYoctUGv_TOFasOm3-fihNHtpmnb4KClSYAKzTHMjig6MR4FOe-vgAGSgvL5l7fOINJPNIDGhdoCqMu-LxVOvCpx7cgnaWY0QuFOObDGlmKTJ1IvUZD6-xsNF_d4FQ6hEaQoI_DjBhlndOwrgpmYGH2pVpXzEmE0Qqkmgnk56OAYD4BNTxjU2jVz6-va_NPjt6XdJjcYAgxRkhduRsiBGwFS41I6nem_fw6Fzj0GUHOLMlTA_9nsQ9xYu9pOL6ODu3Ff5OCBTMQ-fMYRdYpeGsRSDPZLPJRSloKOHT9kbfuZNxH3DuHT09pUzczhnjsBKtn4wZJl7EIjZEr5PnYujp5WpT4IHTdNlMu0yU85_TQepgIcEX_OWpJ-eDOwu1uJt_0-wyepcHFc9fLl4vbblSgFl84fzFtbU4hFxbl8KZ78poUe8FZZL8jSMb9WAE_Epxaj8Ge22qXP0ZAkIsel1en_goxA-eZEItUDUXBvmekv1_b1uwnetx1vkyAhlNm_-W4RNN1lgPkVfaJBJN8NgNlm4jiDVHnnqD9EQY1JLWUDnZgMz6LmkUTcBoNvYBil-VKS2EvRAem-HFfBgsrNMAD8uNQug9F1WKVqHcvPiN9_KjGzBasuLMie_8HtLaNkq7v3di01vTpa6yFG5hQuvqgg5WbkyQ_Z7N-DxCEPtMKoHgFB1p7hoHdqByIUrDcRmHt1nh8tzXDDtKScsal9lozYlTkBHLWrcHW2ak5yb-bONyHfa0fbN0cJ4yb6rC2Ph7ixcwdT-Kd1tqbolllERuqcshGLuV4_uaGg65GAqlfzc_QxMpjAtuXKZNj3tiOeL2G2bIIbRHvvrl8Al3WnUM7c-smU4fWl0eJivRVwkhIHZdnqGIbFruiwzhyO49EhvjDqieXvBZLqSbZLCyDUakIJ_Ej_56JTr4kpSuWKxMPNLquRbbEP0_IlvneAbJdZYBftjlNRV3QI_-E3S_G26TXYAAOdtW-9nryrSU9Hc1-5WX8207bJbG5ncwwPEtPdMQepbPZsn7V9280cXRdfEAj83GOyPzKGGfMtJp7gVEdczJK3FwGN_ZkRwhvRGf7CAHi7IYzgoecwyojHQUFmvotYiYcLBUuP8LwfbcULbMDnH-W1z0pazM1XZ5i6DXsSbDFm-nTvMxNjNCH_BSE2spGEnrw3vebSD-pCAghyneGLzOOAGAXOodjyNa40Ie7QQTNsyFvcDKzclxwYyF474pUdOqjsLjdxvZRn8oZZkrekxpTV2_xauQW7UzNDv2DQ7uhmQjBV9pQZqKx8vxb-p-0jkSQBhkUwUbJQ9dPPQYh0add7_N7JMhDtIleNA-DLM6v7AZsbitpQ-wHELVXJ4BICcjQ4VMnNc9yFFsCvuFOdpKhLFRLYCn-NL68kpMWuuNW8pmlxEErLTlZh3OjtufBJLVCDJwNioiqbPqYWAVpJbs1NdhwLzgXZ4UtiiXwOOnwuxgvHxwb2No61ifSvq7C3K7Ei5zAoEZgidnQEMVeSq9UQlNkeUrw3k8ln-bJQkBuSvvk7zl58eSVRO91vRSoIP49lZIOGXhfnp1haDLRgi6pA7FGF8mXmXHVoERlBjCp59UtJeufk9QjKOyvDyiMLS1injCuetB0XnajjtELvLDa-J6HjM6hgM2o7xcvyLApanvJo-O50rbcLR1b0sXK4tXA00J12ZFej7OLFXcZg3TUP2XFT6bZdxtvK1_2-g9XsR7ymfnXN4PnNbmxTcwWeGrQwMFy0lwRZk6Cx6ivmRhdV6WEzuIYx2ckGdx4NucxfqY67T1mAbU6ilJH7_TFEXoFDPyrBfaIh0CXorxBCi-Iq11WfseFlmHXnOj5KKCD4XXG7G_2qwpEanLiX-Zyyx93_-7Gt_Oi6siwHdc0A8KSj4tNVtdpqcGkcMdJUYT6OLpoS7aLLR6rXIM5g642g-hverXBO3gx979BS2SeorR_aWLPuxScpjoFGkXeTSYpOW28VfLYaEvliUU50NRJGOqy6ak9rOJnHGpJzEd9HMB5OLOxkWLLE9MThKZbnRBXWt6dRuqR3mQTVkFkN-XWjVYdMFh-mhNN-3A3OtlSDx5Dq7uOjWiexOqu-5LM-9YCkeZYhDBYBczIIk163lE-biNter54eDSQ-5Lkl3OzQLfqLpKzqNGmk493YqetnrETVX0-cAO6I3oqiRhwQWAZTZTtAl2K40CK52WsSLSZoBPfHL36eF22dmdXD0fL7I9QmQhY32dxr9GZGXNcKliJUaJfUadp1QocZB_M-VYwcERMaGJf5JBTKR4u23BbVkD-_cnCz2v_Vo2F8iGiAYd-XwA0X5NMBFp1_hb_qxQuVxSRhF1R32whPVgOBfQl-cTnSQzH-3IEcMqZErpYdPCpgiZ8M7rPoTVWrHXXgGAaD4ltjUjeVHjg3lKhb-ibb2rrW4GDJHTUH10Bmc5ooAqb6qSYzakqsvyXuhook2MgDBq7hVgXwxU_f_ghbFcDvAXtFguBbT7xIJDIuHz__QA3TnrihUjH8Z49G21xS4m4yaWPk0un-lJaAn3RmZ70knOcu23PLgjuI440GwXE_WY0IXR6hNTxi2jysBSGQFKB5VErKV3LFh9ldrPrMAqNGzg5yU9CjtfAHr4DBtIfvm0Y_EbYl5WkXP5qcXJSu87ZxUulFwiZav5orypliWniAzDYIGjbE1yCDEGGVQb_WkG_m-hkUdNTVQKCnlfV0d4nsGWjAkPse830ltPVdOPrKVkAZgabZF6pIf-_LQL349I9uNHDVoCvk09-U8mDoEQ72uOgfJcuN0GmscAvUEl8lnJyAnq15WBFf3zrRK_8UHRdAYt-RLFMWR7uAihCkr-GKMTkXUiCfNd8W2hocgwYl2NBL3mg5byuSuqN3I89fDicTV34JJ61-wNNxFKJwdV3qXhjFrxG3bfwz-yPmd6zLFpj1wmV9or8YkbMb7hUvKzgbTololzaIpcvUOJ7WJj6wvq6IX_v1yDVnPiajoONWXyNMDUxHUHJ_avGnSmnpDHa2PVbfRb0nrPLIMkZLOarl9GiXl4iC-eIDgEqK8GoKUhK-j6562Yzn5JMvg35VE7qBLdVU-vdsHBp3BHA9dZ6LYzshuC8AJ_eNl6p6TdUJ2WQZaUe3FYi4l4g0cBw_AuBuBN_ZyO0tu1wU7woSLipE-zz5tB4TD8UK1Db13f7duB1MLzgrOInsvQhBwUbmtZfTpQVIm7pDl5Q8NOq29LaG3B8WoBdYg-VovrNR4zOSEdHwSYAgs7xaOnQCt7cS_dG0M7GvtLMBqzrgLLPLAm_dKhDz3xv8T3TGr-zJQQ6-FvtiNfmppEhtKxhAJMsZLBVH3MlRhI37OncpOY0cS-5M1XR-QHa-NBttujSW2Y8W7fCse_aVnZ20tZFMuF2yKRMjVafdDcFARANBQA4J5bF8au5aNdyy2L4B9nOAYwEVb-UiOobjGkzGD73bjMdjRtN8Mxm0aaRAcHzcL13o6z6T1cighWID2V-bGqgH2lrg7V0JilCYhLdHGOzeXXpz6YTuaiXMAw-HMj3M30_Qi1GsChJSikcvwV7n7QiI126MXb-DuNIINRCXy-Auqxg4aLLoHZp_XT6OfQrLRjN5VkJOjfa-v-9ISVsFfeRC9gHOOfqfZ9ox0P1cmcmyhXtWUiyftcm90OP9TRExoSsf6tblPYPWXmAwN0tOk0occhcUh0fwwSK1i5166U57BX-Has33J6h9nVD7lOkc0yvYYBweVRy639fc7vLLSQNGluo71Q5sJIo3n0pdsvIl8_D8acmGEKJyZZYaC3P7Vmhzk-kfyRM-oZ_8u9nrlyX8MGK1H0U3GVJf5uxkQrlYi4LRqhVWfYsBSQOz4d2VS7MYt9lNcQqFG-zDlJXB2RpDg78OMjhoWsIFXmH5LK4F2FgSujmHf4kv6vg60VYsMj-3skXqeZlNJX4RsHN1KYe-4gcDOSW23ZSRbBMbiJ_RoVjxf2LqoJWaP2j5-bSp7TyaU_j1aJVqaTHW1YblEmGAdijrXhzsSL9Fbl51Y-2It71dWHLw5daW0cUcuu5LMvmEQiCNpyVeBdoqsylcxpmZrRIrxNYeT0b7o-esjog7jAfPPYr1tin7ZMdTibGXsu9ztCyN-vVfDSM9XA7KsIh0IiqyxfSf-mz-NZi5AfXxyybMYaNWexyxrLTpD8mG-GqAvCjyUcRDB355vcryCEZiP5uxGm8Yu5QrhvTQYAvbh9h9VY4uxtGkKuJBWV2owhVgCI-nza56ZXeBaLguM-LnNeBtnExMomajby5X3fPrcNnrehFMh6vKoI6og7HRo75ejFXA4st55y5tbNoD2YOCN6C_YZWMHgwuQpZtR0THikHLRH5aZDCy4iA2WM7I4CM6CY48Zz49phPWAApZnvPGNngbybQ8Mq_7ddwX1ExXPx0Q7Dn68Lg1_S1yN1jsV1W68nvIy28XxHNTUmOgWhRWKK6e-8A9sEhZ3m-iXexceZV6YiXstdGge4rJGXvtfGqz3aRI9DSmVMjMkWt5usLjo1S-eTQpSrPUBWJe0-Nnr_SpBtTlH4AmWtwaCbwDv1g3V8e_MLKZXELLs0l3LaH0tt4btf2w-vz9jKgPEUuCyLskP9Z08JtOyBjtKSkLOVv2rTDfchk88KNCHvXKAgaqkw7d7nhslcK527AspOyyvvwH_W2xRkBQp15Mwojx5r7XIuhT2Q6NU42jeaXTOLU5rY44OkhsKYJ_zxFUt2yoW_OUvBJsFDzM31ZtRsQa7kmOzJ_3LrjzL9KPPPCDSR8vplnqZNXmscqEO1-WZpCwT3Erz6yachwC6xe75s3I65R4Ins9nYHq7y8-bcRD9kdib0-zHUSkX3WGbCms0cYvJ0Qzum0WUkcm7x21SS4v-H4b7tczilQzQ5KhIDveeedSG1s48qvKHF6vALY6wGiGoX3GXPiWebKyhmZpYDhfY7jFCThGpCK8eYvoqzGl9H1k-tp3EJQWG7GpuZz7d8rG-R6wStcrtBQWrWkQ54zRl1v03slkJpzSGU9Yf9moPxQ21qPMgNOkfziqFnqL86UslFOT553Yz6zKtmXGGwyVsztBfHEyz8CEXHxxiZp5RRcakwqjxXYXlUDenOjNNP8SNkw9Qv6GT53cBQFraMws99yuddeU-mXzdT31M3KYiKpeNa4lvAgKrGaDDExrDA3JXUf2iPyBwpijYi7s8tWo4BymrlMrBDg6VB3DqDTPX5F58RpNS217-IRYBHfFbw1Zn9uClMOfn2xS_pqU5F3TDEqxXo3yA06B6TZF2D8zI61Q0uCzm4cB458f0-3iDn6D4r2u2_8ZXOeHG5uqs3YNMiLFvKNi-KnUCHjqMdViIytsJRpYM-gl97h6jfm0RNVc9ggKPPsibP7ZuRzWLyavNy1ywzWLRpwoGxY4Ktsp7fbUGKRB2b31T5OIodTwCtY1p2PV0lqt4H3OYYx6-EbORDT9fq5oiUHVW9MIYgBO6uKe7tECQUKbq_y8sgIdf4jYNFb1vKKbRKSendzjxaVYh_NbHzMJTYC8Rpmu949ij6aeKEF91eP5bHDKcPbZiB5YWwrEMta10U3qIpSCEPSEbzkWTOJMfQazVto4R9pFfbvLNXKBymTiljCT6kfYCapnmutsFsCIxyqq0AlvkogFYizUwA2FPuRUrJ3an5EzD1Yq8r8YLCpPIcUSJ9EFQ5IGfhelTtcNpLw3n8SIaLbEx23GiRJ2-mHxu-lR-QxxLYvkMcYZ6Q7xagr_dzuoOyjTqWuPzSHKF7nfsKcsBFpOhYCgd3qI9e4sRHTg7UUv894IqgkSlzdo7BBPf1ZO7bhGK3Zniilbci7sIj7ZE-63Be57TpD-lG5TnKCFYx_sRmQNxw3CwLKIdKxPzINbc9W-QnVta_2Z0WiLwTm5eTC74AyQWWYb0gC5w8a-g3kEdjSgB7JOC8Pj-umt9uXb8_p8UnNF2HjEN5G95Se_Gc539YkiHvQUsTCho7hd4F_9OcubkZWpzKp3rRj5_w37DGOtsSGy4nAf76P2jmqi0bzDGMsqI3rUyZ_RLM9mGwoMDSSK8bS234tL0wfy3TDYpeFlxb_UzITjdmkTznrPpbu3-zcNb_i9gIMlNQZ5t7WijaXzoxF52_-9z946jUj4UByHoAlBJpm-RfjgIeehQeO8B5WB18y6uQ2lHDMnuXCfha9Ip8rXp8JTYOnsYUgV73lOPURQp_wkc-2815RtuXM8y1vqSXjEcGIJr5XEcC1ggIK6vK75MZoCY1N2Ek1JuHoFcRStROBKz5MqaRWQyd8GrM4CEURj_HZuR3LliOf905bsL6wViFYRUQLTYFc99PxKndyKN_T8yykFA-qylxtFIh__luTGxaKwNldMhSxXOG3LBzCJdrLsP67l8GD9WrYapFQ1BnSzAPOX35crIDhEOHejp_jmqBtv87zJ-in4lMKPxV7cM8pHNNq29Oq2e0wWa-XdDnFr6qTgicj42QwVuKRTOeKTsTfD9wb_SU5CKtTqxYD1envl6L6mjLj1dz8BmB_UEmSC5OzlKuL2Qvo11SaI3mfr1XPIjhIV6N5ZMxdbRTD_oEKMgugwvbZgvUWXN_dIGW9C7a2o-81CfuRreXtSv-PI7RqG1SK-1ehiBdRTSxqJbd0iTDSCBOUUoGy_Ts8VlBRpBB9fplOjZcyv7Flf9HBVJGNhe4oTg7Vz48WhHdsX-dm7_5tALzr9Gd12gRYnsPxdbvqxDxqKm6Thwj-m2Gw00zi85wMdgJRzGdwV7MI62xyw_pypegmRnOUapvXt3kT9ZR6fCuYq7JayqmV0D_X4ggcoE6ZncGgsrzxMumunHWiSCtR3WC2RVS_L-BCjNWDlw1hF4rSM4s9QzP2XAZQWuNgrFWYVDX3sLVYehRTDIUbSgeXu3GFWM8Gjas9w-sl3q16zYUwWmriAWC2AiUxRuJR5slUHcMks8Dy4MfxF80hZ8-41vx3GLwoFNVaf1cztSfZEdhTpIrSq8k4BRgCtJg2u9QKI9d022Zodtagc2q6Q1HKhbz2arYEf5rblrcGMpCnii9xs-GVipbFePlUTF36rW-VFeE62PujJ2l_ZfzsRImVgu4nd282RNn8F2NuX19zHm0F1vsCQfYDBrxfXr4IBTPN5iQuJuEzwM59zFfqjnJKcAWnMotfdToPnxVvH73OPLzhYk0qUUtiYnwESxF8N2c6eyRnCxFHse2wjp8Zd2OT3XX5HqmreJSRmvtt2i1QaniWcZPMxaJVHUbXj-TBzyhUoqRVc6thRlYwlb1R1hCSILfy0wOoe51s2MnTgTQi7aF8JHHKruoqvnjgNL7kqPEJOmDPfYCF3lhjaOQ_9XZBgFffP6xQ4xQel7iNaECtVka7MlQdXbEoUhEwXfC44DOonxivbtrGGHueUxodUtvONQ1-M9P_GGnxSiJpPOdMHUckJnkx3_Cl-qb6XjfTVhpG5EqsXWCURlyDTOy3WlZigfrIRrH8HLGaGgaJi40U8gXkqDhrMgwi1_9fwYfkqUo9i5RDIbVkReEkvPNajEPPmRbnVA9P-qxgM2SpY-RFyTYVrqQAWNhHb-ID4X6vjxZgyGBIU5qBIeCYRm_KR1GGqumwMjKw4n-6F8ORpot-BOntReLCOlcHpsLvzqSUiwri7QfutdEewgK1yNXKI15es4IupgTVDRO7ctgWXSd6nLTA9xjHSdHBkww2JXPgsUReZW6AdZxD8fACKbcmRe35DoSNuBrkcnXMsv-aeLIHoo7wpCh-BX1F4aHyflj82kp7t6L9MLh4I-EycKInuRtbkLvvklqnPMUC_pm61SHiWk99NWnK9aSrpH0-qOyvxOfKcUEgqA2L0nE38VqyViZUzwt8eFoIM_sKk193liBQ3w2tjIdMAvJx3VMYZ25c9y8VKpxF7ra_gsx6zkfFric3X52fPg5Xpu5FeEy_3BY2I2YOpKeJUnosepAyWlI002JgRUIBqqwv3gZMnW2bAGk5uN2zHervSmc8p9zq2p_QtvYAAYUNMDEc3l-IkGyJ5qVa1o8AI5KnhikyFxyvHAm-uUVXadw4fgIHoXWgj2w5SRTojK8Yx2uEsHDLN5PagmFb54zxwKKwcZD9USM0I4DXsbqIFgf1XzzyZX9U_EcOJsAOlnbneuEFghphIORf8enG-ar4qeeP4w_FR4kIhgA836zk9wX7VEOKHcOARVXQiBwHQ5JbNTMGpdWEO8HDRNDywh0HmafZ6d0-EIaV84PEF62uHCQAQceCHZG2gvaIfiIUaKgjEGDdOKR1-FtJI4ZzrtRvHI5HO3o1b2gReqBdcSyPm-9_sxPwb0CxXM_PuXd6JzRYo_5_NHWrmD6P604HATdDqL0a_1fKWOb80YpC6ZRbLyF0qKZDSy7-mhQY6fwV-cvzjdZW8HnkIBYosqGfhkUccP8WLAtcmD1mPJuK7Ew2kn1FE2zUZGLcJwAOzQex1cNvMVEZ4wjCOn3uRaW2ir6LHoccvk55zRbEsvfS0CrjdF4l4GlaCnGbe2XJm1mc5XbWMPlIerrMlZP3eaijdmFbhlkP3ldjjcmDUbBIXuboXZj70VLvnJirCArItLDBeLSiz35kNGsSIFJ-0Ge_XGXGo0VeKKlEe2NdjsrkIA7zmaMVZUEH6uTRlz6zTMDTlmQonJE-ZgWT0cnMNPaYH4FYwJnWQyr5VXPgSIikb57e2gRLpZbN8bsfDj_AvBocUpFHr6LOIgLelkQWn27TPEnliCpIOTrP58ys3Zd9_49xAUpOvnM9I5-duYvFqi8B4rGhaOUkkZsnd2JOpppLqL4907Hh8A3bbzl0lL2-pNHQSPYafnoOx5PgRhDKvHnT_VcbRSfT9wNMoTE9yjfBrCswqvkS07YqV98LwA1M_7ON4dYJC_HQuWeCzx8RdheFlJJUJlUhwGFV-ZAQwAWSt3PllGgYNLJ1XtqANwgI4sYJJ8zrJSdcw3QDViMqJPPJkwBcPjoJzAh_E7xcUVAOQKwo_LpjYSMy3uD_XaJpxX06omRn3R9VbA9gBTo8sSZ4DfdAUEQ6otu0hrA1NaD-I2Rukq7hVbLEogEFznaHdgfz1nlebJcqsgFhHYRQ6jOTWHAYm56P_XpWa6raShBJq3cmAT6xGNICUjPKC187BC7wqqjvirPrL7C6QDR3XwODXM8W8nBqO9x8cu9Z-jtYST2wJH1pp78tpE4lnDKXNdf8UIRRoy5gorxPKWC68CFuMxtEoBId7WEiA_R6tQynr7GFym3iYlQS4vuT9bH6wTL9zNgz5kA30Yogtw2vT4B--6zq3IrImhX35lbpYQcaeWCMRfV6K2g1QgiJRxLXO_yLeTnTnCSlwjAZdCGr3FcsMjbskMkWEi5ZFa6vAcA_TyUPm6iwBLvU4QJIEs-8C_oqevSc1ax0MN_mjkZeqqi2MFnXuCY4Vsiz4QAD_PIB3xWbD5fL3-hqkMxFAOu7BsyAPssFfd8BrdYA-dceHd102JomY0zR93OH66i1toYVgQ0DRaxbqaCRIjC2gLYNCqMq0kNoabgfmJnMm07n5R44FKFuyOlN8PuNHn8I1lxc5oOOqC0vB6K9bX7IaBCgkVG8d7kEiz1JVlYiQ7UV4dyLHCrs16eJMiD86YKE148KFTzLo0FO2RBrR01HDwd5uzgRNb5CGnJcZRXcFGhCPAaz8d4txjoC1DT7Jo1731rcYbSr94SIGJEaB_JT9lf0fGCiYrFxg7qQlipNcLmBFXU7kva6t90xcw_NCXoeTSYJJOyzg4VloxwVfK7UMLVcpD8c_3VPv6ukfvCbTWldnm7kzDr3E65QvC3ndzUYSc0YYYJEWn5cDRrntgEKuN776SdSLxc4Y1-fvl4m12pkC1gVkGK-mpwccYkITX84xIpI1AC2rI-sYMdubanM-HkOY6T5Zh2hvQPFQ7RvyeA9nfdYzmu03v5_d3EvlWosvUsRijBjObu-bXO6OD5H0A_AaEhzwlzrKSl5bySkH8HUOzfZv_KIBYeaDWnhWYsNejP74rkih2XvfjCueEghZk5W9UWPLk-7ZSSurPYYH1PQkPUvh3LBGpZRPmmt-e3d-PJSeakD2-kqOseYfh6bBiWJD6ttIhxnIV5n6GJoJLxxM1JXQETvSPk5vIu-4XYwVN-kGP0cKDsyzX-1FrlmaWYXAL4BVEsGLQfGJDxArn1ujUF0DVZjI-JHaJe5ENVxch6jAi_aDAslEtHBaL9eLxCcj5YjoFI3ZUJ5J3-YQXNJChlH_TDtcrMSUQpWYdpLumxkgq9koAMdW8vYadxBdXiE-huY-J6CNdr3qBpHIaqEAd5khe1BpzVUe06YAYY1q4cAd6hhH2sN6NahDC0viVdeSCCsKdV39QHWSPgwRdvbncPU5hGzEEtDn_M56uMVAA_XB1ifft3gGWPV8NhZshCQ4LLRMZGBFmrj5q6vUHxEXQQBQ8J8BBEeicL01zM2eIK2e7Gh4XtVrnLd02fhROEgHhVviTUOcraxTDoY2-Mefzq1suebWG9K16LKCW12b6Cc4qSvKbmGMWDjL1IG8iPvEANvR4sp9XCAXiUr_eC09AhQQh8HePUdknU195PqWmOaRUH8tzIXC5OzHRNkrfxKtN4PDfE5RyQse-dA41ReCmB0_sKtWjM87pooOlhiR5BPv1rj6_9hytIdiQLQ_c0Bd0JAKpgN9ELuErAyIjG4d5xuVNNbKtKwTyTe7eQlx8yAmOwly2ScF1yQMrBW4E564u1sXmhUTjJsMrL2DdUTuv1_xafCX9vVHYiaQsJ7DJNQT16Ni7ZNHy_o9RS0hVBA5dBI99o8fOQ_grLxcFgCDPYWM6AoEcDcHwluBRmKS7LM64ffoNJ_ErOvkvW9WfPYTWDGPrmi092jOSrrcCvlNFYkkj9FZ5SOiCEV7Uxsgl3dmiYyBwsQv_Kg3U9PNChUpQPhBPJcnxhXgjUKFkT7Z4C3um3QW6COzAS13o-FY2jD70mYWj6yKFawBo0WsCW3m0gjt-DN1I4tQvZC9SZDskaaoraQ481DkjoeudtjiwA2txmXVdFX2Zz7j4z_NfPN37pBk4bWzu6EdWTegYFOJe3PSDpujYBkVzjufhGCBsncnDDyRXfq9FJRXVpvggIm6nR5K-Lb80jHFKx16K8_egUhXYu7yYtc6mGzqG5o4klAd8ex48sYfUnOQDS53aMIxu6ouXhYgvoM6Tu7-UPGxSuQr85LQmQqhL9ZjYyPUvcboELTPtopDRF6A8pmbllfyonu-eejqDWvVyeo6lCtMQE2Anl2pklXtgapJ8heYz09hNpON1MpD2bCvYitqugwG6LUmii5A1Wz7y23M16-8zorKnpr2ZaA5nVWUqDUlv-gnTaZhu21nsdtV_w0aCZDD_oCf1MoOguKnhYNW0HUtnqdO1P19k52FHuxoF_PFiLWm2n4kToU_IImiDFnmV3vVPA37put0ra27hYKyuNqtBwkPZxH8xDPJoxq8SOfnIY-ln_q5FD1BMLCSUYRppI0iMzWAm6g-tPy7x4zk1zwBaH0Mbwd10DbQjJWKZnTiDmKSvPs3dZWLmFib57yTeTK7l4Sc1DIL2J5RE9WI0EmxGroV7UqKaHpGQfUMUrArgnZUG9fJhR3OjLy0wioQ8gVOflaADYWnynBhprUY3qAFOKYIar9VWviPxfwJC32BBIxQ-r6pmRlhuM3uTTUcQJEWo0kjsDqP2waWjHoKHuy3l_GswCpu4qd6U8iPQjRBwNRpx5Kh07zxDYLrWyH3tzx3ysyznQLZcDt5Vz7JCFtZTflV1-aQ_VfGCIicbtGZCFKg9golTffhLo_68yILoOrw2Cv6jcBzTH3FUJvIcsNFY4BTBJB_PSsrIzVaNlgRo8w2EOkYkp2zQIcfN7H2yVDsfvdOVZkPgv5PGR3ez1OVffs83xXalGk__W3U8gxM9JNFLlHZV_Pd4RMzEXKqr8vtLhVwVVXOox5Q_hd1aG93BVrPeSXpqOhxCFq9W7ts23W7VcwtquF9ruH7FHiWW8YGqyP3p3ADQpUPuAcLv_4aQbteoXH2n7u5mWZoQSNDuz567i0OpmH4iv4tnN_YRmkxFXb340A-P5G9EqDM0MW9eDpd0wDhRVNnVMsg4E5BF0TGDAUmQOD9qoAHOhBKiKVMykiQoyZeDiWTw0MPZCVzFI0chlCJUyxI3rtsMdsfum0Nqf8cI_clwnuMmefx21Ui0Sc8wcCtQuEgeTMVOldNAEo1a3vTysg4bG5Cgn7LIHVTVviqwCMzIyDIDWWfpcGFuLfcrT3Q5FznThtQzh1EaQwjOPeSP7y9yZDwBQBEgdN-V2xbplLmUWozzvz4zjSUC_-FcMBBFob9vq5DATGQSU405PbbwgbnyDDT7B9r7L5igZdNzQbBpk5i0nvpnel2d31fxaTNxTEq5KsMaY2RHj_Ix7KZJfcnZQ8gaksLTTf8SuOiFvvusdyMreWcPwKgcrCPwWxtsYJ-GHXmUQdvqnjUlPJxfhQ6HV3h9tJT8Qn--WF6Fis2MUSNDPrzcq0AVitgkpr0jmi0niziOn4Swt4FmO5NOUlN1K0cIn_IKv13s7jxs5bvCmoSmddkvUoaoUqQfuk8a0NrBHdyZqAt_JiwLvcMr5XkbM-YHcJfonVpOVx4TqRF2kc-VJ5Ykx-6vYuEP54ojRmHEHqqVFKlveoTLfFbYQDD0-wJp_UwDoNkOem04yVFjQd8inWK2vs2PgneG0izh3TDL03oAFgA8fTJEQeuPhBm5ToDYwHvn4axRPkYJ5SFAPLBDTH763YW75ibxNP0PcwqGOHbXr6V5yre93y-2nNirlKm7GKE-sL_YeGE-LEg7Ci37b9eCFSUodPp7qQ48jjOKtXwLXfpBOLsP6cn9RDYlgXDkg1fuhy-LXCifRq0R3fyhdyMnVzUQt6PP3Z4vj1VGvLl2kJw3wjOg1E36TBVyrlxuoNgiczoCCiwLRIUN2g9ZEmaGyIMqY6QSlSSbujPpv9l6sNzg9r29Vwz8kXyb0bCRqX5p5MTa9Tp0zo7vrSfB6_zPanw2H9-UH3UObBJd-_Wc4j5hDyCGVoHO98xw2EaX5_LCGYh7iqYKYH-G0DcaimIFeeevNVtfndfow9bl16JjdCErm5Qj1sj4VXdUq0eiMZsv80GBncggQeIzV8C6BghP-zJWJ-CDQvWXJMzzO-mqVe-WgCH4nxjBICXHA2D-2KwQG_9lW51CkbAWHrPzN2SxZ3Kk60vssrmcXEVRyvMkQ8TZE2Tb2DuIeGW9lH169lxNiQmM1KAK07ywwttHY6N02jjkYJPUErDcTXaW2vmOXOfNcImNFmsBUMoU00nv7rX2n7NbG5OIuY7PZLaGTmmYJfizYXsiEsrI_GrbdkbnngyBFp4m5ZWAPgjoEff3HMWMRLkKRgDNILnyWQCctLobEze1VTXrw4ufBJG2RqJqWbnEN4H3kC0Mv300bubZH9b8wAQCtagxDXUBvUNo6hQmoTeZbR3j9lMxSQaD_BurlEo9wM10XjY1mb2uMEVzDAcTWm-Y0-9-ftULKPgDqUxdHoPxBRMYKCIhCRdYG7KFbmC8wzzrepoqBZP4Oor74O18tki3pvXj8sWP4e1ikka_AFDw7XxFher67ohxxlF8q-LbQ8yT77TwF9qb7sqg-PB6SLjjz4o1S6neGOX-dW-Vc_9sFlxRYxoKgVi1fAOBQmNttFOQ4ahgj3KbqGxyFmfmcljJHqACJ2NXJSIqJfbORjyM1Rycef6FK0Zji3h3XkEzQ6fQpznUrDV_Jldy-ImRa6y5M3wLAN4mfWb8HpPmaSYfIKX5Dg6oMpY0Em14tqFkvmMSp2zDV0-3OsKUkkcEbLVhWruxh7uhJsoRTk1gJI-rkNQQqoTEoyxQkIwlxrk6vd5eArPNwd08rAuNd_nf1RvdbrZoSrFabyqnMFEe81YuyTGqd8lg2_CW1grp7qFC4f6wvOyT_HwOE5lI9GOEl1tT5qMcA0xUnbMCsFyR2rjBPoIBzbdxFyVA-CNneHmoTBLC5H5iYQ2fnPx0pvQCS1tMtN3lgOnAtaNchdTjOjlN-abrkgUH6sSZ8jXJemjTRGeg-KFfas4TH1DWRzmVaAoqqlfSIIb4Z3ycVUaFsNy2lTPv6XjxRLaCX6XqsAB_N1PQsUaGeylZn-_KArobf2d0ZBKy2NNyTKfD9y7vOfCLeegktrUBcJXT6A9ZDkadt7Qo7mIxXujWUO_qPbGZaI61lOc5wgR6iot2heekBM4z1wepaZQW9Qucd3tfnDGNpYpeEGRQyfzFqJ2uNSpXRcsYtMK8KWZTqP9YvCMkDnYMhukYdeH6GUyXPDHCmrwmnS-MIND-wrXaFG_qMBTwCc2SGaAxl_L4tCo5rjW90y6cgvemH8CIvIhdu1ZlB0Yc2K8uMdVlS2s49yiFplAUqOKUwDZUiX9lrroqF8nctL07nnl0voV7Ido8h-7qdLTzetzMNelBYq2-bUqbMkKnlmFjIwSf2ZEQvSHc3wHyeCamdBygjBEdgWR7kK7U63PydJE9HH6PCgS7NaMLVomz8onoJpEyPFsj74NtiddM_NntQZPCHYp-FpXkzg4zv_1bReaqE782RHluDKZbQgb8ejaUvqCPzZd1f0DlBzx2-J3zv_CfUOzrN-ao9M2CWV5k9cy-oOFRZJD5j1DkooHe00nLcGOZumycmthI-DpGXl92BoGlknFJTAlbwGhwm8rMA9u12v8vE26KoFVFGbUcfhE82MSMQ4rn5vxoMNeODp_eY8DtY0jJ_-mOZQy93gay9tpFcdrPaS9tXsG0FSl5uuGFlJnkh73pyM_ms4oLRJZl-p5fcAihRbiWaq4w2VPzVg7a0SfqULqY9BjQHFyYx55PImW1PhUz2Phd9-cl_8r9Jv6BQ1QiAj9b2wmlBlEJGhJnaWZOoauVroONwGhIj6dclBwRmLklgB-_7UeUzvMp00y71Fh4AQZU1Yov82-BmTBIhSSc5S4xxDogcQvkXUOhlw4M67sH6ym7AWjNdY_RNljToAU_UdHHmgQlAptRb27hZvUkpK3bsHD9uTlQ32oiea6Y-LcdPnowz4fdqEQUqkuvFdO_dB4aECbzeHk9VNxXYIyiuMFO-EVkheB2qRjZYqaldXX_MpkPtJhsdyV80FON8QZKcdJNcioWizdmftZRcmngi0zzBLPcozBmt84injamCOLXai4OzhpvscW6GKLFzovhlyvNzZn1fAMYCFFGWXA_yvfuTdt-8LCMRxQXA70lOHF8LsTTJMD8V5iPR2H3MuurRBzTh09jDF9NSFYAsaJZlGOmjL7sm3z9r6dlN1b2ZwCUcfT7yeNBFAqiEf_Okn-tTymqTMdi21a5gSD8w64R2TwfvVM0gI2Tuvsgw0dk6z9xYwbuqUbVI6oLxmX-QxAmD5O35nisOPUIWvg8piqoHRuGr2TBHHz6-WMlv947S_MHkDa57VHnC6qHDnKZh2Au4U3PJhaTMO-6NpkF7ott5PLCmkNzHUzl0a92zOaDwL_gZMvRH2AF3RegVwzS2AhI1iDHyTk2iXG1Cl3aZCAj_i9lZ0s4BhH5j0wNJAvPF03zEsUfBCknGT_jdJgvat5TFWKOOtKC_7-MVc9toslMxa6IAVWIxjS6qlRYs5NSDTeZUItPOWvSWCS_ttwCmsDK48MWAiBX43FcweOyhHEuqgDJbOMzhpHqTzNRtWusBlLU_-TO4bhZybf2Iti5kZpocIBw9oDP0dqpStTYVv_LshUkI2Z6C8DquwkjK5ojh6lFnpCSwXpekgbatBnxCWlvqjMwINvXITf5ZdyYgURfaGc6uTycWLRTfOmspa46KGRJEKvMafCWUC1SqYkfMzg4xa_T7TaArEv7hkeKG_itXekZsa8XBG_EtiRKNB60KwKn-2B0q8EyMwW6M77rVn6VdQw2aw-fmtlVhb17z87ouD3X9m3QMEMW1zMqruFSINRm_X1KiTF1DYXMJOlwLcoWNxJvK8X9Rm2W2TyuDwLEVI5zW0JoWEUB0XgTod1CZP7VFOBUkYUAnK2AdAVX4MuxEKgpxsqv_Ao3uwAon2p0sKCiPoDW_nyGW-mL2UvZr_XY2zBtfsfoxS_c-4TJYZjZ7DvJ1k92ZoX2vZG6syDLTMrsGhRcARnThL40hUVzBBOEwTX621Qg5uehW9KSCEz0jQnaimSXb-0taZA6_y8A15rH7zm4z7mN7FoVyxBLAYyJ3tILIdQRC0nwrSfxNWdU7WrI_j7fTwCaVMszmxsADwda-GKTeyOX96pUhOT26w9Pvmppm_BJ_7VPmPsiU1TAZRHJ6yFcV_STotEI_quCOgh1hHyg2O4cDb1TXjHp6gpiFhOfCWOBcfW0bT5_6AyaRmOucp8cyqX1x2hpCcKwmNv9M3yVXNllNY7smh2mv7qCGQz24G9fARE7LeTfP61V_quHBcTDAOdXja_LGSDLZKIHWzKi5d0YKPvbebWogbyl3d6I6lJ34BtPDik1dr6oFRAJ16I9Vu9izYtXBURTZ5UfbuSHp_y4zSyDgcteVOHekbqjPlMFJ21kuwY0DgvZtrKOnt2CNPQBgLUH9KEuQ9lQpTUMd06rgh0x9n_Ny6EiKZ6-tG-g6SkaPmAt63k0rZHNZ30qQs00-2Rf1y8PAyjSvCpny1p6GWUTKy1FYPfsTh52opV6GieDJhdD__4UUUPPE_Swg1FjbFLBe-G1jieWKduiJsugtXWRel_n2JwemNFWf-Y2KKnSkko-BoYAw1oUCLhQqeIh_8-w8vI4Jw66u2OicSrcJh0u2co_bfyREFdvgOTkrI77d0lhMtbfZ_G2i_hQ7DOMuDhuWdCdKYPNszgjW_h0Y5ZPwXhB0U5JAdtpaBBQ-GGRxJ1Upi5XBbOkQf0BvfkcnNnW4mkMwkSvCQ-XDfwANCJTrR-r7sMblAGy_-7jtIljyHQtyC_a6E0g_qurNna5ok1a9CyiWYj4ai5F_yV2epFKNR-yrNaDlmcSne1uK9S6O3DJjqJgoCCt6o0lVVNWayRZG7CR43bjeRm1UvVf9c9NoDKu759u2FO7KEDZx6Eh9k4IB8tKAhmcgafjJpP8MV8LbFUQpu6iPTLhjs71GTKHZlJRobc4iA8cTQ8aqiz_Ke8sQaaW_l3VAEadBxH4Rl6HpN3kQ4AyYG-opfUzn8wAhRW25ai6NWiTEBDWywipxdCVFLT72Hn7zoe_6TlVO-pO9W0EU92xHsuKmeUgb1jgzASqjv9qyPiGMz8REpE9I-241QEgktiTsWwJ6jyU1yGkF6dHncbOmUvaHg5UJRTnbx___WJB1NPyBv1erEla8v0x0it6Iz-ODYn5VT969tBZQveZsFZkzyzes8NI77Sa9uq3BLYNodyUpr477SFi5oU4f5Zr8XtofGXziDHtIXktd-jDYcO2TI_Jz16gbJUzHUSOQ69599u4jChCh81OxhuToOIb_2MLs2ycbfecLzZo6A5nGKH1FP-99kFKFMJM2dff92x8PHJXVChN-BLFHz5gZvYkPJfzRaXPxVafcyBliCE7RvBN9Vh9bSIdw3Qa9AfzcViBI7zrJuuy30P7jMCqQXXovxz0lLRfbjoOQ6qC-VlhaFqx78v7yi4sfP-Nop0ZLlij4ffjPhp5iUkXsG5GnI57L0TouOmXULBcbpcVClBSd2qnRDndzeobpjQglzqRiCehCayY_XnTv04edAjkw2klNld0pRo_mHOaK2qy2yi_m5EiZyUD4L0CdvK3un9eaith2IyLAAiLRuLu9Gk0VsGpIsV4oogHNI__ax-rat3JQiUig0ZH2NIauVJtv1Po8QcYI8GX7FiZEpfu0mk0aM-FKGr5w0iIuC_TVT_iaMLpMKobCVR2kjAhbtgCf7X8_4dz4S-G8zYhmOy-_gQUkydE7SeJqNyZ2B4kf11TvdDm7La1wO_p8a7cZQgQP3Wdbe1mFVHfBzm_mkvZK8vGE8SeYrw4S2iXAL1FkFC4nIneBF0y0DB6e1cjOsTDAxEny30alNOmiZmdFjOtlzLoXbF7e93Br-XW3BeJV04p2AnucsZR0XiHhHzVKxWso8-VNxfUxKD4oXK1Btid93nAC55YDMZ4evr88ucH_BS9SSKl_tFhO2TtRv1UDK8S3Ep5mly5k4D17drzSJHGUF47INhtBpxtZJZF2Rrq2wtZ-tnCga8u19vXj0RfVorygQW2yGncobWOTFZ6rPBHhI78r-kG2sQDJ9MnJGUOBd8sPd9FlvqAVqxvbjP0VlrX2z4prHH7C0F9LW_9d8a7YDSs45I9N9kSLGiSmCGj4JCXaNxLvZByLSCBpDFCfBc-Yo9MOXtw08GcapfSzbmN6w1wzatdxmk_D0IGpk1eJYYtIKZ7gR6Ca4YCXUdLwLv83MJvDotQQaAgcpEOEkTDJiivlIVXTUonGglfSGI5ZRPeLCUM00WpqOp2dhaa9Jw0sI1rD-kpRQh3UL2sTumaQsXTlLkJW8jlmGG09gF1t_9nP155VwpERIww8ZjFy0nsMu2_lPuz_1Pej7U4etpfuE9SQb6JpwguDw6fvX3H47BKa08kzjpGEHIH3Pdi4qRo6CSzQ9kYJAgQq-n0zQFgkVESglDLHSFVEFjRFbJZMltkXm-nFPSKkLNQd7f0diMbZe_0ZD1JvRv1Gbqf0cVLue8ktU5p9xuB-C5qpVwIqYqPXbkV-1Y8lh1jThls4o9X6lV34cGgmBaSoNPOqrm_qO80T8fldS8X5pn21KFf6wtbeM79uCrbbK4kAHOOIkDV6yJT59QergxzIaHsLCJg-74njbqx8u3C4lCz1vkr-qumrrclZtGxObE-Qhz5dhMZuMS-ByElUG0NovNSKVJPITnY64dkc3zxoy0xqaX6ySziuRNFJPpi-CLMFxBqz7XDEA6u-vGVj-w04Fp3HeTzal9v9D_WfuCasUxmSxk13Tmbw8fbd7gPbfR5O1rJE1a0dZVvluikINS4TUMh5EQfMcM9rHwbMzLaKp7mSOd8V31qltAFir-J-firjE4hWfcC9XQw0qIexOB06Sy5h_pu3p5u7TJaZWrppeF-STRykWEbZvTBHWxAEA42GXnoJekOZY9GzTN0brFvhaWVlQJtoIKZDIJYqQke07OrexLo-6ly52zTNbZLrwMCnTCMWdrHmTaXOZs4m55fga_kpdmtJKzPP6Vq3IGEd8msEdUuMwAWfawXHb-UsnnEwkDK-FfpsUjajqxJi460aZzdr0y2F1LUPMmq_lpLE4YkuScXuoVvM3qDgG_F_erNt8_kiEBU8Srru2Af2qu_ZqD25NMlwRRdz4HqKt7pGCwcIDGPB1oK8EbfTaWsJQAMhhY8h6vpbBp9BTfEDWXVI6st3y3DDfwgdiDQAnVstt5D5ZGamZwtvPiPMEy0cJ8b_7Lmn7OqROb8-r7ItvyLx5nPZE_rSz8GEclKillokiLPmKY-v4b1ITWovSKF23MN1emi-u5Ig4NPMulbfzLW-fUHESciwLlnrwleYpDDbwvffxn2u2_O5dzPjNVCgyc-ngEwYV1m5diwd10i5WPYBZRVixSP4rHqt3wYxKrprqE7JflkIYY7LX3gjB1l4yS6DpVBKC_tv8SyJmwo7BPGC34n-Hx1Q5LGaMzo96amc3niw0Ww-i2i5wINLL6r_HfGRhCmQL15v2qUNw_9c_10UGsHd-HJkiglaH5XoJ6jOMDvfcfQDCPbDutaI0kRbIhLGTt0wK_qQJorWjhqyLdTo_xk1npTeSV-skdMYJLZ1zTN50Kjq7OXmHQj14QTy-e62srhbtFxIJDoQA0SMwdzGYaUpZffjMeuJpf1wY0mxN10VaPwgmaRnbV4uQWVhmeA7yglbdxbXUXTFOGhpNqDdNqViuUHjmLj0kOlO6BO8FCt4PtKd3Z4OtORgpm-5K7A6cAy4wwC6FpewIP9BUO0CoszPT6xrr0tY7Gwm1ZT1M3uwTw2vB730BHoyUfkYoBYP_Hgswe2ses7xC8pY5FGZaIEXQFNKE3mromaRWtyVoyqVixEKR-KJjkOjYWBUFu6KRGpnoVuRR0hayK9s1vmMs0AW8xQrINdlWR8-VaLHBGvio-M74akfBhmiwC7PxxOZ2zPYF6zj_ElmYKKmE4rHJJEbN2IxRE1vzpdBg8JcxRkbkR-VNuexsOcCQihyyf9h76NXZj3m2ir4g_6e3fQGga7L-R7Zkp4caH71eZ0vgpGyV65KrDNCccczQAxvUqVzQmVTAQwogCdnjZ3J1V2jJBnBiY2Z7FvjTCKpP-t6G8_u4wJW-V1r7weEKSLy36c8ZXm-iPVPNDS1x2kKGfKl2qWQGd_mrNFGxRbkJitFLX448MxGiUiUCQj0gWYACpSP9W0j1s3JyXFmNA-9W78AhXTIOOM8XSeFKhaLoyzQhnh2g3rXVvuTx7HQgffolvHlOmCTUCju-aNcZiCDU29t7IEfoxkWFlPeD0jqJ1HGxjpz6CMtL4ch8Bz8Qpj1jq3DIlFcV45MSr3mXbumygBNgBo_ZxyOOJ8P7sN7AHqMzvIuLR5SWRlevYN7i18uZeVc1cpipCxEgdEzIsfdC-_BhppXv_KwsW4QZOrvS5fwk_tW3NhcQMWd7O1wfJjTMrHiHIyvLrD0c8FzP3msVbYVtmvQqy8hE2a2_tIqa5bNx90tWOIHI-D7xEL-nQKBcTJbEHyhD0N201P9mQY80mKFHXjEUYo1i8tHGo2GZECLm2sDIFigS0g5JCq3LBcpl-7E4-cQYVfGQGhr511kIzpoDiAMcvNcE8aA5uxkQzh2qF0J3dritZaT91R1Ru_9d2KI7t0HS7k5J3wB2ma2pQTOhLzPmwG_sYSd5Yb23euAI5IG_AavkRJAzjLfFnEn7D0deZNO1cgNhY6oxt1o-BFCd6YLdMhntBRaC7nqFzN8miLvTWtAi2diibOkXtXYfIHw_exry2OceXOve7iQrZ4e04JRfAaeoQa-xkmIxZRjvtvwG1yNNuGqPwfsyln39tHLwLg5loE-4dTVJ7jspBXh4_Oi1InMZOoDZwVko5KLBEpuqkeli1LkSn3TkE5uQURxzW8tVAlVcIQfU13XMmlAWUmygNzGW8ZSIWd0NCbG4uOOCBFxLQGh6se5VzDZ8vJVsTKfplpHrXq3GRCiavETWhCW-VObFkQPfT6sW-NXQiLNGBnr7tZTIiT-b1pNrDnJaoCO6L-24WfuQDlZueP6tCHmF5sUpqxFHYv1-z42kMTs8ue8Tq3KdYC4i80MmiHtX01JROJSWf00ACDDgjUIuBpT2uMc-iJg2OQq-szO8lTA12SMH3pecx_3Nht1RObDSlungK0Hhu5HfNBCqhhbfYY0yn5pTGTb6YkbVrs2-JYADvxmJxWUZeB5PQEUYLfh6zpFFWCe6_-Trizx8ne8arTbUEpcwiM4jxFjcFW1-lbQWO-hla3DBLfu_cm46m6YezAn-ZRKSaASNB7VKSbyal8rBcxBFDyPM9jONKUYtT0dUS-tqiSJu2lnC0ws8u71qQRTQvVSXyF724KuMyt5XaYLPF6YbjCxJ4h_3hVo-jIZ9LsHz9kYhybUjwyV5SR_knovryfFQ0ugE1necz1kYK4Y7axmt0CTIkhl-9kFavQXvUHotUxq5eojfqXck2opssZL72wqOsL-U2DazIGpocMcozNJU7SO69qabgT6VreuuWA0eQyUO8QTJzQPLXoHYqyUGQGCFStoFinoKI-QJt21kh4KQGzKNi3j9oQBlfo707gO2Xu_-RKc9WsdjV0O3Ei_-YalEinM9qmxVxjTrRD90FLuinY0obPwa7pxizI0sprHl3vG8CU69QM3w9ZYNk5i-_JB8Mb5Zeiu135TjKGXXMqv7o2OvDoCz8mHtXGGgiqx0NTQ0fu93CEaxf0FEOKEWnsE7l-sfLo58vIMBQmztbTOFpYTCa9UvmCHV670vd10j_qxN_jB_GudpyfV4p4dKhvT8f3Ddu_WK0Q359ZQ3qDa3M6eqitlkk77UrUxjyI7-0X7HJWsQGJJLZ1-FRlWnNhqUC8Hc_X9Gn58a-12CDJ3daZlrdunEgWgNhapzSYeBR9BnmNC9eCK2YZP_SDpE65zvLJCiPa9KAGceonzYjWfY9f_duIiWy97AopzKcRVUKGbEHlfVqljwEmB6Xfmv0uC4SGKkRN43MaPlV01vvkd6Jg8BjjcO1pJ9FTxa_-XUQ5UccOe0af9wMBh1KQJBpfIgSEtPkxnfeWs6NDf1JbxI4GL2WW_IdlIqvvU-pqNDxlPihGqJcalVJhpAv73JKIBis8BTVi_uAjGm0WvVCeOx1CEbBxhSidxXs5zbx6-zSeKPs1Tw_EobtcjKjsuap12geNfJa0TEPN0P1fmLKjYRv0fuNleo12rf14YbIlFXl_BiVFhoEuGu6PrbkCC8IbgzfjS6RUey2uc2QQRqsco6OReqAKmZ9jATZg3OYiRX93iSy8b0u-jkWfBEE1hySeGz4bssKZ4lKJsjQDkW0Y4Xi413tm2imW3_EOtpeDUWZp6ODkx2ahG9LDHVpq-_eFJuGLaiIJrnbCnrcwoQ9-RP6EvowsRzzXOY5yWpX2gBUvmj3C-n-O66tNiUDrSr-MYLonT3rKec0zqriEL1AL0Nm7_fsuNU_P50sWKqoW1tM4Ju7cBlhi7KbAYlSQ4Xcy7R1ZBk-ejMuJqIXVc4xqcLAHpxZmTeatQfMoUZ-O7nCBDd8LkC9fkpCQ26iUjV7hnJVDE2zzcXasEhB_X_NkPwS7fszC0qOY-2YyTp-OQkUaz9P4oqwG10YqbhxFx9g26mjn8BK4TqkoeRU8e9JknOLUEIVhV_IvxXT-p6CcWGS31Vi767Y4zDlHHNOTUgbE0dvy7WWDfGMb8mV6bfMDlKNCY7T_1HFLG4ufmBfoc9k1v_8EnvAnjdchGUfpRkxShNX-a9PCUd3-keLYhd3OMG8WKZTOPJzgQHPGawYZBvlKOqGO4W55rMT48WQDmUMFXd8y-B1XYzVZ9jNlccw6PMHp7O5hUGxsuXN513JK0dnzV8X0RoiqlQl3fpI4Kn8NdB8PCHlkxI96OiIc8ijEfqbQyEFw49lbWVs79Z0wsEGz4pByDnNZcVc1eSM2gYb4HmPFgQHrILUMl9Uv7jxkNiM8ap4SlvhU7RHVDxfMch689eZ8WXuQXWUVWosqZ4tAgm1hk12P97lIiujW9AjfQdw-vm9RyQv8YH2yU74xLUW4UV5RpobMefcvpvB44QcQ7PRg9AWPyqlj9tGptkbvfy_By_6Tmwn8LcEusv8K1sKQaGR5B76l9Gm0cY6AP7yFO6oHvvPIkwk5j4YKrNJdYIqkE_vXVGiJRmNtlWknKhWR89DRW5s4P_0jEsnzWs1-SIuzc1XP0WgTfCnQM-imiqRXNO1U-xMu7hQDCo9sqIJtRWxckWdW_S0fesSCSHr6y9ACdkvUxd8qfClRnw01n6z_S62tGVzFDAyroGO1N4yUiRpvyhz9Q-Do0ymZ95yhaKB5q8QdzUEB9J9VL2d3n-87EoNttgNxMXZyAOrOO1paoaBHVpz4HGWqzsqHYoja6JCTZwFzBZw3EJN8AERHVHIxEeLe-0yNE8oqIq64vtkQlxUiybszVtYHYC2GWSna2r1O6LgBEu5je6OpR6LvbIhuGtcOQG42u6vQ2sSAu7RF2uka-Q7DDAejPsMS8ut2EdI6nmQl3xOa5TxVTf6r_63b-bj29Bezj09XEmaiX9tzZzqWAcrCQO1sUGkuyRV9NK1LnOpQaEUVQjxcYJNvYuQlQw_7GV6JSGtQNLSUD_uT8VAX-4ff_02FayEKBZ8fJeCI7MJ_mT7BBffZ8z-3VAT4EVfJJe3gX166CjAJTA2lvOJosYn4wiQO_-ZPYCl4U9Mm19Se0wIBZBbwn-rBGQb_Q97BewmVv_a9UEJsu0tA4l70qyAs7H1s7ear7B-wKT1TpzgoL31blMOIvo2f3BL32cKiIy8QyGLadBGXKMB9CTZK1mJrgTUsilD3QG-FcgwakweMmn7gcmNbPvZKrdmrzpu7lpC-ORpHwhz73fLJd9T1k0Db5QmiQzwZQj71UZS4TR40SvJZtM26CzIDp-ZgqD1FL8--WTHUEToxlEfrVqxxFwJ9rHQs0oLtEuijLePqDTkkAetoG_-EQXSyl1e0MNIwOeKMgx2WFFwirHFjAzMaOqHzSSMHKlZgTrBGKJ6NmnzgL4NUWBElzcfjiy2HoDrlFP3X_Ilq6CzTgjNI3NgdcJXOV31ePxRvd8nuWPrYyu9U3d9P5Tq5WnIxNcPDtYBdHhksNS72mJEmsVPqI93gZzDhpDFw8EIZjscyumgbBl0b22CBOslqSkTR17skxXgGNRR_3AlhoDIg_UsYP4AZwoAwurgbt6Fzk6Ro_dg2ZixkYmwEKfQTHgXLZs3LMO1FDxvuDwF-sRZer7GUacWahAw8r0YQg0RIOwU5UYV2tYKU_5H_Db_xA56SJ7pNc8lGLQnxawuAidYwOjjqMwhO63_vF_mm6lgzpCn1pANtpVEqN6oEj2F1aMaLUcpoXGWXffixjRZeJzgLKjpeNkFCv7A1X9nwe8utuJDUo437YlDJ-JRDmCZBs1N9TcFMketbx00T-sBIMeQHqpujGPd7UuDgRrfAMCSB84QWZDaGi9sn0oOvWGpkzhERkJ4FHSQ9GB0rbS--aEtZdjlBsmU-8PaquwdIUQ8Sr9vI4hEY-Q9116o4F5fcTxB7KkcgwUAPvbMdfmSyx2hyvuHIQBe1cUHGZDhof1kZ47Wtmx9MeuJnkdlf8fEKiDKS-TAaZjY03kDFTqBf6WnYn7DA2N_ysCE_GODM0wuRlG_6xsiqNs6WPPq2jZR84AahIJi5nhJI7i4FsWWlYHq_E-ojeCerP9TX-33yx2feKThWXrmFfPA2xAfxHX_Jf2YseJXvv3Nlj4WYx2bpfF6n-R2Ybc4HMfYjEwhpLdvBrO1z_8t-6PddEsB4Ymb34x06cpNTu2iXYeNJjlP3UWSvi3oAgQRSEA1F0yvUrdeiiDWgJGTElZriH3aXv-sHWmP4S_hktv4UZ8F8Q5lfJRltBt65oy2j7ihzDI0Wy2jnBMCRSMse7UZYvQqr7-Mro8ubcGUzMnq4E-f9r5XLucKgtSYV2BbiMOPd7QZWojg0Cbgs2mrvp3N4fyF4Jf4ACo-psZMXL83g3JT-9KZsXGTjKvmDbmKpN8dIE9ow-oHpoZM4SxRCy2p-ddkeA-VDFwcmSoLwmAwAJBkbfXe_aUoShbwVTBfMunokjigziSbY5xoLjmtnptCD7i-HQ39OivN13bjIf3XbeBvMUOd_7KjzZ0peuPRDLEBz6Hod2m709cLcB3o7scXuwCO_6BnIVu56EYdyvJX-rr1rVQ6ttS_TcfrLejlMgbCbuIWIaYCXOsz6HSZ4Gg3uX64behlf7y6P_wXprXep6PTQRcWX5G9ylp8xAzboswcXFe5dD_2twymiR4I1IiH7u7ZNv82ZptHjDPOLCdEgSYai4yVxZ41I68ZUmP7YsluMfSEnejQl0TdvoR20EU_8jiO2OfJt9es1_VpsN6hVE_n4KuK75_Lt-8wWoDHcN0OKAPV9GVMuGPIOlSDctUsKL1YMBceKELejBuQiK-djMB4Vvi_McYV4DcDCnZhKka_SK0cahT8AlhjKMQupcF2ShCAGnyMC2k9Bo4V1wV2Iet4dxKwLyAzwjybXf2dZe3EH56IUt7E7n5YsxbDLkH6sE6j1jg3ClhNdIP_JlEhQsrqX9x9otwHaNEkVIx4_ovwzR7q6GFNDf75xxMy8O2u7t771cKe5hNsSQ3ojxCoA9LQubo1rra20HkJ0fm1-HzseZuyXUW-hle_ZsJCSs92rjTckks3qL_v4g7gTJBWRk_e5f7xGdtARqFpGB5Oc9mfPXNxUVTt-z7pwexBVTvqK-jYPekSt53YIDxW9oMorjU9x8v-LQbIJ0UXKHR8N2N4fnA-gvp3rlrhcFgdOO6JiWH1RsBKv4HNc8tbEWkPbsACSx0Ch0MSV3vcwajuXxiDD6A_4wcKCNwMBV4Kjy2RmZSd3glm_9Jr2dlQtn6F_vOSMfT4Gq8WLn9XaVE6WlZ_vZ2AI_6f3t6tVuUDPaly4D_-TI0iBmykrzq7hMAg8R5mZjglKtBw1Nmzzg4O6LnoYcMNVA45DWbVeeQ4nC2QpSfyLc2dBvvQoNt82HkpHYrpg3rFt-d_Qqj3R9KV_FOyPpn88RAnYtxZ0vt2iWogqHaHNeU336HkdlcxLTRHQk65_69cZh-nXzs0MXyWRS0IhHq-jUe2hOd0TBWoBcYo1-YwW0-H5iy3moCBu2soQWPLcS8qVs_LhS1fcwk_Tx4ItUSe5X6ND6ZonZpFWCz5tYV42KdQybbiaiqdYBCXMg9uCFAMZBKihuJ0lkqSFO8J7yKywNB9snPXYO7yWpINYI4Nu44iGTkeLVoKbNq30kjlQSwlZ9paYjka-qtj-1YX77PU3XnGCw-YoGzNdGHWQBsPCK0a4V_uld8LcginDcbYkIVBvUpFEPCiP-Um0Gh_4l4_rjlxReRfaQh4c6oh5mRYVkXFcac5SfefXqtcDMNbVAhkCVRw4VVXTP_mIgLuw0LC_zu8FHA6g12m_13WyZ4G3mE2K3L8jSiN_0PG0hQ0Jk2QTf00dA2ass5pMuiNgdnLTcMikqhj_adqkDpNOp_mjNFZ3KXWNrlIJUpSC2kSSngeWdsWT3yeezW0GBBu5cPgqvZI-ESOqBDAm_S9Sd91wp7fubCtBbxPng059ta_LQFZsSJoRaDPOnNJ3_Y-gYTtyoWwaZ0-20ZyOtr4wNSI0y9L9norlATN7Q4dxFECuJiKy4ld_K6mz6orlH_AG3ZmgPFLtwHC3ihomS72hZwsKt6hZ9PLNbKLbcApJLaNKZ-WSTG2jUeneCHousGjeOptr47UUReuMFZtD0XsbjiqsgKDNvFyuQinoUM3Tgn3NObbvkpsebb_tpJBp9i3H60pn8oq5srNydjueXcBqFOiuqKBFucIhXHPjpAfxTx2jm1t76X8D_F4IhKueNCS16ozobs0kvQb8KpALCp4bCTTBPuvOJZ_1S1y-0hMfCc3bK5FUHVQh5WG7khz2s1NoWOiCaHvGK9dZzyLgFclrhMCocN6QmgKx791THAaXa0RR5IS-h5aozrFdcwjAL9yki2tX0VIeByev93FMhaRrWury28DuE_jH-f5cGLgS0_H9yNZAWLcCJNz9jWZZPv8dyKgjxja-bWGwJtkytMUSHgRfIcjPRWX2SqLSyEqmh97TtrjTzVuNAzP9jhK2cU27T8XGCUY0mAorMsPqXz47IfcPyT7x45yQqp5zIp58vgNLPTZ_6QmN0Xh19-FHs0TsmlAzFheIgidDXPUoOg_DIEO9BQCoUTqQWmayCe2PNQwcg89gKz_V2AkccowUVpp0OOeHhcWzw_c_QDstRq436GLvo8uqAH2-YYof0UsQETSJyWOgdXKI8mhzeesirxw39gHlDt9wCoVVpifhX-hQbU2Z-qZL8hM3vVaxvFOktiwDiXJbyC1HQzUhZTGZ3XJFGkq8jBXzb5BifzKHhAIMPwyYU5FSSf9dICYBogLwZjcpTOXldYVqUgvrxQNtyUPp7GFnKbM2YY5Z8KF0Ty7sQfcfcoCWL07xy9VOeN0SwUXB7PQ8nI3y1QSww_bk0FvHOJQUIyjakg96GQ7ZFdV4F3WmvB1utcCURtAHdUiTm4Aj3_WcoAMCQWEAHPYgaV-INykQSKP0mFzWk7GOqAm_5qo-hOs4-14KfIC0JNOBLIpXu8vyQMARQ5B2WJgvG_Yt2mpfX1JkfFcKCdQYlUlxZJVN6vB20W7CsVBqHOeVo6mjrulHD9yjJooNmlnaZPY5sE--iswxU1SY7eWj9jECwI8J_s2GNEy9CBTzpwqFIYZQBTFGA5FmD2VrhXJlOvO7vuDsSIVhBQG1SSO9485Sj2Q6xKfPcB5YAUcICC5mUb4aGqSQqJFTgmdsXIre7Y2Uu478SCG3vBAECb37GO_gKGhf8bLIFGbbR23h_obyJEJaE3XWakiEh5Tj54NGg";if(!e)return null;if(Sn&&Sn.sealed===e)return Sn;let t=null;try{t=hs.parse(JSON.parse(qn(e,Eg)))}catch{t=null}return Sn={sealed:e,bundle:t},Sn}function Ft(){let e=xl();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 Rg(){let e=xl();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=Rg();return n?new Set(n):null}return new Set(e.map(n=>Tg.test(n)?n:le(n)))}var Eg,Tg,Sn,jt=b(()=>{"use strict";ps();Ge();yn();Eg="tokmizer-default-rules-v1",Tg=/^[0-9a-f]{16}$/,Sn=null});function Zs(e){Sl=e}async function Ag(e,t){let n=await aa();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 Pg(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 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 wg){let s=r(n);if(!(!s||s.failures.length===0))return s.counted===0||s.reported!==null&&s.counted<s.reported?null:Tg(s,t)}return null}var xl,Sl,lg,cg,ug,fg,dg,mg,kl,wg,Tl=k(()=>{"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}},lg=/node_modules|^node:|^internal\/|site-packages|dist-packages|\/lib\/python\d|\/rustc\/|\.cargo\/registry|\.rustup\/|\/go\/src\/|\/go\/pkg\/mod\/|\/libexec\/src\/|<anonymous>/,cg=/^\s*at\s+(?:.*?\()?((?:file:\/\/)?[^\s()]+?):(\d+)(?::(\d+))?\)?\s*$/,ug=/^\s*❯\s+(?:\S+\s+)?([^\s]+?):(\d+)(?::(\d+))?\s*$/,fg=/^\s*(>)?\s*(\d+)\s*\|/,dg=/^\s*\|\s*[\^~]+\s*$/,mg=/^(?:- Expected|\+ Received|- Snapshot|\+ expected - actual|\+ actual - expected|- expected \+ actual)(?:\s+[-+]\s*\d+)?$/;kl=/^(FAILED|ERROR) (\S+?\.py(?:::\S+)?)(?: - (.*))?$/;wg=[bg,kg,_g,hg,pg,gg,yg]});function Rl(){let e="_O1SjF-x7O0LpAJn39Mc0giIdfK3_8cPxAfzfR_a7KL0VKhJskvW12Be0lS2G-4_SDFq_tBtxgOTfsl8QAVNglzzfVR9DjfyZc3DwSXQo4muTQcN-IbfoZ_DMxBQedjPE-mxeMMrayxqIsMu8IiB8henfCeTEVd8ESfu5I8FrfFMQKPM_Nk1lDvjAYKXcAoyIHkpcIALYRP7-DMwuOE7gg64falGJON_JMZGQmj0EEjzUHtqixzojAtoWOS2pVzdYG9kraN6P27NT3kiC84WEYMxUMy4VDJBN7R7BNFTKJtJqBa8Vnw31xja5jyvfJPdhn69qEQ_KvclnoQChjH16FPwjUEralw3858XEBSZ3r5dShFR_StFQB_YWWkGPmu0EeRXCWN-RjgCGiAQTwhsuN4EzPUSSV6NjrUInhdHSgonS5uIFfKI3Hek7QTiMg1u5cUHcfMBjgRJSYlyBw51rWk4wH0xzDiXwHg-aC6loMVUBBmkhUjevbWOOCW-CjnX0q-y38ibT52YA89BZ9Y01DEB4E-WcG8HxEw_Qzzm8PfLz1MbA05TLgs4Gac4XcNKXjAk62d7g12Xf4ugncRD49CcXd4Xg-uHrF_Xb714rctYvAArja-YHkozYk8fkCUX0Hc6Rm4V7XwhIo2vr95WJwic2Pf28EAHeSLMc7VutWk6L99zpYCVmMjezWs9oel4xRXulp8LR5BV6YuDRtdye_gPpWtfGwBrhEZ4vCCOoN2XboE32Bt5bC67p53hSK0PPSBGdwCcoRiOc-LlVj8xWXUc-ia7qb_XCcRE0d6vHnos82Efjuoy5nv3XH5W6E30Q1l51txDgRq-uN8OncQL5EJ0CrjlZG9A1vnOONFRXEz6Q6UfPhkQxPca6odr7lhFXHyifi4vB5w9b1rV7G8KMAtz95JCMbJeJ61Qff1n0xP9nkCDVp60IuJZHTCLDiNfdCMaZF5dFhShz4NE73ApIepN2dKcUGLLrDRjQoeuIXRmejzVYvJVPY2fEsHncTYgETS3oGJLl0NBrnxw2e2ssRyqo0nzQErVQMoHvkw_GZvvjugCe6giTdDlItD2mYM4mIwDHS7Mg1k4Cu9q-cbdTDzJsrlXw5JofMXUGBVhjjOYzNv9oEMyNWKvtbPnKOrTJreRNcARhK7sy4NTmydNucbONfxQe1vUm5YpR1rWl6PbFKwgu5VF8yu7ebh0p1JMoQp72mNcr5-fkCTNiOyTlOUEQ3A2RQfCbldh4Amxj5ss_2wfnUC5Jm6rYoTYIWeySborPtn4YqBTSynDAqBUr5qZ5Dc3V8YrDNnafbUHYVZ2CHWkheUCFFfcMpkwLNu1pgi9VTtO0YlTo7hYA-Y16Tl56i1fUy0OlGU7xOmyC_Na7pierxxGeqMKv6wVE8IBSM9xcBU20iqhwUN5Ql1cVI9GxNxZh9175CCjqXtoNm3Z1ETZr-0t045fThKeOaVnGOlIJJtHBCwjVwjaO6I03INufvMhwA99LeU3UmLh0w1rtUEPuFFlHJerNK2V0lcw_Mh4Q1OxMc87W23o3XSEf2pWiolp5hGgMg3Kn-piOOmD5P1Uiuq6Gmbd4eyaFK4VjQrsiM_sO7MuyNNJqdTbFrgn7nYXEg_Hhjdh0aTacxlGCbqCfQ2t307TfEgijji0xlbheMxxXJyG4YVaYOEiaitEjfow90nYlbzRzgREgAxnXrdRfUm2Q0n0-ZIuBl5A-TXlLz0PJ3SL63uIP9-5yHaJIIIKqNuZi13PLvBy2sDAEfkiX7fi8rAvP1lRUXXacPijeAVhunNnLLK8p4IdLG_miogK7v2r5fs7sOcnkcgdw7ya-8hpeqAHDN1b3AjUaWfiev8yUb1sSYKgbFUBu37Oh-a7A5_BOvvGKVFOH1CBICUHOF-TQmvfiy5EUERi5q9UM-sQGZciRrCYS_CznbYh0Za1hA0jKeAEgp5fEASfCUkGo-Lu87u60vIQaQ2-MnlufFq6Q8m0GHAp0jTaz8vuy1OZDjH9K5PshKxmEt8neOlGbqFkCp9a-y2ymkFO8Zlw9vPNLd7Pa31D0k60OwZ0LxSOehZR0myQ84tU3345UhWWH9ui8lVrYJZDvYZAg7pkvWdN5ni4jyeez_6DOMTbX1VuFLeV0q1S-tPTr5w12sTRR8j_g9cptnrS5jJOEq45BDTM7WVqbr-jJLgOy02-g7hpRF8KjufDan2eIbCZJgM3tzQG8HqWXr9ar5k97f0-Ke1sj1c2aCIZbpeG0WslZRpLEuytSFWVswLj5BjVQ5bEI_MwE3LJW_yFRaZ-1MV2-fk1unGa26bdLLpxc0U6xbU6Z1hK4gWJSuBYfPqYnoub-ChwtP8ZOnbMjqT0P8jtW_rjcCtZuHUmvt5noWQgJclOOZJpVXofDDVF5_G-sKcWtkAoLmqTTOO_b5pyiwEO7ksmdyf5GKl36Y-fghYEoU3JnsU774TMf-PGa1mL5RS7vLXb0ys-7C_nMvVHZ7Eix3OaqHVdy-xvm6YclECpCNlo_FUl-c0ovXDO3c2aHifrr9uOXnt8yitKMHKcj6W_Jnkq7KUcW83eK7jJ64jX_Iz2I00Dw6ukgK7bIrHT9eQ3vOPwEc_VLhWIM-83f9V0NzOrZty4Jnl2MrAm3eEwc3G67H0MkkXNxBYVnJgvLQ_NE1QjtL_waup_fsX3U480bMwKwa4tpkz_xhPOOXK2LIUk_W9OO7wssG-qPnZl_iIHohGzq3N9RyIYaVBdoqf6Ef27HxkX6yLaadCIBLpjbrQB3rr_grexXDaY7gu2zzQ8j0aDup7AuQo3HBNq2xB-jn_IYF-zmdWcUYeGer5xlw4-lujP5ftDTAklRS51nBnKpTv9qxMyDLDFL7K3cyNaGRVdUwbvd1dmERvk2D6ijmzlo33wylS3igIQopUF3VRMpkATPIQHUK_xskfVmIIVi4nnf5cXZjNw6TxBtcIlEN4_U7vbB5HiIlv4huhkNyXSfiKldCjYf6e-JYtq_DprgZ3AKnlCVfm_uzr3vTUFnfEGz4g-ew-rVprlf_uQPGsFj-LQTbcSKDf4az2tOBlky_AzLl5ikEY8IQ97u9amUyFB3ePH-BjU6SJhpXIHCGBi1zia591ydVQmmL2oo1dToAkxTomtvrk9ehaZcXwSEHpqdEpQhGE1VMMmwF-1cJC6shzxi4MJKYHzFyu8qTI7bztuLHpEriKflprZ0knmcm6-e7eUvZ8dSUgBd_lpIzgLg6zxPHxL6oh8ZuQJlD8_i6MfNTNaSS2p7fEWU-5qTYNDlVIk7R08A-A6FUOGKRprCI8Ejgatgx5b1YFAM3w5BJoMJh4eADQ2G044UHGu9Cy1cTfrd5Jd2IutX3SvBpp8S2kD7ndTgyKiw0m-7voy56nQ7ALLBJ2qH51BPSzdSR0RUspzkyaYQmSkXkiBVl-cFG-8X4N6iajWHqMpbcjPq9CB-spmbvb6HeqrAp1hzuTjX_pIpt-NRjAcgPwcf58baDlBYwrlNOvWaRq_CKhgi7N1yE1iPpIEropSMR-Fu59bx4ZE6YsC8Sl0A8h1StWsZOWhVPr0BKHTtC-B3fZ5FjXKW65NywOyGDLOEsa_8Q54VBL9KJGXhzCWrGaKRAYmUXqs6hAcNkFFHjZhPQ7GCFiRycbQ3LvkkYeRlRfolECLitAfikNvkVOQMe2dCBMKApwPriszS3dpv8g5vrciiUyJNZZNy6gAXDQz9v7mP6Ed-T0d9OJYkCofyQb0by3u8GFuWcI8VQdw_JQ3paInH2cpNewdfFZ2gzbhW-5cZdoLH-mq18GR8x00KU0WGEEreSRmQ8_BtV36UWoTxYD_WV29ynOFnEShe4xDxDpvTZRlP3gdIZrAZeWMAeN-QBx5u3EUBrBrJiqQGKHnVaOwKPcr5J5ze7uAaavmVqOeELRui174AeS_HUCh1-OMrOEUqZVuYj0Xa_QYCyt-_SggN_aqFEf7j7BuHA13t3ATmq2597AeTPS8-mzC7DENz8C5GNSUYE7rk2JnG8bMNyMG2a2gkVegFNSOTL10juNCMpdoRN_xpzt8n60riOH6ZW8G3Oq8OsUGpFinuPC4EuapAsPmBIB7HcP9VXjhXVhHfIIJX94z6Kf1RTCTeBSk0X3gJ5ENurxE3W1VsplwczjSc4Znkr1MHlbWjQcVXM6URiAMJidvyTLP7wV7JQktH8lMWVDYq_nFJpQixAo_vizpaa-TXEZgfO1En5W8gFqNZLucFkZ9fSsiHJmVyVMpGIZqz89xd-Qd9v6cdLO08zDvTY7h7N4tfjj-OsMHCGbQ9RMnWcQiUJjHVuiJwFD1NDdZAKwM2Ua6KuOI8AoKF7zloOOJTNfBuY97zBzBvZu0_rdUeNxbMpMSSMjeVzSAM9bZkd3s0rezcK2hLPtz3K0rv7Ys4WV9r1aTCm4iBbaxaXNPfoY9gPfdYjfwoUUlfiGYajQIgZRFzgy-eRoTuCQVpengWpYDW7SlN-1QwLI8Xun4lXpX6OuWDEe5vWQNQiSvuMYxvO-f-7w2PS5yHVrx1pk5s6n6HIwVGkLSR85CsWFmbrmtmrDIebxxZPKH8mgOH7p46QwmOgdToxC6VkDP9P0zGtC1PA0JyQGH57yBE2GFxJnyYZzl0RLB1ZoiEOlBwQKx-ggKAq0X2Z3q4mIlrUPOagLgmelny_AIuzSMLz18A4-zcAMomMfuzb6FOrgQTz3XlPrmSnqNnSW37KxvWMdVXqg-LURASCkB8Z4bdG-1anzebyNJoULi56yQQMBNOWmktNE0uO3G7C_QAcAD44m91m1ni9-6W14xKe-kemb09NssiNPCaR2dTpNkI7s3toJnZ2eAumAWv1wa97yqwuePzvskpzEToX_9mSvj-JNjemHMz68jsG9iZu1DltxzI4hpNOZp79X0RpOFy5eC4if5JoAvqxC1wTH06s_vVBlnaXIDIHkLWyOtNgnnxpNcuXdz9Fh2zESzOW_QJnWZhb5Y1TtPJPYBaBNXUV0Yb3vNjTT1cS_YUCOLGCfnQyWCW_TZwCDw6I5iiL9Kyr0h8rt8GpnSUvNpNp5UFy5qE9sBX17xYmWjUi5x5SBop02g6xx88oIebJzZwfAktTXqMiW8wUpG-kHblaYQHio_qXpsuq-M7TQW0Q850QR9RFLYKl2i8hv9QVdL2Hwh65tUOshzF2d-VES6t74AIdiDI--UUiqL-4rZxsMF6lfjeqK2JqRS0bq15CI5_eN3Q6BJwYQskKlpvd_HGXgFSAqYMDDYxogYUes1N41Gl94kKSiqYK9ehRoGZVyPh_AKw6SSKEl_xQK8r48eLYu8_CcnK6P233k9OdymP4vGdp8A0utn_v47vVR36-TsZ-6wj_MvW2SbYLl7IhDK56p3pplexpDSV8YYRFam4EihnPbp3YAMuYowIHou6yTVf1TD-ULccPN_JNcLTz4sWFTExiLWu9Qu84EAOGwRnFTD8T6K2PFI6sKJihMoChLW4kahUaO9v8Sb0DYCyQ-SOzU4nS8zlcT1nVYNl-bzgfOu46qwBuTg5D_dgHGeZH-s1thyAkwa-nvIYwfQpnx3V4ePVDJYIxOHMq1gAPUS822DJ9R7rMjv9iyH22696qWvmPFOCKJfNNxlP1TVZsOcEjg1sWDbuqPIYCUZd7SM3DVc013TCO4pGZerD1H6bfjA-IFsj0sa3CiRNJ-DA_y1LZkA7J8GPqNFFI90OKMu86wtNczhF0lluj9Gqz3-qaP6PogpFfkjA--CeadmPGC5rlHDdozelV1vcpAFTNOZreDANUc5V_KF-MAemflVkkj3SEP-Mc_casBVGYI0c4QAQ-IE7hb47HcYF0V1bjZg_fPaB-hs4xIS1O-nAmiOt8SPWQ07ReOxm-tX08O2lwrt0RLLNZIHUdm4jBc0hyRiqC6thVKryWtVdiG41qbejETdqERUagwW86oUSMRyugaKvB9-StxdS-TJj9oFkGg2mjgKR2bBpm6vSpJgGbwnpnnbDLMMdawLs8pqp0KIDDKTzNMcdWv4J5VY7FeIAv5Q4ivroSmF4mS8qcJoPX5FcoDpavv1lAOZrJS5Vvd5PfqdMgJ3EysDOnQknYIOdf19K4OErf1Q3dddYMGX4eaaKVSpgalfaA49ZFW0exF93wQfCt3GKrue-0BfM2acgQdIG0IZf1lNBiDka-2gRAF1ip3PYecc0RsutsIg7rW1xpEmg---dXmWylsAESd3F8OdpmTyOrlM8mc6NfomGU1qvCuXYyi2IxhxV6hBIXdBURIX3y_VaF_5uhraH8TTGoqBkSsgUQVpWLn_TLgVb-dOzD1bl7bmY4ehwUjfUcsnDfbclQo4Pr6Fvjku1t1YAH7YMmK71T9r_jNfaQPHyBrKN7OHZ0_Fh6zBoIvcJ4w1vRXqeeEW75BkSajtgIuEYLZTHU2Fn9NmStyUrswNtTkcFJfs0ofbQV7fVgik2iJfyvSXJgfWEm9-jb0m9VmFleddQ9JXgNHB8qFGVZHus1SNHdPu7-vq06bBzsAfVKtWpZkc-D8BT3OoVVAVrep9Je5kjdHwTELKgaGFJgg8Nft01Dh3LHPzNdmDowhL0W5A6WSlUE7r_U2iiUlfekgicZfx21xqE__8O0QB0wPC_lDloZiH1tJsTOC06bFQWMiv0O8FsMuTI1UkgdM2ubGx2CxAR8ZELZ3we95gWYiXvWeAptCW_CZg1MsBoje01oBgY9rjFFFL6ZLGuEXhsdFdzw5QbLVFEJxqy-VZMVJq6MXCZlHQKcJdFctNqPhuO7IPw0FQ4-MWVp7xyvXexwigIwgbf8I9po3h7xnoq_Hqezm8Lya6BouO_6eA4yLKNLb1Qp8OzB18k-i-MFx7ARevkU1LNB2NwuWteTxy_HHGi_PcrYZ6IvtjvbDhO3iF7DDKfr-wuM_XGjITdpla5eMvgfNHFuoBk-SGbU14MEW82tIodXUHwzmt6kPLRM2sw0cJ7HLx02hPRCIWkIQMnL_cSa1FdhR41jyXdnJa3faPCNwqJjfgPduTzHAG14JgcB1BoS-718fvH2ad3Lxw28-Y3qcVojD95v88eiDIevxLKpG80LeCdMQusE1g2U47kfYHlg8IgGH74gRT1Cm0RgKBAw5DGNz-v52VuV_7mKCHtbQqGLd9ZR2YmUK63Kfvr1OkRq7vCNNBDijbBZ6E_rKZaspt1-W1P1priDaJ6WvzR1xYzWwyD5iK5gbCZH5vyOLg_IiAkCrSEiKAu304XJ8Gp2Y0hM8PWllukjQ5l9bAqiSrf2b30kf1BO-W_IyRKWgJgb-iSQd8f3dYfeoQ524BOq81ln8Vo_j6OPR1t8iirDLfKesX_hMclkXFcgP4gzf7CK_1UBL6HrgTygBiaOKLBYoJ-Xj0A54lJoynsdv3QlfqyD-gxCdu2Yvf5csRFDKqHMEOB6QrXrtEZTH75WXppv11FJp_Pwkd-S1st5OqjvUKkrjN_ML6x79paT1gQ3nLiLuSST2Ora6QyPgTDeHagYMbtJHaNJX7B4QJp7DfgrNB_nxPFONfWwyOSlL3EHeqacPWHSX6uWtQJGqcn7Re2p7mYMa-NnVA4KHdtP6rzkB1dJIgDFj03peYH-_zlCmYPywh2-xiaPERbU4Fz5TCcMcdGQX07hlG9SzBvXiELLdU1upYr3v56M3MnGF6ODB92EDmMVRlYJmGQiZT-a02bODa-C9qt1WkslOgWjvnZWeNqxOlJYbTo2EOuMi-x3OxmkcatbPMdpqwON3iCWvT2r-R3a13KVpuqCaxyytpOpRUaae07BOiEEjGLeeWNXWK5PaPEJ1bICD-Q9kqLnteoDmEf-FSZMdrvZ3qt6RWbwEBvLidPLe5KvycA23N6vMXzC5Tgo1kA7FASRQU2sDqkZz4PceKNY5V2uQIRe3-rtvLQW1SJnveBpoEdPMdJuM5_sO8HhM5j0BUCJqRynkRDU8BT4P97C54hHpytUTtRNjdBczio06LC2-Kpv7Pw17u9UY9GAj2SeCeCtu70OMkK7TuyQZ_7Lr3arIk9XWcOJrE-qwrVA2e2DsxlMO_oL2wjmyZ48Dzl-nI9cIpCNEbuDmFaHckVmE6_kbRIEY11OXPk8AxptbhwbfuZ9cgB4Dyy1B6F6vs4M5jlzX81ZHbKAdvssWffs_Ghcjpl0oitK0NvW6uox6knrC_vu4EfPJm7fFdzpGSoyM1oZ3b4GzKn42d_u3kH8Eo2QlGowTKZZFbq7PJk5azIdOGirCPKDs7Walmt5YRQUa8-Abs6qAvWo-iH72QLJojZo9Q4iG5BE9WBQiJ9NGzowyZgLYbGRe9whUEEWGBfkCNJ0pAUaeLqXgtKuDd3kYbvJkv1_J3B9SfmcnPmhnnaWdkiAFMur-dqG9s7dhOoljK0H0o62fGgjwuaq89iWb7Yfh3_UA-3MnaZOoCtjbGxKGnYLcNeYxYVrPgMS9n9ukr2383r3hEO1VCTwBBDRsGZAN7MPQ2TRQeoFLmj4cy4TLaySnV3qOTh0Rk_YBBxIo0RxnnTF6o8ciasOC7GhmTn_RW_gKmcvoiEl65KEvVxhhNDV9Cxx9AhsRgAGkQArkhbJyq4RwUC0o4F1FqFJRdP9LCOrY5zLu3whNjsnf5X2ItEY3QAsCgsUJpIK0BBRpetsnFkk2gLJH83uTw_0J25OG-l21wy6moJ7NXb766nsKzDqnxDTjCbm2obbLxnnxL_4Sie_bS4O_DNXdWRKxqFmoeEKHAV4B4Br49OZHmoDi-4W8RmlZUZm-uwo92XtxnD61RDmIfDE0lmHNAsE3QgzMD89Tle8fBgO00sjZZAWPC49lWzqQfFayCwBfkss7n_oDrA4GFNl5EKspUXPeieOU84b08nTvAMg2REZQEU16tjh3bPwkSGOtqGAv1PuwRN4rXrprnHA5bssQ1R97Bv6GjKsVAa4aawGOlaoeJlOPOH6wCkmL8YjtKcJyE-9vhvRNsjXnCgpFkWllUoQhXINeTE2g817sH_w7iNHqTaCh2KggyC3CTiDrjnjIn7-ZszhtWzBy4tUFkwhf8F92Hw_jCiLik90Uyp20LxX3WdG9jML1P1eEIlczofK5wb-49MBRP7AMCWJqIj119mrOAIqapjurGKDc0y5Q656E9RVjV6AS-UAqTXRTmI1BgOTh-F42twxDiNFii3BR15_QzlKEGyMm2s5nT5IicxJw8XzJFkOCM07dt2FubECBvqCI8O2JtqkiCZ_dmvsYmtS5Q59wQOwR_FrKsyilfSbarShep05h9IfpB5FvgGirJb54h86bQ3NJE6BLvilD1yr64Rjo0JFq9YIo8dNbibtYyqLlsKtwPF1iG8akHIo21USjg45hZyHJFzm_1BD9vk7-kZoOK2HMA8uuk9vlcFQY9AgUJKkfV5vId8iP6vx1oO-b63GWlLvTqF2P3td6M1GhAE74z-I7pkMap9oAxhdRz88A871b0jxPPQrRwnDeBQBozUwiQtg3ide7FCnxnQaA_e9HVlV2WEL1eDgrwO9vIjHiGd_ucmU_tOBuqFu0MS732PQyoj-ev81yqSs5xvXWHrBlTE7sLR_xBgc9rbrcqkvk8SicEyfFHa8ejhsJJkhxqgdLh6AARzxqcsSu_8Xk-bIIBYkjsm_nYr4kk7MtkORR_-L-xU5OPGH2iGPQRgRx5lVfGvKUWU9h4f2v4w7eEcKU4Yc6g4RtVvy6FK9YqyT257w_klmoZFbIY70riBd7UAO9OuK9Plln702-FIKaHHcnvyRW5yskV9_dqei_SIb3r7oVdpyQoY2F4Gy6Aj4XDoE1sl2Z2Qw34pftoxB3qTxP0vCaRCHRoSZ73eUXTPF-QuWHWuc5UdQYUisbfMQn_C14lxdT5mHAXZAoiOcQBhniahvUSpIV2jHARqk05cj0UQuLiRBvj16e1Mcuyx0ASGPqd9X99pmZU5RB7GmjtH1hFjpqUsFfAXmoHuFsNuq1FV3Zz4qO2u-AMT7F1ol6__PZ3d1ROQmz9_7s9od_yO-_LCnQT-hasrN7okNjqiXB2vDy-GrmOKevArvOnBwS3BGKl50jdSr9pNR8a-0JAzcAYorvYQYTwYnRe6h0jmjvIMgI5iiYp8PqKky1u0vsu2b1_v3f4OfysgSzDqwyfvdelQwtBRyXzWMa6zVY1jIQ3uaMdHnDZMzVodf98IZXn2TOmccO8PZRGsOJUiRAUo-ppkoOy2iHGBsGYfiHYwg1Cn0k73_mjn8QCAhd56PzWkGm_HIUmfUaCmACgcj4KGfICrMMT0bClRAdKdMru0RgYxLfgQu80bd99K9KftgUh90tK3Kgygpyqf-SD4YYeY4RGEqUiRjzaI5Ey3COR7jk0OUxpT64HqTJEM80l3WnC8t9Ts3Doz_6RMybqR0HIMoOHGa3DYPYOXZRc9xVviNUdZt6rz-lKmGgjwkCfSgSFHvqYIVvUovQaAAsz3QZhSqsu0WPeNWWH0yeBqB4MZgRBbwttbj7tuTubPsH7bsqSDT0btkr_1KM1uIMQ0YvFFkLad5cr-23YYZiS6nqCTRpNJqvLmonvIeck1r3yCWopyim-25gN-Ck42U3a2S08W3vco2dU1JYYbNK1onUrUfETHfwQpoZJWYSNomQlSjEei4qWhj9IYnrnrD-kJ1WXZgDYvU04I5cQGD6B3pT_AM57vNeOyYRTfhs9x_5t6wxRBPDYclOfZY-Gxa2gr4lfV4xX3-n8zi2KnkDTOENMcFIUahbm4SWU4qqVoft-UAhyOZabQ6Qvp8qwyITDmrnyHmUehnViKSAEJ_iRkpZY3vZB4NkfSnDGEcj6g8iEGp5ELGX7frCwKKbS3Pd0BCfLgqq4ycgzztL4d-VOZxwToaEvbq4_jq85MERfGVBxPhxK_QUmc5Rt-wAkABmVrhi3eCvvmW1W5_FY4bGMRjXrK0dawvKK_gkLEe-Mw1JzM2oyA5-UmBGhMAOCjRiTFG6L7earIZycuPdJrFdUk9_JP6WOEMenYioy6INNzrklmqYzzeeQuDEhS8Gu8LLNkMJ8n1J-enqT6ZUgb0bZFu5mQWpxvcw3oeSuhmUhEOwkiCtEdujoJA8oR0-ZjqCbd5Foj3PYcoa-2cW4HZYVkirNj0zy3NHX6sCHMVYPAwePq-PS86DeVoVacsMAeHMn9AVbZOexRs7z1uOadZ2mE0LFzrtP0pzLc-UZIdFhBy77fh1mSpKpkPDna3ysz0VJABpOJ2_2AvM3Sl4g6RjxIwJzmYhtfe4dF_LIdbVnVJxrturKp6GcOht-KboJzzx8ntWfowUqWmm45OQO84q4Qnx1KZwFHdspL0FGipYjuCp-EjAabmLnRtGAw1OQRGMdMB6XHzETtyxDNyw4KB-2-3WKfns2SBQjR4PxtbyGO81rBt8h1b8oGnnysl55EIwG1ZdeCFAwFGdQ4fphxCsFWICfHMhws6b00PyYjVt7IySJmcpI8sbozm5zLMEh0-qL60pJf07-_a7Q1duScA46XzYMeyJd1CWYkFlp-5cM1OzzcgMgY3gMvZUUUdMeFrexoZxrggzlDJvRY88DOFIFtlgG0suIRAGI5cD2aW2bCcq4PhYs54xTPcR4ZAiSuspHoZ8UMp04lIM7n18whNjnyAYeBZRxInEAy7jb3XQwaxVOmuPdJBlrBM5tKCcZyuJ0llDvbc6STExVr1XOSSj7YSLTrstfxkT1waXOBMBknv1LgH3LYJ5YAzKe8KqQO5VSt3IaKTJjkrpk2urbAxA5FWWT_d2q7YM5QK1qTWZbHuiw6dmyvlfG-UNapFqriKUhWWVdaWAfOEWmT4vGPxwiwtqvANNBt5rx0I-LnIDnlg17184KtTNgmkXE1GDtRWYWBk0SNMwmz_kBdzxy0Zqf4fcMNJy0kGGZHxAotwdp9V7ipvDNc7khrHUIgdP-JGgeL1Wc8tcx0AGtPFP_WQtoiT1J_H_KHPrxQ7RMqj-F9m4zi7-wPhkhNc2Xs_xsyxmr9TdNBJVRpghpam_Ql4uCaJ-Zaldz7XpxctTl6JWeh_HzOwwxp2Lr4vGzqSyM8RLL9dOD5aq4nXxLGa_jYA-Ty4Z3C9NcugS2IKbs73g8OqtLNQOt-WycFIsugWCBBpB8PdH2otaM_ZNqwM7mCFakTkG8z_UaHoJZA3EMo8h4pO_7uu0PrVdH9eb-yLYJk-PozQj2qTU5UNmneLuZ6k7-wb0SucOdfqjXwKXKMBbLQ8VovBjbGXUxGn7Z_dMBKDyIpfJI4BuMGDw_aRTrz0EXQHOKD5i78PmEKt3z3DIA8b2iTGVNVi_0-yB54ZLX0nzCCHkkGUo8Pww9-oCDTOdIhP7SZes2nH8oYfGJmzxRhtylTrmzG5Q4OU4BGIvigPq2fNbioNqIa7VtJLTgT3TTfDAistthZRtoXWpp_uUtdZvsOElj3_k8PXfdGE4REopY0aO9QsM7EljUjmxdvPAlS286hXh_dvZHBTh7IIP4IPewjCZEUwDVhed2g2IYQOqavLD4IA7Av_KckM2EQ0GKcgwxnocy4xQ-1tpXiPxDfDNBGsWG6FI4y41SfLH5FYBx_d1H2HMbjoclnJo8msV1CW3QfeFRRXwn_ygA6IaIo21rEIBzzHobqvcPMnojoJTlphxN7EkmDyXKx4MBcbzOus0JzhgwI_FVhJ1GJgj3wQ7elGQ50ynRh1l15yqaz6YjhueGd_YKKheVDwKPQBTpJjkGRbLM48MiLSzyQWgzLtZsOdFf6qnnpNlJS-Hcstx282WlF4YXFAt78vhamEmNgsmhi5wu9kx4U6z7QKFLl-8nyAFXp2oLa-ifUGgfJ4dxnjOCLFY3h6ZhTYiunODy37uP3RP7WTs55DSEdmHtFvQ69QGbuLvnIrRDaDHt0fTk2KdHdP5mLXSna0N3_wl-fv8I5aNlZWR-Gs3CiI1WhcFbIbW4qP4vheaCkE08sHa1BahPLRQmhvYpJqiahFqq6l5t7UoiuJ8xBOub6mCWU3hME6mTTE49Ds6WnsQYEnNYL3DhzUEGtyRpmoSkHcI-sYNiMdDz-ioiZuy9FGSWkHnCFNFYJkcswA4GQII1uvc5EWp9twFqweQGAdY7qvJYRpgJixJNqd8OsPwR9q_iBEa2s5rkTgm7Sll39j7KaBzpbglVK4gxXVq0qM-2GYV0Re3uxe6-AZ7mfKfi-LWwFBxhZ3FKmEMcS1pFKINjeRY6NTMHWtbX4XVOiQWhVjOeF3tKnXv55offtoucM39zFZBSJCYwzovGGqkugGKFr0Eb1jfvjaf2_wnJJnsRI_6Dj4pYTOhJ3aGmcQ8YAD7rtm7qN4w53xXR54zbLeZhilg3MNUvlbWf01BqH4pXiLf72C6qFvy3lVGOubbiXv1STTYNRTCRMpybJOeQNzGMRVfq-m0WiX6CcsdrUXJp_9NT1SukgLDEfR0lWc9MK2UOT_XZ5Q71S3dXRNM17R_7E5RKxEG8BnYLqwE12G_3vmC_lNRMUZqBTF7VDcUyWBH3hzMH0T2G7lMamN1XbLadgfLkvIzb0ZZ2Mw97zg_ThtCG7S5_oIk-ShVcVmygKP_VSbuQIJD_Oa6EgMUEQZQPkKsXuUedlM-NDeO1AtoeEFA54ELP6VoAXOlmcuwrIZhot0ohFYxiiI04VdhOVBKZTTOFajCKHR97hkbGOCWAeo2x9QWzkjoc_DOKmEseY14Gys4LZRsINjBRglAQeui1ZAVoAJ1dJUvng6RbnJbuy6yZYw9QdlQRIHc6V82j-yoq0pOOhxhtnM6_BP2tgQeBkbMWzqGPFBHfuTQnW5pn-rJb4RylmB8Br_IMzfDcwRqo1KpXfnytgsFZUQLhGaDZgR4EIRoV53j9JyslRGhYxM5Cqnd9MIQlz6cxWUF-tJ3U3RGSYM61hTWjZI4Y6v6mGmgRmnXLE8ecHaNmLIQH8r-B9DMxR4dtwtJjSeZHeCnHQoTAYCECR8Ee4rmyEm5ys22kkHEyUU6OcKiatmrLUHmVxVmhwIEG4XCDlLi-WB6pNNtGHfwMcAuoFhgAAIHHC5SJfyWwmEunm0uYXG9djcRQc2ZpKOTZF-ZaAwd55GY-Yev7GS5aIOLRX-eaO_kp_Ipqmb8_GL36oQyompg_SynhzM3Va5lvPWBHfkGHqkJVgce8yDN0V8fBBovLullZApKwwE9iZ2R8CQ2qJe6GV4TV3yFdYUOnwbvsodUgwpzSj7cs-uQG26hNL22WIVt4drEhuZVgr1fyZtHuyr0UhjVf1DCTO5Bgwa5IXK2THX7jvYO4ngrVR2xLabfGKOwgfy5bOPgcmKGaSSvVRls2fJVq1y_Ud0wHOe3wIxMUgpneV7En78aVDMacRKZI_rCoQP2WzVU_MC0DMG-0FgQbVFIpWo5KQzAVn4N2hv1rGijw02Ddvj8yjp3ZSjyGxeKnnkIvEvx0QcFtp9f8FeIz9Kv1R7QUwbUI9gOOkv5thmKPUaN6LPxdmOVKd1ffUTEZP-houIuLujdGX3Vv-vxx9yXjGvVrdvFZoFKz9apeVlpYv_nNGEGxTA7drvlLfmyxLbIfeF6S8WMa2PolM6s_AvAZRFAs2kvMqbvw2mtf_YAnEsMsoArNK7M-p72UhyLngDXitloqgm_-38Zx0DEXxfU0KQP0Sc2T9XUkaU7_EHf-c_XFuK0eLK8U24DQMbcImljp00zoMGA6lEFxTssy5yuoAslApnFHsofbJ533lrTB3z5X5PVhuE_4KRLd5D8W-PyvcgcIlvQ_xfGq0-VFg6YKsgmNby8iIci793v56HNSsP5eIfColB1w2Ju-oneHXQqsRBAKFoH26o18eiDV_15tM8vVS_ZGW4AtcV-YtgBUjHTaut3s9RWe-5mZiUiuF0NjAs1wS7lQ4jlGDvRCTumN3U23pTnUSDxVysVJv8F39lA638GvUaz9zcautj6lnmj3TUGJTA8l_syo5ta-3zjhTKSX2MJNFQ4mzfWxm8lKcfIy1ACwySEHdFKvqQO7c3l41eyjWvXT7h4GGeTcOOhKZ0_LMzXxpOCkfQkCRI1TZxJ2BOZuFhxPmULfXHtZbPFREjHvJftIoFU_D8N32ZBlWqN3fbXkDAU1oqL579-My_GIQ4Gh8HsrOteOlWw-IETI8cM0GM4BKz83L0iYrRk6JdaMI4WXR1gEwPEOIKG2f9Na0Z4Lm2xVbaGcifVwQs3t5f6mJiNtuwRKFVRdlU-EQ36UobTAyFWtdS11mLrphShbyy7-Ej3kdlW8pIaiGCN6k6rsiQjfL9JgCg7PgC-BfcBtv12h9GdqT8y16YBEEVcdrQNYMg6r0DvLwsYrHfcgAHSwgLITSqUc4lAGHqD7dwKKWguuECdWHZQ51ar-0uGukn2duUkmiwV-AoY0a6yzyMU8ANjwZdAXdOSUWjK4b33R-dXatgxDZvkp_zYBwfYCAbyY-Xzb8fBo4H7ctkKABuIa2EdR1yBvsZRaPadggMRZ7j6twpD8PZrXbCYI6KRJ0FsvpxIEXjPnlnSgtA6JKbzyyv8Rz5Q9L9L2EZWRmmcpvmJhLj-G-dAN9ZUlvXavJzSocRBG85jPKfXFzK6sjqIw0tiK-ccLiwYveEEzl7OTXD0VnqPZZqW1BgrJS9esoT_WZQeTOgH20mrJeWFGzNDuRnKJ3BcqMnOoq9MBxuqnRobNEIHm430rSulyWRF15ceFG7r6RkXOl_1glF1jdiqBsGLZTgBa30RZOV5hzWU9kZtu2JC9Sj9LWkxQdX6aTGhSKeEzZAfNn3AIpDi7OxBZRg4x77GdgApJxNH9F85DkNBFqyhDrQfC0850JK4qtwjRCfZWpATwGtT_5gVAvbHt1CetS68sUkGwd-sAjwruoFuCSXAsCGpqs9l_Enm401p3ramaMyWtxoPnc9cx6QJMCu4hfO2c3NeyfVUYvWndDY3fpkhn8M_4wVVYQtm6zAr5LcYa9IwxhXiwgqD9tPM69HwqDbUv0o3e054O2NSFXRkpwCb-kdQKh-UbCvJ_tOdoieHP_k0xt9cbTNnLcQ0heop2owAN61ZIIl4cYbvGP1cA-i2tUYD4Opyb0pgiL__4YRQQNK6Z-2UurBqdqG9peatTq8dgm_k1mFecHd7HSU1DPiwS_naJRVx3d9wzlfaLJEu2Mu6ASOAsRnGK2O7moWDEDH7I1F-_xhifvl0JOIErzDfLxdUgt9zY3OblWm1ZP9IPAa5FDUSBS0Pl8IWv7tCwQ6CntoNXCfoisIjhbIomZhgRHEJgUnFLynWPsPYlXg0MqOOP16LlO6kZFcUGkBmyvNQf-1JuSaowt8NlRCMBVE5oLWYHsVBQBdf9wW3yhtbHtthVCdWIDyFspUw3CmRKKf3ynXs9VffDaQ3V4V2xySANRIcdoBi2ILrz2UP5kQaKS3A8D9xq_PFCQr9l4gkUD8WKx_HOuGh1eeMaF8fkMhA1mln4tfylQf3sngiXNhIz2V1Q2FnnHWwJ2WpRLMLaPSKjRNnzITfxCWOmoJtzLvxffesNesYQwOnLiXm4-T4dY-cD4CA8hYu72YuZgTlzA5Nms4MbR8buNuAHIAJLZDifQBcmkZEiewxr9qiAxvhx-57jmRAlko6evRgHcWq8RN4jfB7f8vZ9MWBf0DJccEHKr7syrO4Am8ClmG3uK1rJFNETMPJO9R98cUm4JR__5zOUKI_k0cREndVklUTdsqxcApJttRIgRFi-ycfNm5tI2DcWZ8ubi5E9vfnZ1JSFAeiv87xwLc7MUt0tONFxP70sTl_q2Qn-3vivTBmxifYwGb5L1Xq3DeqdkahRk6djuXQGJaNCIbwnRI-pSm6QD8QA2ua30gY4MHJuwyTiiNBQInrZP1SRN1It3b06C3QcaWCO3LPRq0hWFO700IHSc8vYgIWgmHYoePaNtIdYZefRMQDp_6cvdjkgrQkuaHx2ed1La9kzyWZvhxS4pwfw_uD4stEkXBNJl1_OqVOKuTGusbAExt9mKH9CP7At-ffQIirvleAyJLbrZ0g5mU1LGlSv2CbyHA83ULpuCoWOWBFtl_ESX0vWminavorVSN924sXV7971d4_GGgkNfpFvG8NuQWePrL0-gZSyiEQ4eP9zBJXws2gdnUFn0cnb-akozYAz3f4z3HLqLz_-1zCjhuSNIcFukxH6jq6Q3LsWHpF7wZenZxznux0KAW3_-1TkoNXqs6GtQOmHy_EpaZrVOA61XpS_FInMEjWrqcgnCYPG9BtLlCfAqYk6dA_tvTqe1kRDXqi3Jhz1xWfQS9M0m5I4oiSvW1kauu6U7OZmPifMG02NdGEBt7AAe6JfWM1gnny1vAVFfI8xZAVKMI8IpdCfOgTVmbH-X_u_e5gaduWJkmWkhFS2_YveN-x7UpkPkjtg59rBAkaesCjqoscCnkMkszg0fofXKVX7GJwNpLLfITCBgcdYAtL9tgddQg9uZ7IF0EGk2vmX7ENT2vdIFRuD8OFrYu7kld4Gk26_EozdfW-QWpc17zRautOpzwdnwxXunrGQEmB6rVMMXdGY3uF781jlPhaBcM-zXJ3CyX4yUWiyuLs_DqCSJd8z71qs6j4IQO9Qx-xAbCnWHy_vUNb63aH27huJoOFGyjTmUJr8Yr5gNcxvc2e2RLjGo36MqRde7tji2M6NOeGaKEVl9CrAzJbW_0hYnnvdMtGrn1eFC5BojyWyat8xOeXG0dM2T0dB0npzTe41GFi2JrFhr3GqsBmrQ4ierJ2KBq3AMnFhOyoxUvOwn9rjTUYLuz_whJc-Jc6GgLj3pC4vfmqIP04mEMNVHKFcUU1k7M74a9MLbgzzO59L0fDGcIz6c4aAHVaHb7sRK1niLtRJk1x_UpZDQ-dkFqfIz0FMfusj_4MlQPJTaIjmWd8BF0Amew_LXg3LDAyYFlRGHZYYeET-AfXqk6dStoH_AxA-1xF4jrw0VCWDzvW_sEW6PSe1Qm3Mh8ynnbmPxXBhToO8qCegfXRWEjit6i1F0_72royE4AnAO0MlBQ7E_X3_NC44Xma_3vwfwMzWG6_OfUvt_mwMaDDwtO0LLmQbWoJGmjuTiCVd-4s1trN3QWClDlkc9NPOGsmVHlZMsn-4WRavSUMGrNHMrz28vgNzAHqtWtdteFZ8DAnxl7Fwa6erJtBY8neSxVDCvc88lG6hsB4eo37n3osbHhL0J0L9MC1ktnTZ-EO9Ak-96aGBFGswlRxc9eMOlvf2J-dRLSzy7TF3_Sxk3n8Zj_juU_6rtBP1t6CZvtKldJXAv0m_VRUWB7fx9yewjHBJ62wf721TsdlPDUSif12G7zKGnYCU8eGiQxTM1ANDGQz9YCMl3E8SLdIJXXrMkM23TPpvg6HWzQerSsU7oUSAh7rYvnU6TxylNXoHEqqu0u9w9ib3-IUcgdGEzXdj-HOf9y9xouYEEnMfPJ23rTZSQkOVvEx_IzLtGCCh6-1JQPoaGiCtvxtvvRS4LNs6rMvXdDY8uE3iFbS6d9VwVCCcd-nYZbETHyAoS93Gr1hYKRVfQQuHm5AcKj03uZAO-nJ0ZZB_kftJyoS6MndZHTLK0cgWpjXGTvkMxuYAFfUlhI3yqEB7MUDk1iXN0j8y3ZcbWQD36IjAPPGkLDDX_hpEN7UTDXkeWMjKpRbmnBsjS-_1lSRAgHIVvvEupLEnS7PvLgSF8qqliEA_lJG3_ZbgYjHBvdnYc_2sz54XuMJXtONopZJ0NLnm7uRbcc8H5TbWT8gLcyudVeTto1LxLJTjE27KL6bogmSBtl3ghK1IEghTLIfoOIabcMPEU4Er9qpl5E8Wt86Al-dY-SnHspNHkjGDjJeRTgRnxHOpA61y3MIWcwziabplDzaPcG3mOwoMANArkdrn3LlJA-Ew6g59wGhZA-_sLxMcy9Dm73ki01lldLs4IjQR8lfu-6CFx_-HiRBC4s8Deu1wBu7Poa36vIFpSCynboqPQwNQPQ6-WGrkz6y7VdlYFUv8nGGbY5pFXPlbgYxtw_-HIUS79fot1P8zjT1UAKdC1DsAfROzkbUmImRYDa2o6xYqFcUOhiMnQ2zH_jS-a0mKlm_GnQ7OwG2p1SzK9b5BlRMrizOfagFZSnLcJ01o90q3EicAaKcFfGpYFvWug50pPIZNrSZSWpz0MiimrxVIHi6UE3XEiE49uKmUhG3jeRDX8kQD50P8q8cSFxdGEeyzB8GTUEIYfgwvsAdxtkVXCsHf0hPfMPuSi6nVxR3QuhLuBFlhffQWUPSAEc4X9QdWMcGzrawyMUmVOuHGZVxfDoJpS14OQHPC-bEruye6TwlBux2kjYbPUy48Bnq2hqp_AbmVrDoXgLe7-g2rMd_WRW1Lu2hjSOfxy1HG0Winz3nAAAS4YT1vMfHNAjshU9OjC--cUxJH6sTyci46jNYqC7UwkW2ReV1WReTlQsElH3DvjtehgFkCgRnDsB632nd18dt5oecPdB0ZtSOLsEJAgpO-gJ6Z0upuCdzuQ0QtyozJg2fw1rVMa3AJeIkot8KTvw0xYriDRZIHGzss_R7UulsvPUpXhOmxC7MG0jOeKrNJQwQKyvODEVyDv1qBfZTEIrU48bElIIXU-HbPDm3FG1MENx0ik3e01i6VGr7nOHx3qKCw-qpCVPLX04xb73Oy44oRMjXeByxxA3rpVr1V7OrBJQZ3Jw1YlFcMeh476RnLp1j5cHf5BsmNTk8reyCs_k5WfpBEyW2QeJLhwX8rFTJxTj754T69zeyk-yJQYbM9_9zmcrgPFSbUkfz92dbi1XB4vVpKLwQ7Ir_EchAyykIN5Wqu3pT4Z5TG9PmlKXdyPfc5FqE9pE-JJzucXLEvpb6TlY8WXw4ZSif1a9baNlXlmOz3e_6W02Th0_Kgkh7JymK1OYNNlebdITK66MTsFEO_uvbRxEKIzQFi51t-jKv9W7oysR3aeHdFTNh_uSIVRn293pUa2AomQb9TP2HqDlbOdGZ1N4F5AvpoWuoXovVqKirscko1ht1f8ADX25QyCbN4KnNnx2sDlGh04hpi8N_ZljA8LKkDaaXcun2EkjPKa3Kn_2Y4LVPFGi_m5uDDQYBjxIsN6QmyxyR3tn4NhqY0hybro041gA7MV-9x5H0OU2C-kfz_hXD_9XyL5vUOfrotdD_bX6_qYry8XRSQ2S5oG2apX-xHwCjIxi5c6RMfoLCQEj32AUay5Nwx0D9kolAo_UYF9Oclh3zcaYwEohGcfi2depIOzEkIFb0ItifOOPRtE4bAaj9TTqGtMK5OR23v8JSKGaIPu7WSib9ertnFUfoKDn0x4qXXi94k_CowXMfKPPWU-OSWoP7wEtLaTq0TPlQfKWDhW8EBMsiFlEQZeG3Rz-KHP-6-3-vGDCWQ4XtuQC8xsHII0IJN8aE3GmBvA9eGAWJ7_L8yO_X1236_t0qSmv--1AS43jI8Fbu7p7ypuT1VGpO0U0dGcDS2E4kWHtL9ou3drssrI4SkgB2-oQZ_U59yite7FW692VZi7xlpfudEnOlCsxwww6wymaj00jhHFTo79atSkBkozCM0U_avoaj6LTXBoG10Hbd1y9W-NUwZXLGXd5sUyfJn9v5rfjBGNa1Qn0QljBDm1N-AQVgROMIWC0eRaCRrIk-xeKJL1xhK2wsgVXM5WmwM1bR2D8k_nWtzt15n6i9C77rnkKD1j0DwcfdOS7CoqaLQ3bmr6BZLxp_SEOZH9_K4ZiIqMGwhgEx7tWBiH2Kw2KYSWka12vNkO1jqQ2aU7ifUjIeAqayphzuwJQY1rwoUYbINl-Pe9lryUhtyLb7vgvXMa-Pop9RjfRBSY_qb-A9G05UjoxkiylREGp5BR7wp_JcDSsM9sbBeadmoJgtj_BzRRhnoDXCDByt-95c7T4mwhfB9m61eKJUrweI62CdU5S9RnUXFipgdr1npS7JlLmuV-1RRAX-DaY8ytpN-1jmh0V_5Xw7E-SVgNp_AnWpCyuVngT2KBY0SBXtkG6yPCM7UAXEpglGNpn2465m3dYptSHjBDS6gluUoBKpdzoepWWNtZngaPhTFnbLQcqFhBqnaEJjuoPowoXywN3cPmW8oTbH9rKqsoDYM2TYCw2b99T5KGjPux4Ort-aBXxGE0vNfgZqxhq3ylKF_0l63yW60KRsJylsZlPR-QJj604aAO-Qw17rH_17mstNH875UNfsv34yJZOZzfdpe2HA2ddEmJOf4yfHTXysiE8izrMUflUk60sERFhF9J5RqsWbma-jUz-yZ2vViuaLJi1noGwIIsn4Ab8fOC_ZJMcOv4juvsqLxvCL2Hnv9QN8jeXSw7Qu3in91h9So-CPksJhOZcdZdOOeaWMPA0ljeSXRv20GAl3pKgSYIabIcqvLLkUMH4ftm9HNlr69QTYoLHUW0UAn7iJtGSVIT9npMSN1ksczSJObRJiSibBzVz-aKvIprDogTRTMPnYD7pXUh5c_KpsW_jVP_Otvp4gL0BDXMDwoBnl4Gj2ISNqBMHACvEPdpRhAVrk3fxX40tal7dxaz12MQ4IAJD1CMUrOGEzmy4Xosr8gr0urlgAnd5ThCPXv0X0OZ4aqKx1ifb-pOizyJE_qMaF6kA7U4-JECOtwWV0Wa0If8DF2JCnFoq2fAuFAeLw335J0qC8x-ZvZka4FLitAJbH9Lr84FjK0-g5xZH3o7sSOXLWUYDoNsruggpaChr9thLlqR4qO3uhgsJjrF3zFMnsGPK5metVML7c0LJLz6lWW-JaedovXFiOL0hVsXLc1SZ7D-6Tjp_uO098j8KBrZRs2ebgX-dKPMuS1AOJSwlupLizsJ3inZicMIs0wf_0UFkkGe_c0SM7Ui1Xk5FeV4JH80McgWJPzhBZfP_7zQ2VQGVM7M0D8544zHqd51KudWBW6BPZEoM5RnhsPl2Q8_Qj-QmVpzW5J7bE1L1JQRc9chnYPDTWuVr5lp1TleINc7aHLngIEKRjwySMrq_j_dDw3L2MZI8DjWnsuMDWuB3PETEuQAWwbip8dvymH74GdqZUK_pnBSfntYL9BUMoOBHiT5kwuzlOdlxKimqcl74Ad82fD7816XUytakpNhaawn3CeApYpj4hQ7c4zShS_4mcYz4sGdebkewTUVFdCoznOYYcjTCK85j4MSW-_nceEzLJEttmU5Fzzg7fdCG1qd8Epbqqjxu5au_z9-9-tAPJFLb2TMsvTjRcdtIaMNq4obiisR7tCx8Cyi6wlQUU9njnOiot23VM9dOH31xOysZQYjwYhe2w48bwbLzHEOXWL5HgPpxzeY9O_KIk1qLM_pqnUXMtlAx3eLguBQBfwf6MYVdWyQy-JQ9WSvKHu1PWtxmWy5a1e6sFVhFN7NVJnfspMmADxGK5BA48F8IFKchi9N1PumWD2NHQtm5zLOGfj_2W84xDIbF8xlzePHQvZvCMc9-LzICKpm_k2oAOKeW7PK3e8LH3qTh4NmdogD2HtmqLWq5cUfOJHaw_DYce1WCRM_RHwwwGzGbK9rT8qEtxK6Tc9opUHoDUMvcXSRFJrer2NdxBUDznkPjzEdiK2cygo1aeBohUzHjCwut3wltbB9feE_jui5EJCfYujDF74jH_aLTiMPfn2txlQR_ZWkXPHFNrzjXFCMF4UUBfR4AKHVyabxWy6ID8hn_2FcBh1HmM0mWnJT060xfp4f01Xlnbs9tmYwaQdExVJlnHf7yNP10xtPjlWll1UDAbWvAn_8Tit9MKd_gjLBoJTq8bNtyoLXb_ey5T2FXhRiYtExxMf_SChp_wxotmp_HzuotQu9R8qMpyosiTm1ANyrMyRFQ1OD9MnVT9Pj2MCprik2pjIRDRN5UkENx9fssAi1dKZ-DKliJHZMDpDrF9v2WRa2mwoVWekKDqasVcP_ouscRZn6hleU1f1OPiHV7_f_HYZyhslaN6JD4BE30lTP_i2ZGna3888pKqDkJ81TIWFsYZkSbRIM66Y_LaTTVkjGx0w4ZsebY_MW6o_0ngtVt-rsV-4Mi78enic25Vf8aCq35TT1eM_Hh_ku6x0urhs5YkX_2iX5eEzwMmqE-QxE5oWrTzb8AOnM1YDhOvwjD8C8dIVmKQbe2DzFlWCWXLUShAdt5mCeKZtnmG14YaMIichaVX3jPoBppnfd0jjHplmHtbKup_TUT1GRUpXR5hqclOipbr7KSLVXG-s8mzOLm0DA_5U_wnlYrV_P2KRFcJ4DTdv3vl3TifO4QS8KjFjgY-DErXzCurY7O1O8XqiwskeyuSnu4lkrZy9nzkHD9_KXTDwf2-cbGtbERtESUd2OxcfjrlVQ3ZIRrBMIvbYrgrE-eITzeSIfLOpHjdQeWBLffAOmd86w-AADPoSn5ZqxyvXOHK6yuTr95fASF49u99NeRfqfqkblrx3KncGW5VA12aFT5SfWKAAnrJeEyOPJ-CTGNNEwHFzXGNvw7YA60XkV7poK3u4_qVMpiLgepWvlFy6WZUYtLUr-nZ48JBBWdpMR_fkfBxfCQm5ipCHmDC0XJzXdeK1W2KHrX30xU2cdHIqu1_w6Q-GJo_tpLYDLLctDi29mkuWHvkOWyYbFNNqKxnZnp558jSl7Pido6aMYhmbLwvy4yJt4rhLyIiPjnzFJCwwfM1stMuilDTNoHOiarsx_UP0zK-gpDUCI6gt5QrHBwVxatDnxCHjFrFCEWfFkhuYobP_lonXtJn5Z_94yNCB3BYSoTxw8Af8eYc3X78GJ8RwRcH-k4wu2D5NWt_e9XFEwYIm179hTViavPd5eQo3TSg_yXSCjXrLWuU0Efo2JW5po_0Eot1wgvHQcN-ct4geVFhLU-sSCebLvwOsTSBZJG_s8vlE_96rV30nVwoQwNAr8XrkZ8T2Pj6Up40IVoY8OESPz7-Vr3RbQqs3R-giSAFpOGaBG_32JcGMi3llzGhyI-EPUbhAFIrD1zSmrurQlBI9zohSalimklNOTa2J0lnOqoS_WnBKXrUY42uTBQAhrXqRoiwe7tCGrYYyAGWrFHpFzqS2miABfJWOt6KS_InnaLtkWdQ21gTO_ndoJufMJ3eRWswN6kduGiFaKNGIgw762MGwHrCjQhtQbqjuMIQLBnbMeZ1Noz7gJob01IqWEYE_q-0rZ0WXQtJXDG3B5mZMr44oDfvdSXjAyclDAlKKZwexjZe-n-SXOD5Qk70zl8CsjvnJTtu7xbE5KvC9X41h2TzLdedwmVywC8ErKgGKrrY0bFwCvQj70rvbuv6QigyE8K5r17cKLxgmrYOeHMnrFvct84tTzHU3B3Wsh5d2QH0_pChdEmn9_SqcNtFQzhj6J6VXwkhrBPDF6dcDTHIgAFDUqGlUgGHsJBZUbbgOOw--vA6fyCnodX-5XwihkTTfDQASXEOUA4ullaUpMTH_iejuOyTxm1av5XIpby53wxM84RR7ccmcKblzRoOQBMH7Cvom0VMkQptCIUAud-5wsIwJGhwzi8PPWtkQ10QB6EoYvPdoP_8_lH5mGjY20qe52jOEZnRzGeP8-hBxk60nOvVRBMAi828TxWMr_0ZxPU-0bFtUG3sU3Wb4tQwVyjweKFxRZ2kLofuseSZpwdej6fW1Je26wbfZ7I2beK7KmLGzF1g4jVXPcQ9gi6xn8l1C0ax7adgXFtUR7IlB93Zz15Wss8v_1mkP7fVJzvITtRaT5Aj3b_761lPFLou06fxNxfNJa1JQTmRALeC-WzyhGzBdp_vqm9G_pGkaVgC-cuF0psJtptalsZwb81lmmB0Dg0n0N5pHgGLKCtDgOv-axLrpdb4QiCVzJt5iygb7x83DrL04e5cDAtt2N2uMDbcqarHq_t0mhXmb_6IZZMypVFpOxmk-bJUbvI0U_aQMc9WvU3M2xOfyrzKwCSCCBErCxplhC0WpKV-ahQCG1cVnED3mu8-CXiEDaouzVEyU-v3LY70MhIeZFxmzr6RhKgAW7KGflGf-ZPYC6-CfU5Zo_VoA6nNLif3mLqT7e-TzFCQxLlvFgPOjI66BqU3tant1PvDhwRFQ19IB_f0-yPWivaOYRN72iPvAHIwd4Bua05mR58A6uSlKwaU1LAYuRR_joOg_SompfG3SaxD5WithPi1f-7UhGIsZfRuGqF5rZJTNQEvGP8Qg36NyKzHmkjWP6P21cq4dwvciMcdDf1KeXQsExfSZzQi_j5n3AQEcuQ6d4-CcUfuKhTjOG2TxrIQs-F4iUE9PxffMgjreQczRmHX_tFjphqjhICXFzrTCpMaYGFWSJkwBesXK_njlXP6P3awO4THGU4h_xGFgWMvzB-bq26r5bYpbIAC2QS9DsouQQK1y9vFbSqlxrWRH0qda7dNoFCykJReyVXGgwV3qi_4aRMemh6YuuuSDa2djx4EMAVE9RErXSB-NSFO9EIhZvVuX_F69N9dtJKF1uhJ-NfhrFMlPgO2nLEJtSiRzDBC5ewbDcQ6xqvn-nkhkJM9SS1f572eWkC11A7oMrtBU1I3kYcA7MrE2rI1ZIB3G1hIhi4kDFG71jZEVs-4gzcDZPFgsUFtsDYrPxhb8bDYk7MnEbLLsGQshXIo6zmjDraalwX1fFWBWfQQxjVCw9CAUcRwD46AxjCMWaqnaVzdeZt9Oi8eNRp4UqyTepS7tODEGv2h60OPWi6YwIayhFXfFuLVqzOPJYGYs_JDMp7tHq8xhyB8e1nURVfCzsKddi3OfK9ei3YsjPITr8u-XOK37_BmJBjvUsp3eoZr3bXOgAZopR7vfTeekMB_lMnKCB1c45lR1GyJum-3XZn8HREav1nAqbQDF6M2jz50i9CnGlX4t4v2wYrmlBzm59O1QaM2mdAg8Gk8lp3rCrmLfKXs5hxV3YH9gmrtCibvn_rqTw25XG-778zxivPTnZ81GUOG8yyS3UYpkpR01O37f6DClqdnQWcNB0NHLN6KRmW2tKktwEhMQ5wu1zr2vmplYZTr6H57-xvLNSXDsBvsKjhV1ZvSokZkivnvKvhoPXwdEEqbKHXF6C9ZUpo7PAn0o6APAyM2p3SCY3LcPX9hmfGRzuRk0E-A-zyPJiedkWMLGJJX_SekzTzAmoq8DOfkAkdrQ-GrIO01V7A4lM6voMhZuhDvcml-jTueZ1DhdZPQFb20j5pldthIeoHl6MiRKElJ7fRlKWg8fkkGqoYULmqqFXXd6ZnSBaIXhlosJJlKZ6UTApkjoZqEbEePnchacGaS5J3c0tckS0Se6_ppuNvqZ-ZjVqDHG2zvWJpTwlVAxulU9oSFdXfdxHeLrO9mJ0lEW58nyhUSSSCt9LL8LZeLrcL1BywL7vrw9LIUqQQjDxynjXriy3xnNS1EqAk86eUXKZQupfkPxOU9hzVj-5OQSb2Q85I4mYu_hKDl-pvlP_reh_1L3uQta5mkhvIX3zY4Ekl0sdvTV-xbkziDF33P1rg4Ihmu1PZ2cbS9rRLNC73crF8P7jXivQR4TRYd4L86RQPxP51XdP7s__wootwQnT7LqjxBXRG5HPAkH5KgUzIff91YW-QEgT99t9Co9fsx3OgE5L8GUrdcJ3BDZlwEIXDzUX4ZNqmWwnPfLXGcrmd74T_jZgV3a3h3xdrqrzvX3qG7EeiFpXXRT8H7GdcfDQsPjwIhfQermOIWktLIbqG5DX4M3TaYdzzjSvUUIo85iAku7I_j9D-yslJp0vLbCl94qsIsjP6evp5XFV4m5P41Dyo7MRaK78uW7njelk6HXA7Y2JXlMutMjxVljspKlC92LGMJkOZeTZUW9IN0td34eLvIbjw37Chy5hczbr6wNHkFoiPIRzXvixSYI6OcJgOgkJkEBe5IOcKcpyyDnLYwLQa-xYMIZ1h7TqtJVu7ZrmF71XcVKah0EnE_Ey9I9BQy4ZBQnEGRmAHV67LnzfN8rDYfzQYViUsuhCewAjC03Yz4WC4LqDlqhL51cgRhldqLyTM-YsWOyO-Oas8LkM78wyVg4QzfE2haW2lZS6UDDRgTyLUPrjIX9LUtJaRWfkqXkM7qSrmwvkbh89lH9rSi9WR-GY3EcjGptoRq35sXKsAb0bGxfRSV4OlSSCpyn0X57zB76Momk324dY0S-VqY_BG7RJiga5vztpc9Tks3g4EcbWaPMBaWuHV394dSQwxgr9Yl773zIX-UuaudybNB3sg7SqjgPhIVsMtsq7mFLzJY7HcVczCSGcePAd_6v9YlK8N9wcJExeubLboKHg-OAJU7RdjHEdgF1Tqq-0Oxn-v45H5X_RsUJGqVE669yM8elYbLXXA7Um7ArGtP91mJpIHnJBBMEioN598FXsY3bOi5FtbCyPAghIjpE9z_2oMjEJoWpNDoQFNnCetAduGLWY7DJyE7AJJg_wINNlPSbIYADloOwCwl--akGcLcc3ELVLatd1bERQpt_eLKOPjlB7ttQMe4AWn6EXGgmOyw6UgcRf_b_OnQtM0nwTs52qflNAQsexJ8odrWaAVxQUmMXsmB2DRKNPLwUblisZ6uPFTBAGR15N9vYmjx91v-mHsyTRYzPtJy0cN-NOah3MXDLWyHTsuZQuVlbrMHnZ_i5Jbfh_-5xns11XupS2Uw8RJvES89znCPanqS49Il_PB4d5ZjCXc7t4mZPrW13coNaNjcZCQdNrH4ubC_Gyq6N62RCHvmEPcifHZ1QbhUtPT0uhn9i2Et8CJ3h4zjuHoele4yNrOWgAEMominwEpSNRCy_trbgWEpCzxN9kIlHW5Ar6XjbEB2orXBmvGzV3x4SY82S0V11K4koEG2XVdj-sjZl_PsaeARMwTzd0b8H257KoKHlFKvosj57WwAuuB1k83-0lFisW-frIex1LK8FEca3xmvg2_Y3cXGlQorwVnBpNWFv_fyG9WHwf2oHBgppWSIzZ1zrndr2w_qN047FP1GsU-rjU1VrmQ7giWM6mhR_pEmJw0IQkHBbj9us9ywb0I1FN___cNPN8aZyPviZBkwsnVtMOOtea4Ga2OZ7KBYzu_6thERaKuBxNUyOxFuPdbheFHl_Z8HrFJwmmHF2sTDoEg8zg0L_r6DsDLaVfVqBbNBw44_wf0_a6lI2uIrOGoFzk-dq4eSP157MX7xDfXcTZiyA3maF1V7Y8PJMIMZkBkL04I0Hk2_XiDTosYGHZVuNs7tTGjFmh4OamIa3gjxvkYzAGb_ZgqRGGtsoGXpdSfs7HWm2DpbTi3RAT85PaxcnojxMk5ybjJsUHNqVMWbpmBW5MK3S1rGlcOSENY0_Iw6fvLi8Pmv51iKDL0totm8seDNwbNfP2bSbEoDSTT4pqY1-aKS1P-siQJa0m4cEESXkI4gnsmunsq5xSILOz24Y5UkOme4XlnvLtPlOydmrfuST4rXIBGp834LzknUWxdfL6nvsyyZeo4SnaV5nFx4qhhaxFd7J6WVuDysIMciMtKYXQEB83AdaHoe2hgEdcmz9TYXsIbj0CaJpqhFsl_HPdzsSxAZA-50hZpff8xnRgBNH7MMznK5kn7k-5PAdFwKHSAGfJsU9f8XPfRL5P3S7cQrRIGMJN6qeVAilwo7-PDflp1vwOAMmYSAAF94vMkDBDkMsC8XlYhVnT1rulsH2fwV2iYhSqdscX7ucGx1g9op4UCRRkE1gRgmTHg0giV4lStvOvP05swLQFKbik9ghuSUw1ACBFoNqteE_0EcNGtRl0BWzTuzy9avltHscANlAzxDQyoUInOd9j2cmP5zoiQQvq5okthRRP4Q0y5c5X4quXZjnyT3e37PKjN1nfcFFy-h9eWmeNbCHA1mYVRtokJz7oW1GPajG4Rbk9jhpDWoqwZHoe1XEbppHHo0KfFSQFQco64b374-cwl6BJHVN4a_EWtbjupy9oD3TeRfGrrcBm4pIruAFxxvzOg8Lz0fUChNzVeNw83gtGEMC30mYzZzs-RseeHCD7kiYEbsvbns19kDCsuuR_jjTw8lhL_1giIVdXaoZQJUGz2Z2-SGc1hFXsz_yYHzsakGPzfrTFXnLWpSk8tfmyWK64y0UHpQ0R-gPJ7Y49sOlqJMZlKH9eImoQwT-0HHmR1z95EoafvOuHaROZr8hzibfaO5ROeuKBUNMrrZ-T6d3wWbjHN4tbBSImoyRsjwUF4dydK-yobpQAIQRNPyUFoGlcm20tUXrIbg3ajZlDqOdo3iORYS8VxaIMia03xIYqcu_BVYEFtoAPGnprUHyBO14e-0h9ibuzyOIfEWr5sfY0YXh651H_G2mcCpJovFQuuFcqWHZBvRfD5BoIvNd4vi1wjsM96VD4yJ2eF1mVDPVfI5iP1MqOYlAnZ4l2Dxv7IN9sNcwV2FApzjlKS1nvuJAbajomAShagHFGLBZW-8kE4u-anbnUuFnWlHbIA_lgrCpY3sexAGwUYsxaite9gJAnIdJzecbU7RXzDWbhIgLwpowetQrBLn3v2sabpu5ArMrXyt09C7WgjIiJXu78XDtmUUPdCEfh7Bi7gGJjmNz_VCl2QBQzs4QPpEku5L2G3DPjet9npiBgbdEEgvJmxkdZZ_HM-9GpCzByrFUqtGl9Xbj-Y1iy8gjk3uiT9rB0R0d2hq1_U4VFyfobcC06M1r0Vd0wwczDpAdR9U4EPXFI2Fq_m-7WAcTKlkhSCoSOYrLM4tZIpicU3zZroeyS9ZomdEGO76oBXuH-pTvF0liVsp0FGPBTZbhEwjZ99TJtbtYNTveXhCxJLvGy04lafYurA3ChxuIt6jgl_XV2G3qxvAOqcjxueyrMqXFsOPnbXbUASrJLlDNKEt64fLnLNnX5_TUX_4865fnkbG940DwS3_qL4OEHrc5nGfTxJDzFqvAX2uDKBeimI43zwRXlDoycrxnMb8PkikKvPpA__I9iOX63-qEqgfsGuXDxK2rYiP4Te2cdUJNx3kGhehfLWhszWTnMc4bcLp7hLnC7xKUm3LUq1rhiW8UWy4L_-9ztjleZGz20GIkp5vhzDzIUKhUyLe1CHNWpyV6aBXuNRs85D76o8y-wsxwuYNTDWnj4oWhB7CySc2nzOyB8_1cCAzflwCo3J7zo8HrlOYPxTLXcog_njNKWE0-m1ad1dtJaS8uMNOaUrHzZbBBnNxb-bjiKXSei11V6HQQRbUuYOfAGe5FfWGc0Fn8P5EHjT4W05N6h91P73YaElsDJGQqDixxRQRyQD7Fpy4HYGAy3Ybwbsf4sybl7hHcQef0Cp9fRacCjPwEXSZoph9MPAWFAfEcX9konhWwIUrVG2T4F3I0pK-kEvUy2TWYPMpuSqUKmcR1U67H-bgfYr8LlqZsPcdSC5-JTykGC2cxpB_aUp48d8ahTvCKUKoqKg3uVhZ3xxkrzHT0jbfIxlhs-HvX1KbaJ4rLcB5NXRY8v2h7b12nwQ5CwJfq7w2i0JAp02usPA5Y7ZkKjkYsR-R3fQV2APzDpVMApK26Igwv77WvW5XgRD_yA4VdhoAJtGuPH07zzbVaTzyHajAxYq_TGSseIGTH-UlpU4HvljG9L7QDtv8X27rPHPSedlwF4E8dc9G6nQYOsp8JIn3yFC8w8fwzhIeuqqXMdd_7bsFqEYf2ON9VkBoXvw8qLnCDwDIL0NzpS7f2pJoJL8LZfDE75k9LpuHXJzDF8TAxwtSNuYqa80XO4SvYNNgOVGZFekUrY6pwA4Nd14luxFh1yR4X087kUwsRwczyiisd7KJ4T6WzK8b4aLcrcc-OUp7a9f3hVGB9nl5AN9YbXcI5-6xI53zXM2Cg3m8Qk-LDbGKuF_N0eV8HDokzyclmHsbq-dTuQDUJIDtNz7iMwzcvQLg95n7Z8_yTW6voyToAvtyP83d9RBdl2ubYIXjWgSSawsMchpDJN68BltP2UmXdO4rytLzJdCGk3jOj7K12kGaBRlxC27wQpTncwD6tNDbHiBP7GK24xeg1zfszLKgRhiRTvapu25xKG7SBwCRTuxqc7gw23ZW-jRCL57AXpr4q9Mx9FpNt35M677nDvfMKfMcESFJrWvuTEpxNwhtOViVY3hCJUp9EycWGoO-yl2gHZtDP_dMqMfbCDs3uzxW8fptF29hxC36z0kl2s1aUOZPa28Gh2FBNV3_5_UxEdM2b96t1GUvOrjGFzeRqShTywEv5-FKobDhj1PeJvwmAkzjRe0NEOgtxR816ug6cR32AsgmuDOyTF7RihrwfDJABR2tPuSdFslhZJxnWhXMvKnpINjMdo7Lzkh7bHa0auAPXgddiDc8NwZNQlSA3krRV18oWyMDx4Lip4GU07XUsNwO0ZY8JY1LF6yftMaDcWWbFJJv4lmkZQRxA33Un_EFOMIw7ivbEfVLiLtC13GsC_nC7Tqit9cFSR1s4oHGOhgG7ks7NZHJ7Tfc29iHSXonfeXUaCe8R0eJf95wkmGNaowcBGLc9mbb3KtrzzmYRvCDizRY2WCnRimTjyfaeQDbVi28jhtQfFPF581QFWaJiVIGWKlkdDId9W6L7RphDJ1qLdgHPjF2FIAgfEE9q4qwByS9VSgFLgYDmo3kOn9UEAINbfpDxmnrf93dKS0JdBRx9YXhdsrNynxJ13N4aAyuLpNt2zUPjukr_u350Mb0y9qpYvTJL2bHjpHgF-N196NvfbrtQjFywW7-lbrtZ4EDnE_WMIhSW8tsWD01b6yHPJy2FczfeJZXQ3RDnw2Q1mDQOubel63s_CNR6ucZyasgYjOSkDVUwcO1pJ_FpOLI65BjtAQYuMQPyDfjj1-c7dr1x5SfaHjJ35eB1Jfx7IaTDva_l5XvFxJGiNCL6DQhyCkRVxOkKuWiMXvStfF1ORxl-wFJvn1C22uag2lBnbnRvQpgDLM1MEEqdFgSWe1tUrMLZ8BBSIAo3sbz2nEiZnRRhmXKRhOSj3K1cMHwyCA-BU9HISrKGrzSnvb7yqLkN9JK08tpzOoo37ZIgTMhnuCvQl6rjUAmztqiv7z21egXGUkduM6gT4gbpLTKEf8nTNuN7D1M2sPBN110akzuJFT1qlK3GH3Ta3D3Qr2MOrHNzNY-MQYD6tl8v8rH94BmU6_QbkWZy4PTLH7RJWFV2OG6CBaNIVWkLDPMhTMMc6uKTBQGhCNxF-1C4UFj7Hk46Z8MsX5BbwJU3UBUbrkpNHvb260dlhj6j5tTkbSbp0NZgaqHT4i--oqlrGa9GrBBXYhvF134UZtK6WrEfz6wRD30K8pQUvvdlzjYb9FcAOreBOLfJHqyttCu-M06o8nMTljMcDO8WEWN05g95ommEEsYHEICfk8_4t3rl6d0oqIG_vDJ6eLIvDWXMJuW0DszrgYEPkDCY_5SJeUIqduIFYAVRPen-WTYWP2w9VYg_N4R3znjVYb7jU0rvQiHvMdMB3Ha3WQVFpYmZ19aJTUdjONBBp4UfUwX_eHAUXOAjusqXShMTh2m2TaWdVU7tnGfshvT-16eoBaE2j5cPsbBc5dh0r8_zVRQptlzR1GWglQv7LKdNvIa58GWeX53izRLiTrhA27mQwAeOeFAyIbkHoD3fwFJVJLMSSxfJuz9BQe7lD59Je1mG2_HCiBBxKEP7z2LLDsB2sHiX-L1I_3he5qh5vtVJTPQWY3iF86HfwGboJeFjnrZ48a55B65ID6IY7TlX9xnLB_3rO5kr9scvfQ5VoiRZEN0qD_TpKgoAB1Ig1ma6PpkwgQ3S0F7ztb6lARGO_G9_Etp6DJvMHrTP3hbfI2ntceCJSGvPHYx8lGHWJyZASz9GXd9jJGnIAA3OA2-yYMWCMCksYFUG0dKol3N-Nq_gC_kvUpo2G59bc2OSBP6vKOEZwFBl2CkNWzGwcKwaUHMtAnCRTu_zeCOqs09BHn8t3HKDyir6ggMD-kD9He0_Ce3MJJ3ZjuBt-3ql6khkLjJQ-2ffakRbAgn5Ld0G-3Rzz6SYkHgwpg7akwbS-1NTz7sCpCukrr2CrGlQk6yTfBQAyTJEDY6Du5-8sIUw_xPa-Ktng4jDnb9H3janLxnjD9Bx7Mw1F0ZtJ7FhCrmBCyERck0Vh9Qv4JMaUx2lF3MCxXUt3shO42uCYSjJ61UTVXLxAy8n2krLJQXdton1yB1ZcnlCZ8CkoNJdGfuIvz2N7TFiZHw7GCTtWw99M79vWmljLB26DSCUsQOb5zFwN99chNE7_4S5DNHY1ch7VMtRN1puPraSVlND9h4uKMMiSOAeOE_23Kc4RzTwPouhRAP5lcJJkkN5Vd5-r2ifwX1BES_SEhlomZk4QPdIzeJUfsXy8moUEZv-x5MU4JDYUmaxcAE5Kayevi-YcS657oTVnQud2W1XhmnGboDBsDRA9nrAWNFSte2Q-7cVN9wMgIKhQiysC7RTNpALE_5vQa94cNhSI95zngDLTogKpANYPrIxOkLryLbW9I8rnEWI8xYqHCgst3BRKH9gYh3L-fiOY_0je4_i_0Uh1LwgC_M3vcK3IjzL_plxJK9g_YuI_wUUTddDi0aA2U2fre3sjgWLJ1zN8XX8OSwI0BEm3mbN6xYWG3Q199phgNYTOdZBNNxiph3-QGrrQNvW0FqQfuEWueG5HIVexVdQxqGtq7BfsM0HYI4_xXr-_GweZNPmNSarCQYhTpX1i4NB_699UpPyKdEG6iie1y3UK0VFquL9bmrjdNXBsnetEzVA4X2bGHODp5NYBWhC3K36J1K0dGu7ShWh69nzIhDNJ8gA0WYLlrvzKGKp9VPyAX7k0Vrue2FUw0Ru7m3KPX2Upxtja97t8Kn7Vqptxp8AFFG7XXBmHIEuvMptN41dsDwPqTrEpScNNyn2ZnwPafr8W3zp43Qizk5GspYxYZXjht306NBPRmRUe78Y9Uy4jQtixhvHQaeDV2nJ8pOncO_uYMZlUdqlifHbnTqjUOKommTJO2PFmsEZ8Q_cZZrj2Ur_NjVMEbhFNa4yXSJj2OCd8UsPp8fv2iD3EbS-wuk8ewXBNPn5BSSEyudXchtYgeTszxk68b2a2FQuVU9ziRYyKWx8Ok8VVnm0b9f-r9g0gJq5s-Wl4XkbRvaf29ZWIDZnzlJkTLwge3LU2a0Ji_9jOOoSR-5QCTOb2XqPbJGzKKazNH-yx_WpiKYZSZUrzq6pj-h620BgG4ULjtPhQjuK9h5s5s6sdcQ7Tbf3FRwaCBrm2GOYWiVEq03EqwagLuZCBFSxpUaExEvCh7aVfOFxAydxW3vhF7Mtd3ak1QsgkUkqL8xm9qZfNodWRfoOGBe3Em1nH1_lqBTPFbX_REhXjdQh-hm2WLO1VL_gCUaAbNjQu3pOVBBwpnidNKqcavKY3mpsVISJn-hTVQoRjJYlVfdJP2iGk1zMjvZo9qu6Y7U0-ov7PwJqkzBF3FF8MvThimi-ju8u4p1oGOpTtMuq1EqxPP85sxhba47Ex4O372j2kO4NYVS62Ob4lvvYjBXXCc7-qRdxKc3dSYMTCnwpqD9gllEn2MDbMldRwe8ySOhpa0jSirjrIzZSYHKCql7cFzkuIsbyCeoi8teSlR3MvcXYP1Ep1Yhxr5h0X3gkqWDDyXqm7QxYGfuCJmfbZQmP7GX5LFPWOIg_rkAPtbQIxAeC0nuWSEJ34UPTxTnlquGYGAczB1oJAjMWx83a0jtUtmluuFBm5NQccL8AbMXfybRBuVVttDpC9m6iNFgps-xb8tlmJUD7vEYurfw_WZfh6hbfsi8spQvUbCMK3wtXomNV8QLh0UT3Ru5U7bbQwGoElElzoqsUOy71aOWXzWnoNTYLnOfiX1K3Hw1NGH3iCzin-wAg7qeikfeFplACBB3WTffIC999StFweo0bDEVIEDpb_3IrxKAmYcHjIw_FMxNSildcabPYxzdPSJ1FVx2PiNFDTpYhlOR3p-LcNaC21q-uUUy5JjIlv0ly8_bdRHrb7x7spUx_tXoO6wETbph4LRMCnGAwB7SuO9va625675kmUWLaUnqw7AhIjU0hlKLhnMfBJHd4wjfX_Mu0LrUdp428dsnKCl74r_w0gcdhfOvbK2BtH9gdiNS9O46qDJCOQ-fp32xwnKGqCCFuqScIjiugf74Seq2BbnO0fC5VBDGDdPECBPOUWv-OXOlUzd7JIQLFG0c6rub9ErxFPIzkN2Kqj2eSVUDqbyRiJJ2sP45NlC4vBnxvRYoaamYM58W9oXALB6FH2yBJ9KqUXB--gdjoh-6O9CkVJvUDRLWrPYRcGoh9dKUBNbcNYxdemRYkG63lzX56sPy_JWvBGkmrLUiG2ReSF1vvptk-eiHtCaQ_VHWTUofXgcqbZo3MuKIsRWwCHHWntOwt4uXn1kGFlXcnAv-MWMqkw7RMfVl1tuDmYUFsWHwl03wC1YccFd7B9YhZaxxzJiEFL5mJvxyzEZ4ceGa-XPcYdHADSY_19uyr-lWhamTgo8UYgiC8d-28v08o9mcIWbviSbAEvlpsAdoCakMlPl7bhrt-Pa71nlSGjTp_Q903MnIaOB7fBkKhdNoiPpoRzupZOlloSP_hZhxI2Z14PFmpN4vJ6gQtoRrekruqBxo-xtn_jUrZRCjgmD5u3OrDHY3JthLC7pW48ZcaJFeP2ZveneXGOHODS4GebETlYVeZp3pBd9D6MiAkr0n1zgVFStNgptciXfAgYksx5aixcSyrMrEChZxLSDiHHVOOyqgyg1I-3Kp7XmpaYA2NmvOLSUAAME7MAsfgQ1gISxcIBOcPN0lUJPs3p6IX0su8WnhYtfWWoskPOT_dZtjEF1GwOgq47pj86XiHg4FytTsA5oaqbvCqrmTtkBDkwxEmk-cVmFHUZm9R3fYwceHM09tVReNezzsqFHttawGpI7scs3zBokXLOYrexlyLHw3KvLzvNCkOwhqEZrIb6gI91yUR8GLXnPmLzY8qyEECim4xSa4tzP0CVx-xutN1KgX_Lepv5xN-AMdteTG79UpmIQFQphBzYyNFzxQOQHZzoA-9zNbJy2Q_Vk9v2asj0ntyg6-8J_blbYqpyB5IKC_LclTCMnRgqZRnHFM-teS_4OdlD-q0TexSIsMQKGpT2NcfUGXsM5nJrphby2wwb3Sh8tSV6Cfb6mKEGyO917MpJ0_ICIGqNMoAwfLixZyxUZYqz02-WGxm69oIf9O3vcECRAPvCuL66ryK1gVtiQwp5szR85N1Fw2UEOBIYu7tEVSNoGiP-P68R1E1L_X7-K3LcRp_-3VEZJtZjlg0yq6L_Bc2O21hDXkWgFyjXoLXAZ-1BEbYkc5UPebog-8MsoHXGziK4EuX8tVUaltQ5mhXBJNVwzPJP9389pmI5xFB2UF0mYpBbBY_9rWXXvCDyevH_9OJybskGDzoTacgY6JzF0SYRioav6Zzf5EC96khLYI4sMXYftlNI5E4r4zwSDPDnqY6ErRmMjMaxQAPI_qkBu6oLq2zHsU4Eku2b_L8ZWN3xTG2U4hL0R4qa4CFt_LfBn3PqiVgtjz6vBQV8IHx8fzrqcEEp1BxABTfb7soj6KtL_zdHvdGE0PLQCmgWP6ITFuNpYNoF4utyisFMyJGB0q_XUCsaKBJpg-bjqcFGKYXm4OQrht-cWmKJbXTgz2OG3asxub-luX0CUhZdDGkHSkangnTRRqD5ctg75FiYDON-VN2R3AJlGuSlOMWY2BDgCQ7PUbcwWNTVyMAQE7sm9IOlfj0jekEKq4_7QaOAvW9cEP_v-B9BY4VrMB2EGDoJ4erEtRSOftLb-VKpAi9INQyxaOkDu64Vp9qLl_Fq10LzLGeylMJQeTrxIRESFCW2uzce_z-qHo7WbMCBq33pgjM2yDu9epyf2DPRVj5iJ4FsIIal_HY2zFt00rY6773ytdAL-MDD43Z_uNfMOj-v0QfFv9-jkFUY6C72eJVgSeKpAO0E6hIdTa31VqD5fV2IiSjO0YwsD6Y7EQpzogqjLbNcWTf3x83j36bg3odWr4EWnfqpGnooF2CgvuSaHWmgLtYdAo3PkK7sy8lVN6WIvj0zZHC6Co2-zrvblCr11TVGwAaojNDm39-Lb6CRlid3d93RoUPiUrIq2d--rzc90zuztQZjRlEYl3YYoyoBzKTA1GvYC1r6vC-fGFtAFXYgY7MtwXK0VDJKf_bw1ozezM9aL4XWyqs7fURqAPvsV85LkhSot_a_5Z_w2xrTDcZNigbEMuFJcsCqc1J64zKFId8KaRmzkd_8RC1woLPmVvpQecN2X6wqp3SwSP-7-PtlTK3OuWuUf0WX7VF7RUh9-kOR3y88jt6ZFW0jTByroolrruDwvE3ttqJ6wSJwefbxU-yqeuOZIvDw4e-w8COPtsocjHuAGZx0GjFrnPAP9EkUz_tmcEYKDU_U2o5-UWYQi2w4I3g5FF1dXYFbHpYl0B2d4kTespFTnzMGTos5Nf2upSW-OymkSCiAoF6xRoi4u6URDAdzWX6VnVx6kJfM_uoFQ-NGyiHenb_I7zZXCeQ_AB0_5r-xkzOd1LRgqs1_stg3HqBzHlukzwuUqdIZB-S7I7wKQtcn8vmOlJKu63_Ch1ckwuF4Sg6OX-d3g2HO2zIZDrhvS18ewibiPKKIZ1MpVjvTnFLFPUuzVJo2nuDvBPiIkzNi2vzAj2_Z871uR89jmnc_Mamnab2NYW5jCKQtLRq7NY3E7-D_dQNJSWKAE_uKgIsiHXcDTN4rlsP_noj3nr2LMeU_ZYFqO7Fk-S5atOstaOVJC97pauQjwY74D2BDBB753eC8SH7HI9CFaLChwyoKg5a1P4HQYB88mgQgDdWwQVemwZm2Q_Gare5fmgdNEPniOVGFHvBgG5zvQ4uLITI832GD7b9TKaAmrKkVkPMPOHA03eHHwa-GvuNaH0WPVl1EaKKwTHDABG20WmbbypKsA8t4T7CUQkp__9kh3LTbxehm1Qd5yn8ljEnQDdrBEs0d-gjQxDXw81kj4npqQY-9MBFVMSQUzDSKW53uS2f-ETgXO08rg6jZRg5GW9tryinOO0eCdAiQ45ce_LHATk8MBXpYg036NIQkzbVgIINN0jAITsAnsD9jYXDxm6dix_QYml4g_q2GUckWEtCT5R-xbjs2eIUMLTchn_OiPyuYNrxW42IL0MbW0ROr3oPb9aNTUJ37G68890B_LGFE1roJud-gKkXhjcqQvLiPV-xcZayUZgv9-xyko91rjLHct0-4fA0SFemX8GtI7IzY7P_8suXmIKUEskpLAcGgVp8yXqwVtIGKAv0dyOwRBGpGs47YQitBGDcvYM0CFI_MxRRiDpTqUnKek4_g3SbNghKtjTJC4UIbsTn1ukxG14ryH7tX0QeRb9kuaIxR4kCFo8lqVUR7u5ZNR2WI3Rq8o8isbdos_IYncJ1X3uwx48IQ9dpBmfjnZE4tLzKpYUHZPXWqcKMP3IFEQ_334GgQvy7GrZF1Mn_-gAg9h9RzLtdJ5J3Jngkn4dMnpSW_qdJ3VmqoLEUW86UmCq1GVNpWpyFCFJZM2QSFb6SQScOQGHw_dgbcYnH10g2mzlYhm8NMRAO99vlUPnm8TVvZ63-a9UjwlS-b4Dl8mGT_epGx9ao8kdGO9D2NvsB4N70-By4ogRTuMJ0MG6ZHQ0pmKeSPoW2TX_NfkE1b_arDEJT_e93JcYNLPIFsn_Z6-rAfYlFgFtXe_7_jjMfJhrVqu4rnJEEW9h9ghoF5Edns4lb5u0H_HcC4dxTVV7SR-X4VoJhUWzBzySua7y-RCVHAIRVaj0kNyoavU4KxKhB-Hqg3LAcGg2mnVPrRFw3WU3ZpI7WozMGqzoRwGw_ItrHHAjldd1h6wit2PilJw5d7j3711HLcj1ChqSC1VNQvxFP7ktCXWmFRnUMpXuZU3FhY-H7uXwV7V5YSD7kQjOT9oezAuWxEGOPlVeDSFDQzzFz40FllWi2K_E3Y3Y8h9LNLHZtxgMWzlj8U0egsSlU5GuOkUvadpDUNlzHKpsIcjITnP3c04YFKHCqqCS8tnVjgxCVk4j3lnZ8acFAtOS-lsqjdQJnCwpqlXV__Z9_H1f1SsHwchhnzPhKTWX3stWHPlaPUZk3xRJlsGXSZNgAw0VGpoYr0_TSnEpyowdjUz3vkjyJnK4gDVnVQBzFEy5dszntOVJ95eiy5b-mlnQZX-O7Xm2lA6bk2Azu5MWQuaMnadvZGhQpdNQJN08Ss03Nvc4z6eRszAJsv1XarUB3qy8sEh_M28RS95SSdn1piQGG1BoYL46FwD4cGVjYFnGbKns_43eO0M2ikJi_8W4KBB1Gyo1AIem67NYk06a-p7C5OjoxiQSf7r8q3wVD2MHG5K841MoCCeoWgD8bqJA2Rj58sHV9cwSVGwGibWtjJMTaJEif500Wu3aoH3n5d7SkAKtcdD-heuH4-6Tc91XCKPlsuSrdmQpyuR7oGI59s2kwR4Ec4dA2H3kxmfC9rdufHkTx1RrJulIPkeo9qPWEfU4qUyHSUxeOKIoE9ZcZG4fIDRQ2ueG4kztH3qB9nbRuC9yUnl1oK60yE0YYOymtpRPzI-855hQvGQDE9TdhZ9ajS9ifc91hKCJLlbr-mNhHfeanBzxmR7dVJ8RkamfI-fXXgRO-iLGlRulb7WDWEVNbqasiodZWXRZXMgvGsq30OD1RirpeHny8a0ffQ8BpQaWAobgRuB-dEQBcgpOAp8mY7qUoDiaN5IIwss6Nd_0XPdOnuLOMCLnuIGVEIg89IY4Zf1Mu_KL_M6S7Isrto17jfEm7Ph9z9C8Gpr-FTtBVRm6SBYGU7YLCq4G3hJUBnmeIr3DcGz0gpBRPDbvJ4Cez8tKtGFaEAHxCGyPMjfDNLSZp16CNmvqM9W027Zw-TtWY-LXV9GdFNhpYM-yOeqRVDQl2XBktED2Dyr3MwqoiCXgZRE9dhYSInjnd7shV5god2qrrOe8f7LBNpmkccqMqTuvVCXNfaAS2uJBOv2EqJpWiqClJpFyfcgSbo9ZIdkFCJMNH11nPDsOlQENq3BG2r-9P3MpB_PxGvcjB3oR5Pqx_7m9k9vYfNmOL9Cgd1TjpHRNk120_CLzMKfWphjvY0C3rqlPt4LUQZP7Gf1pJAXhI5RUYC8QFVuDZUiLpAb1MdYsWSy7A4tP-Ra-efxn69l0Ai1oXDPjZg5exoa8217rm-8tnu73Dm2_Zf8dIhnRUT80v75djnh9xIV0iqJXno5R-1EwqIVWzagB1auLFqBThPtD9PZagbM6vRkkcAcIZARFI7etxbdQULSFezZUn3zSE_rRAb_nCCyqQj_uiy-GlVV6BtfnoUIjDs9WRs6zOcwOHn3KzwUpjfUPpggjYSh_Vr2KegTPYNN2AGfRpLpTxcCrvjIBh1Sj-g6yWVxmz2kiwSFGlAsW2zNo6vYghT0UC1gjskU2lo7fhy0Wddjv4OX-wauFVLQeQsPXqpwS4m7AxXEt5EJ6sKFwkheqPJjmhEez_bzWEznhP6KPyY0cbVygKrpK9LWKmJa01fhgA9E42qkX6nDf51jC3tU7L1W_e821jdFYNcOGGDuQwjvZTuuVfNCZ8uWsxZlfg0n0I3wfm4DwqNhCIT5G7mwZm2G8GoDtzWRmzgOT2wi91RpoooIej58_6AP_nXKn219ZIR9vNTAzhsHy_zdFLB3onbWn6vH0-UPeQ5oJH-dZrqyVHBx4YnymVlypwB1L50AwU5Js52eQSXRLpduvqeapfGAx9AwA0BQZWWhxfRLCA59XKlg2E4cVSlmdDba1L4_2WPYm94kIo1ooyFxvdNNEiY2APftUMSzD_wyclaVmgvTEHee0-1Gx7U6mYB5ombH2QUWde7BhdgQrCz8gAfwawow7WkakgsGfBfcisVHtflnmyMy3Lzm2K1iV-Qav3wiG-dKO0xR4O20CjVuy3AFkvw5ST0g_zMJxTAdXmNaXTf9llsKrr7DttYP-Qb7JlUUjW11e6hAHoXbwBomFqxM2zDsFzL3ImmJ4-uaVxws47haQxsFgx62WgUEhijqlCzaBbuC0KPeR_K4_qIk3BYf7Uk_wZ3u73nTpFAtcpkw0rPbHTr6lSoTVyzq_MuZ8Y3qIv5TSc-Ao1VkckG9NFf_qHF41Ro8tqJuDRIml3X6DzpI_W6jfGefAoeEZSIQtB3t-k_YXF_DLluNZrOEIy-k-V6Gg80Ctb4_WXXPxWXUJE7TbZZL061daT7nnnFcklX1WnCrlx1rrPWoZd6I8pR2sJOu-yuZUyaTTz6WVnOVScxEQv173mrttHnw1O10EYIHpy49vCgYYMSArKn2TEO8HNo9A_ZVFZ3OYtGkVQ9D1NIW3HfZUXlcM_J4vhSU05m0XEXvXrJFrvNMOPnmZmaUUYpC4Eyc8txvhbbdywi2J2yG5slXb-RlD5cA50br1DEOzHG4LkquGdlFjywJ8hXGTovCnUcz4XF-TJ0z-FpiGVvcPlGGMeSUi7UawBK0wYOnlAqAXlEkk-UfpDzUAtALz-LdDWyTai9o-PlPc9Y9KAGxKnEdhuCdrt3GfHQJtT_WM-Raf0jfnT_9uNYZv1BmE5ololE54NSoQ37hGZU_5RwovDnYxel0ukoLeIkZFHP2KoopgpWnK74OPb2RUQcmqlpBiHhs7GBhyehN_If2BDMDclakiSS2v6_j6fmhbRkMrjDoatu5MIoxdPa1IJv96THT-iyLJqVCtYQZK7CRsSvwbBUpNpuVNFlrMWcUiVJxmMyuqE_G81eke_DdUX0DlubzR6Ri259BhJVhSC6ky7dq6YS5R_f0C6izHwHko9b3Q4b0JffCR27Wum1Ncok1jgpVl7hlaXRgkBvIvUJfO_Vh-7Ycf8hBC0MzyKfg6MMv3krCUTg8emKh5kvRNh2bjC-JWnWUsEoOO1qsUQIW1jUZ0QJGNIJoP-CHU6j3HMBvcMnNfM6NmZZpxRWj_iQ4LyHQfEUd-Rxs-87nEqkCjGBFMhPYMXJv3_2jDn5G--ln801PdIBPbYogqkT55m2LmJbFbdPcgq0Pt5WZenf9JU_CSFMFqQZa1BJ3ZmoIE7cJ9Q3xd3fQC_C62IDhkvDmpHtZ4hTsormK0RMrq7n7854ocGPRqIZ6yXSMZVP4vw4-Oto_LerBRAtmrcKlW2_WV4rJ50Eq38NUUkLtc9UW6YWdkMPez_Dwbo-0ZJOecsLuRZKc_MtTBX_CEZ0ANCGC9ZRW7kmC0ycArgYZcek_Shm1oqY3ldG_g95OpCznUjJxMjVaWLnFaceZewsykH1EZVYNB_asEr0uOVGoSjB-ZtLOZWKn38awORkBTLHl8NVIKPYoEyiy7VVy9ND2NHepekYStSvF8sU06z1VXmflHCGxZtbg9dWfZzFZVuJUW5t5zBAiH9MIgEZ7k2vPQyQ5PhYF77MoWm8_-spBNE7ilCdjWJMsqZQzUZCo1BsaiVDMyNwbjKFGB4exwUeTWgpnneqEC0r9ML43tT_Ly0Nl2uDrMamORiSeup7fs7foVRjgSta6KXS2Kj1oUjjCr0dPPiz7rg2taxzRC1zuHyCbzQx3oMslIoFCwWuYCA4eWoXCV-JsTQ1chJ2l8rFfW1EdpYBILZq9Ned_hHzArELEIO8rI_m-UyNXd6k0l6ALt5m2ukZadAGfzcynZzpHYC31OOjkSdXF_Em37xUc0eSiS7W8QMkFFxSUJwCOjY5_1mJwEZScddK2jiAYZ7s6LH0k-_V-S21AoPWY_g3--o_GK4is6bIrbHaXz3UYz3-EF1tiK9kHrRfed5cdp-5qw_lHfLCncrIKUqe_-JHhrMJMJLqWc9D1C-akRBhKRVe48pguc8xDDRXWYcC4OqkXNK7fKQt0LCsxqk8XKgYFj8mwQegtJg0mTx1STM1-gyIvFpmpHBKqH-8Dnv4xTmW7GAGaUth8OadATY1k3HZm5hRTm8nGNYZxVuEuj5PMKnJPjK6iTGgBRV1cNO8N2OCwpzPcwgeU82XqHfNxhLoFqGe4Cx4XHnTQlt2c6iMUa9ynwqJPps8qSlIgMv9dx4K3iUo2kz7CBTVsJ5Sm_oegWad_oGt9-upFacmhvEE9LsIKdw4FvmDSLOkTCLP4xQLUyLPGJSAedTWbOGDLn-af8N2thnnL3gftOHCvLuo2Fd1LkqTr-NCHLPj4lg04Aq65xG0iRUXFc120C-EzonyGvKyHrcBTPV1-YfPM4UVAfKiNscc2rnzzEj_keJBqTwAv4D1sV97-7BbE3GpbmbF6h7vY8LI3JSeboL5Tm7W5WF7z67pMnpnQFFC4CVGZrzQNwAt0AiH4zqYpgFVM2zzq1T3V_kuOoevinu19aDQlFwQT5bGNw-uX3nI7LqinNKXDpHXx3MCJ3SYZ6FpKnQ5ZmpwSlZ77WkNb0B2O_Q0BFO3M78cMjXIzfs1pZElRdD_NmDUc6rB8If1nK5YcjB1b6vPpEovffyqLX8iYTlhzscAZzBi5MgLEunD4yI9tdHsu6DmzQzEkNT3NTPbXB8JSAoL8huICyn8MQjmTaI4CX4QeoTpj1bBeM_P7QafNIFaA_OGfbowI0GzeTP2mixRKB9uJCldeNUZ1XWP-lYKXH6GF3-W4n9ytcwaUzmaoN2aTYPDJfsy7bxI1OkkxX3ZKai9hMTu_nJwklo8qBX-wqA5Ls0Boep2BLdep_CQVeJ_SOPwr6FfZKU6cmeagCoz5jYgDUTKbjp0EXY4s54WNiRUfYzdscAOmU-xLG77dxXEaBtuQ-fEl0tFg3_3CbmRnI1wWMIVzip1PHyOWuoXUonap1yG85We7ZUqJEJ8Jhaw5eYsLC1m3EkxiQ4czaGTfZlBBfla6aW4xye_K06K762LGeHpe_J7xXspFLHS1QdLAmlW-_VxaAR_0QHDoeEh3nXAMM8-njkf8Pg9mGtXOa3vNSdI2-S72L_aaxdebPPnCqlr90UvO1W6FUzzPZzoQkol_U10Hg0rdJfTT8RPZI_957HDGY8N5GhBsBAIolGIbzKkLydX0KhJwd3q6_sWb64lEphzuoBgIi-c23k9akEJ_VVQwHczaRZkNX1OB8NR8_HJf22GnF16ulregmfH6rcn8mkYboxHktaArrKo6VOvw7U8H9xFefMFlBhinAlJxmzoQ2Z1_FwjiOpVvWY6rRbFCzzWw5miLs5U9A7eIAQnUH_WAd4q6Y1gqFq8Qb-ypVtbJcWi7pGIaAm6eK9mN1o4E9S3Lsy-ekAThBrREaJ6599-H0vvXgFwlvU_KQROQKebh3Ii-KtrpHrznwtLvLsFDCDdY5zhh27mKI5PFIbaG9c7ewl-4Awj4Ighs3Q7T5KTOaDnt2H4u4vyH-K9vYNTi-f6m0r7og0Lngubh-v-9wlgWrMLvZoC4YniIVNQmT1ufO6Az8j6Y90DrnFOIYFJO4l-0lUxUsB8WVU1vHRg7_NuWQla4TC9Jit9CKD6frYwXNlqZnNlxI1LoSmm5EkHybz6yTFd7ObXeIjRpnCO9GGnEU3tcoPcWP62fCXpNJ7YGr9sLamwE0q309QFZxxzHUN-KaOwr8XiQRMYcODaKv0xGSIb-e7APZz8Ck4xpsyx1ky3dww_6JSt422r9yobI7puxx74Bigr_6HwlQr6YnzXtTLmiaMsvN5Ku_vkaHK0GfZ5vW3i3_7tFiRrjK-tRq6ljZzbq-8f43gCzvYV6lCmtSdDI6-Fhcvcf6IHDxxdfC-zan6SOtujsEMzrke7XMKznGjnsDgflDKZfIO_x7DCuGOTR_bz2f2pMp8D6YSRSENIXVn5By__VYYeTnb_h6ZZxAAAHfap62Jr74ishmKx8dR0t3easuC9LwukxXPziZoHKCC2XUid1dffAoE-umh3UUVaQxyGTk57qBkUy-JyJqsIUUoYnJXpuIFm3VXUu6Zlr-dfirYGtWGP9FGZtZDPaB-R_CmrqvCWR1ElgOoPb8dDpUDtCVGnJpeGBeOGxzPzX6WEjplZv7YwFDMnkGMblrqN1c-X5udlmRBjF5zHsnRV3yAb7XGQMNlrJ8U1TIObgm-oxxU3ChS9q6e_SkV73_CMSRlwrygstaBaNv7KK1dFIGIg1RnvDamOXSBRdzFGTvT8ryYBhzqhufeCanMpVlWvQv5Vy8U-GyCsRLoP4skQhuBUpSX6IrmcBpFh24jprsKb_Ux_uhiaGlmM6wJBh4Za0498X46wRX2-3wQNHFdnQqtoPy0s7-Hx2Nv8ZGaRB_3_ZIsAj__6sBwTHpfwZnU_7jL9Ml-doGxTkfQZDYZ0R4CxQ-4SLCvDipVqjsHO21t06QGiM7-OYZlSZrJszIP4YVDGuWqhNjVnWQzmDk4Qf3ZF1r82RUpJvN03WYHeIfHf_V6HhAbj5Pdjlg0yZnsjrgYGCkFk_u0aUjA_tpaQlfJ7RdYwpAgj5wLA6wqIJKUpTtdsJrgS3TCCQC9SNUT8plYR4D1nxBkrsXAnsYjAfa_giYFiYyJlthwL99_ZuZNjFNwuXfd9ysBn1ASDhaV5pco8hQEmsxTdaVnIOoN1n_eG3gm_vqOAjDIPz0RNo623Tv9oxUbxjmX9RhvwbaxWQzZXeMATUAjnRB1eee2LmOkJUKe1RE28516J9gXh6aTKWeZ-YKOHVzvTLJ5mrXfzIgtxs5EyJD5dOup5w_F3a-30674rsYXfUKGMZf-oMkIE06w9NreOrW7kJgPJQh1nMY_TFBwSEvzdpBJjZ1sJfsgMsgsJo7j0nXolfccId-ln0spYzf3A00u21IWiNcgOzlzuqTTeCNAcHdhoUvt3DekznBJS_narGacbpVLxYy7m8vBaYxxRn5aAYxbyB7zhl0j39gvh08d2aYTHHC2ibSHziIzKRl9yliYFsG4cEYf-SccT8YiMCUnXAU4rg3b3LmTusvRJmdC9uYw0Oga5bLrJrz9lbBnonoHwKZV7rs7n2nrk_RuAnO5Zl3TUrVjWmNdCyMOtNvd1LYB69Aaq_9vmOqWOtKDS_6TGkBZjiQpT1xIwQ1ZB4ZjGLNf1dYBDpBYKxNQWQRsOGt-VnrweYIr9pJCbGQ9DyRStm4y1JVgg9IPA7a8uwKRdkNFimYFGin4k27Yquhbx6Ir7rW-a8AlD9FjLW33tSY19sFUabkvr48sHz89S0tT1ELnR0vXBBdiyRIQ3T_2gbD4HX-dsy-Itb2fYoT9-am-iyS4ZzoiagJ2xcuDKCgjjBYMhW8pmpAshmzwXkaBfVj_krML1hj6mLee5zo-m0dnSZUUps_ucD1mSQ1ICqvoLb8fL-j5kpFjqA8NEVdFBRUDYgxepjl8YPzdCduTcAP6x1HI79z0-oxnH718VyYzunpdtcJDZ0LqbfzW0nGssJClBGKhzFrApFwHfONQBrTT3gq7ueH6IIihvRxIotYftVW6cByfBdioyDRKaxPlRcF7CdPiBaNmN1Ojse26OWfh1mYWRM7LaHDuYpCmTCTsOFQCscOVXaEYaM9YdVYb0ZBdRiFOIhHTeNEaa3whlBtnXhJX_D0wXivn01H3TgSc1sq6UjJ24vqtD_4pyKbLdgwEPEgkx-Ko8FIQX6HedVa_S0TGTXHStUNzLyyouE2cz9yjS6x4PbdV4hEa0kIC2FLwWj-O4zlPBL98soFnLCYCnAqprZfoyEi6T0Fj97y2mKT6VbEAl4a3TnyS1itODzh3tUQYRSACnJrydSnd5o5mlOXlswVzQZzM5DGnymdDwfvyU91AIPccHTGaLS-ZoCrdmkiQFT0s9eAKphjtpgWTFaVPx6dyuvQH6UdKf6rAmbI75d7990PJW1nMgKAdFZ0LltA-qjVm5dEcVG6gQyfMVWKjQbnCD6eKjW5HcPJJXOU7xSzt8XDMk5EJgAazE3bJFGjpj4MATCCy2gsnfeXIxf4MfWH8rJFKcwMTUujQOyBNJgOpoYybuHbDMpW2EwH5NaxFevSFX-lQ07I5aOClS2VcFaHFVEvjWUM9k7ulukmAcLsR_HiTX3KbcbW34OzmXdw2vVE2Os67C7JWfvtFrZLA4AGSougSs_DldSQdI7qSuP_-oXvhUx_OUIpWbE9rSCU7SjaSVbgU7g6SQQLZ4E2uvzRIJrlpxCLfZs9M82HObC9EFv5v3dxkGEY9N-_Y0x7scxoRSL5Sadl-BtqDt-v-PeqOP-loa2-LV9U7aVVqc5RC8ytqsXWyUn7cUjyjSZpdq2yW2c9EslxnvFA0Ty8AuHR_dxJWHTSLwQLZQ_fulcz-VipoulYStGJDX_9zGIDqTaptWViAyufbotsrCCYxD-RnanoeSqgSeUaRUk4JkbW1w94-s-BdUtsfFrl7V1szXU0yiyliUfSoDnCrxOY4UiuaRuZPGWe7DKwGiAAeYJ3h0xOYDzDcCFL9ab_gcR3hdZZQ2oblk9bG_pnlmZZeHVsVeY1Lyr2pkPu7E_kRqdw_L3-J0A8Yn95E5aggHywuDD_QRL9uJ3luKwiv2LP8ZO6GybWvv6I-68gpkfnGwCcZIK-IDT9FP5oGEfI34hUtZAfQ-RcE3f-_Ec5YLm3bFskLFcb7ZmnAlh_bIoE6aif_g2JQE-hFJPfX0YT--PS4B0rBY0M8CXf38jSsh016xRollyfuzT72IMIII2ulXMxcTRg_mfiy-mKDu0qp1Rx4L6qkua-7sYkjSZ0C0OgjGu0-GiIH3ivvAE29zJxjfbex2Fc98vCNXRboYQNT__Ll353xDFDLkHTp8Y1I79Yq-wz9iGCLGz6sPm5o_Sv5Eb-sIiPnv23KAQ9NuCI7WhADVGyk1Ax5OnTRk7Tf5an_8McKd0ohDCjWV8oRM6l9bOZIa_jKrlLj-EmWH8JJcgX98gKgHLXJxMZdv4gSqhSxLi0pzWgkNW7lif_YzgXFLumCf7No3gzBQHWTRXwhB0YbkyRWKNEEC-DpYZNmQW2UXzNbzQie6Ehs1CVk5aZf90htSnMLjpPYlt2bP6Dlg-iYfs4PUO-CLLQnbzxAQg2OlUhRaTSQGTksH6tjIYW3xao2-FcyayGB3pS7N8mQxmfWwxXbHHiQkhOlLdvssK-F9Uizwany5K1HySWuKUSW__oWaqrfRhWfIH-x-ZZ7cGlQaxvvb4u05NmRhFWIoMeCe91m0i1ZDNVdJU4RwLbhTqCkdclvCw8kNOhz94IrWt1iorh5Xj3sJtmczOSGXSZAApQBHN7pZSikc3JypWy5tfQX3oKYLQ34F3opSWHVnlJSe5sg88wEGecQElQokjLy9cBOryrTjCyXL_LWf4uhznUm_CxXVvUWINFgzYTWNaaMlFKoI2wyt4ZAD0eBqJJ1DGjtWYLxjPzbkV5a-dv7a-xFpYze_vpZnyXs0WplRzUClpO-BjqDeyr3TGCLRVaD_2C6rAJgnABMqslOFesGuVD2dOfNJDahgrfLogtFxBjoI9vEEVB1D2jVg3QnWE1rokpXOo9CuXzbiz2mFbf6jVvgQk0kq15GBYXhfxf5yrH9kcePqS7d5psBg3V1sJQl-cb8AKa5SAYoh3CEhO2BCMuFIf5qYmbVsmbCk0gYjZGeCyXHpOCEs3kPMnqaQH7z6wrRjmF98ZQ0SSZgldeOdxY_ta7YXpH2nZ8fJlx3Pu8EGNqxCp3lt5fhATyk3DDTYjd2wd-ElTMbA5kwD-8yc5HkpLiTTsjnKug2zF2fd6xOahx4KBCCyDHndbluLK9L528VUZcnKL8IfSREhZ9x05kJRB-3x9gDsPMLtBoRz22wGiH4XXNrC_V1S8Qc-zaD86tgTqNHoqf_mbnpohJw2-DLD_TOHvS_SAyBlh0feVcAqDvDk6QRRmcsL8fwwyy98mp4dbUHYBBfTxYKlYnmyU0ekLOfPWhqyeHFFKFbsVyUjLcspb_MXLUR-g1xWjaitX6QR3l-3F1bAoEzneZ6_LjaPbscQ-W3Gd7gGc7Ac_tfTZ2QWutSH9tgXrv4lBLlVIK5xIYRbVMWr5QF4elepYgdZW1ZNGbz63pBdri9MeIEsUMoqSUgYBk2Uk0dXnlkM2gu6ILmYDoSION-HGZ0zJ5INDK3gn9cyWOkFIRweUzqNJnFb1N04boNdfnoK8eE2CKKMPzzwVX5EOe9SjS9qgpBol0gomLV7rL0aOu_7gRXWdybbS62oCIBhkMn3Au9Bp6K_L-j1loUt3Bqdk35BWOwzTluv6CodyvXaEAdcGvyZf1q5ugPAXo3GCbhN3pXYlb8sgVugXHlVYh3UOQfoxVQSuDza-K2VGwyawY8d7oMvVuu_BKNJkOtGhGIF9pS6rDq35C1eyBCs1Sy4NNM0LQxF66klI4DT3WrFiutWLQA7D97Pivano2J82CioAsdTNgAIZebdXs37AQfUevZ3McF4Q9_v5CxMkBEiwh7kTPdLXzXsrDjehOc5EmJ25moLLFzPuB1QJxGNF-aRpVfqClvZqJkxJDk7P19agou5NnJTVA8nwRGUT7QwftGxxIpsDQoSRFFOLr3QaDNX-woKKqm30ShVF9BdTI3FuqNeJ9Dn8Oxbt9lbU-gV-i_SeN13I4neveRg2HH7Ul7qr7Yd8tw9wAaLztZV5pKberAV6id2aJbEkHGRPkQ1t8XGp6AhvWXNNnMEUX-mGw3m2HXU7tevQsQbdUwSjYOwXW2NnTUCX2XG8SaNkzfHp5lCFKCGarm_tZ_rFVKqXJ8Qo8EecvPfoVk74rzGFg7WZ5yMfnuLA1gvjTmr7C3Kjqv1PNCOLLyHVm0mufooAHDIhfcfq3VZp8qWL3qDeUJ9PNP_3k-YvWt4rI0bBF9RRS2mdeLhm17p37NQjvlWaG1ia4SqpkjWBQrvqTBRzMQl42MS1WsFdoBUZtS8n9H3l5O5tjuu20NPvFoXm2uAn4kJwOZK73nFiYijkm0bLTBBGN60n6rNMSyMEYo5Y_RYSTApH0tOBU8yf0Avi9fEAywm7vdFbJFdnvhKIqj0jO6NiicJcJqElnWq8nYy29Y19o7LGXebI3vOI3S5rpUaMqf47bOqF5_gbDleKPquYT-W1h8vLvfYRuutEKn8B0DLGawT-J5o3R8YnzaQ2jAxw3Zppz50eKRXuB2IGrgFe7yAS0QAUb7NXOHJp3sjt4SWB7lvTHLisIZQgjP4YKqQ4i4DDDDNvEMUzus4stAI64F1XZZfYvra3chxb64qyk0T_W9x5QJlcI_bYly2VHo7HxfcNpOagQIW_7Zfq9Ajfjb2vD5om8FPDVCzkyme_B26G9zemaRGUJMeZ_00rU-x0pnWo_-yExeTb4w6Bnk1cbxP2I9l95O9P3pC5ABtnI37VQQGjgH0_b1cSqt8OlzcAH30wVDvfkwmktD4_3Rq_gnp52mgcfoL7KFKFEs-6Hv74xN1hXCxW4Q9_1dpNWK86NUAl-UxkrWq2zA0T69-n-a3eLBZKx0skvHWYuY_DtbruMzhFImUOhyEFfcAhQi5euVCvSELtdEGoVXQHjkBxTgUOGVKvMP97BPlx1nmUKVg3BIV5bPfh8N_nsEku16-_S0UJh4_615tJmQvNCoyMdgildxFaEdzYczNscrArC4SvFlj8JIZIKlx9ObrVPRG_79GDyeV-W3_N92Ab4hmLsNM3hBXerm_Zbz72AMsARdzt2tncnxbSy5PXGIVIXw8KoAeGVOeh-G-ioBP5fjwIm_GQJeMonr4eAC3kYNd2qWjm7bch88-PsEoRJu5gn6p1a2ZRIC5rvnGYYNU9z0KQeDPUZY4bBwPG6qixItycjS_D_qITWc0StB7yxZAOUPLpGZPEwKgVREE7L8_GsyYuymp2Ttl_0yZdyjQlA9gTb8qyPoMhLcEGcm1gcPi6a7DGVstmGJ4AjnXNAlTkWPDR_Jrc7YDa_IU-nc4kNn-lGo3FE-CYAL6EKgD8WDyYEjxPsJF-rt5E7Xr3kSxgSJq1JzCZOR8dPcfcFzW_2t-wyyB7yeDqQPuy5H_mYi6moMIi-KjYPkFsRfwQNswM6Wh7U_vCmgYhumbSbFb-flg066hS8YTR8ZaUqmTRfZ35EYFq_sG6yh2s_rjh7O_n71lg1843SOidgyFbZTk9oxPat3n1mJHAnG8b_izFNHGls1HoLzd2-3tBAkZW2xzaUIKvpTSgVIpL3Ey_P2P_tnmaKfoLom72n1nGH8Pb_LbOOOPohhv4Vi9WN6QcMZEKPrQvnYjSknfzzeCCxDCTl-f5gcKpiGX7OtP831hCItiLLZkxEUuOIZ6ytPDY-HsfXYqveSEpVSGIrnEuaaHQ9viB5GQTHarBjbmv6NZCmhECWwX64sK9vc4ggzMqYlGJLCUhoEmeyxRqYTRmkCTLQOByA-C0Mnq8awuwmCZ9Y9lrljvY44C_8lHhEHwGrPZFlQTYb9XRvKowqQmRHgrX8jU0xJifKshkekc_EiR0PLMfbpvjpLuBTk9M7dY1U9lXi6AlxtjH8wQmSMZZ72m3NZWQ6TSL2XUEf2XLte2PiJBC5X1psIuOqywDtmqsDmVRkmxoTSftIADsv90BIZgmancSEbn3mfP6rXORYxZvJ4D9ehUEUOPPIaul55FdaivltXE3DNmSvzx711LtqATlH-UqMzTnB0xT2-ift4kXE9uXINE0wgYX5MDeKjI1ZrQgpSX-g4UBMqzyfPE0dcqf7kgDsnwXpT5hj_t-k6uCM_g7QV0jNhyjcwVCyCInHbpKhDOlBFRwBF6gIKqJpcTDCBOUNfzUM_pAKobnfR_0oxQkWLcK9nl-b64XOyCuZCSJgXgCp9coiJzFRBwXQiOny7TJXgGsdmEZGRE17nWEFADxViEB7MLH2aTL4QmtMSwNpLg2cYRlZmTXxvWg-BgLWs8rBHTFh7AtZOD9eYlPMx2lulGB0RWFElsdmf65g-BfPFbWFlPm7D6hTsy3d3HElp-fzEmS-G9jqV9Ir1g0Hphu_gnvOFWV-2yFQ8Pxwyn6H5_ESWF8yi4fIZ82q6qOV_TITXN4y8IGllMI2Q9O-P3zTqIR-o8X0UCMLZISIhfCx45tWYPcYazDZgfvWdzlkzJGGX22T0jRZ1N6jchuBfvvvdYOI1oTrctg10sPbYPTqv9xIKXMYODAk3rVu2N13krwXr9JD0AGlpbk1TdEvf1eLYS8_z6N3nrrSZv0b3amWQ_hPWVJG2UwjDQOvrM-hsEa9sO3TCVRZHq-2oorxFBO6FFAF3BjdYfjpe0p85BfLFoS00Oq_sPjS16aY9PmZAgsKHbUT9nFYZJLVrRu7npjgr1LxCUokhY8xxK1GNcAD24uw5Xn-58OSU4ZhfYWhDzYo8n4kszhJYBrE__MeyKZJqA50KB2AMXR0vxJ4bR7X0dndu670FunL_caLgafEtACOMYAvGcHnU6sr6Gd2Y97qpYPc3K-GZv14h_iggNHQAwMJDcTdQhnz9fEd78I0jOFPSMcKFTNAAXo7w0P_NGZ-cvFWbnVhY6Fst7lvJDJemYIt3PUw98X6dF8f7dpwYRdG81ZzjaYigNYaW-uztervVlsaXKhUuGIPklVAQWIqLO3Q8DZ2NWebPZzPKvT541bpcN56TSyaMSFOCc7DDQJ9Ht7GWpjd0PXRcaJEKQtAwxjAsEj0EQe--SjlO5KjCJXR1PLQs_jy-MIBGO7TdXc7-n_toHARIIoxrKnKmdY0iuFDQOkIZ5aK39mrNt3sUrVfuMV6vw0AJ6MKaXMLORYEZjlvFib6MdZmfhpvrp_nck_q4aFXV4mqqTTohhsD8Z7tXCtJw1XrB3eOWfQ5K7XBNIa4NBmb6nOTHG2t2aZVgTz5RQOGAvGxdXJ4XMBCe5GlWWj1RMb50aCCbE703BoQE27SHu9oLe8KqTZJkAXToy7Fvt1mvjpTGZWuRLdWl-NFRs4z3ZPydp_ZIaKRoazNLHoQCoBG78VA0ANJOWHYrD0f5sfv3ssvIJVEqpa6PAO32hZK2kRHY1-oF0oJWoiHIhCzP7GXp7TEc5wUChliCsx3YPZi5Sc8DXJFhmmMOUiAP-DGOOfGnLsDs77ktEkPqvK_uVLJtg4K-fzRqz0MDKrYbFVxQG89Oi8GzXbsInK1Efpje3_qeRD3iUErJPDVWrAccBfig17RGiQfJa0p0VjS8djWAY9D-zCwzwCJMl0e0RoWISOMHEJ2i5Xb6L5gA7ixNlTec4nGWZzDQc-8BSN1LSdz0q57d8iOytpn6qWQGO3iZs7WDs1SNSBf2wr3ba1f9Jsw-CunblHcX1qIfkaxMjsENZOjp9elk78FPx9fs8-ZDuvrWU_nHrIH11w8tCHhONB8EjdFPpTfI0kZ2Z5MvbRRWbnLUA-6EKbe0NM2djSudjM4qod7SGoR_jquup25VZE0gN_qy4w1TawXVmQ_3jt7_jRT5Qn6YQ-bVYj6b-hDVI89a2hef7e5IBMzZCucdfe4p69BKSgDrP64iKIa2a4S-Be44-Xf9U6KgTiIvPNXCk3QGN7JZWpOixNob1kxtRe29M6mcNWZYRSoKDQZktsHPTmNX1TSAOx5sStVNJfHhrjtPeLmUObqksMWkMWMUpCaZid6ogEnVJ2p97U4AB5gHutv9tFZfYXRZjgey3L9bHNvo-rkSUUw82AdeeT_DySQ2vBehMY3fm1FWt6ZPfO4ejJeJ6L-WQJtmnRxH5sArs6Hn9NXky0TuAaIX3-sNRsvh4b_zIlIOe2XcAoZ3pVAIBghIlsauy6ZRpvwpIHzUMJ3BkzjJzj93-tGrerAmOL5DI1xx8kYVUuKEwmu8mJRZqjeqlPN6B85MxcINSDb0Kd-NG0upKCtztveyCJ4rlUtci5rnJob5uesp6BZZoQFfuMGRYgou_ZnM1z08Ce-KckC01NaDzC7gx1YPCi0Ni8iDfQHatZVisFqHXBd4hzsdtBUW2OxN704T3nm5jBB58VNxLaznbJE8ssJ2tzkofjTYncU3x4DWI53Viua_k0jQD_7lLvonkua8ChD4puvik-JVRva1OBsWFHauypeGJWWuw1PRpW5wpIo09gUzjn14Xk0XApTRkiuVCtCmJRRNotfdkD3sLU6qvPCE6DfK7hJ7lJ64er-Ep2LSYVqKYqBXH6XEmOuByV5jIuI0v-6iAtU8KNJH0fPbnZVWu4aY97AtMK8GPe4vNGgR3rQ37qdRA_evMbHrwvwPvPNjrxx_PUFu1rrngtfhY_w8N9cu3QH7kGjrToJ--ps0eU30T1q292hNc4ccG0uD5-xG_2V-iJoGpn2SUSEkqtgykMCGh2i0yirsJUMtg6IaJZ7UVev69ya32IlKqQnPP2S2UAAeAnmim85dnkvD1HAd2YFpZxyVQAulkSj8KNpIthXc3BC2dpG36yYgjNh2tyroKFu8uJXJWNWD03-QWKSOYcf6mXXxgKV6ECoy5rcR_ihZyU5_mwfJuGUJIg620C3gUjkiiaeWug5zz4BfntYZ_oQHyxgHjYAeZyKSVJ3pTVpjjDt9UGWOCGEarAeRNwbPovByCemLw3J23kqIOed3hxtwWYL4hDsgHC_YkhnyWrUxBt0Np4YqrrhGcoWAvA4SzMK5_r8x4SFRkHP3a6qUFHnv2xtb_5t1u5-MEq3wO3ciX9oe9Hv39oZIEgr0oxP6UUPiHfGkpl7LTTxHaZM5dOpfRHDFp9Y0z-qO41EU4qIv854vHrU5Ti3o4-0h-OsnPpQbnRlikfLUbFkOe32iTxBf0iTLMPBKoWaoV2sDb6-oX7MaOA-APyJiLi4dVaqDTbApbyDLuBGgqGWeDRaSK3WpjqfhAteewET9s2KS2Qf2J8JaZCRw841YEBhsFrGrNp4GpQCyODh8yXLzgQzm5jijDIjuY2hDnP6NuEOTZP-n4g1FprptaEG7WQEWUQZPQz9lIygORYpFez32tO0Xlusn4Yf7NF4gXdigTaicpJvZSQU8qGKxKT07-738-_3oIdIL36wbHK7846HQvW5LJrDUBzQO2VupcMxCoV0KXage55AnyjNPlg15BP_KqMs3z0fbOmI9-3KTMnchQg4wKoqxsLRzNU4UIN7euB8KURU9eomCU71VJvPWQ236Reritk4uB5wN3t7q96ze3s9AldTZhHFE5CkOLcBPXM9nHIyu_fkhAd07h5poUUQdA2puGbw1oBz79rwZA5I3vthjBRveJMBz-BbWIfB19xkWsiR1jIhkLTRX-SeWS5mfOVPQvhvNwa0EuIFxzRXdU63ivry3LiN0BBMf0t-CmjAIlYSiQNtcjXADpGyV-u7UC3A3WGQI37oHHV_1BxJc5YuXQukG-s3CJbxfao2sVeJOaEdfXYRjnwWanpGjdbUE7iRIlv2JU_htn1l4wB-QGfC47eyLG2Ll6ZvXVsKIdd5vXm5MRml_pxv7PX4KCOVsO93D8435PMVPhHCS_Xc9qn9A28y5TAtYbjb7GOTmCVEGiYMR_P5T5qu_Dzj-6DI1dBlJG8lMfJuJhp3YXmfyAhsWU-s7rMqqa4Quyu1YLcMvqcVWjR-SuMn89YYNMSKefD-DA9QbghP8a0CSRXN-PSvofmuDZwZ2oFpG8nzxc1ErIhkB5BQKl88yBzgRceiqlMC8EG12QZ9Xv90m8TeW5Wvgse1PkB2Y1YE5j0y-wAri3Uv64ERmFpR2ttjbf4n8Jg3NwZcxitb9h5iYw_S5tfxOUAGT3NscS0lWqt1I9UqMdA5eieWJkqNhVVaBzn1zJm7VZUYnUyLLEDbMu-8CFzghjUGvgwTpEEfvFsnYPRjWvsQ-sTOBiJo1pDQG98V5DVKREYIAVDcX3MEE3s8M1zjcHS_PN--uaaW_PVaXHsor7o_YAIaZX4a85mWrnpoOF1l7c66dPGLKelLHk-Ez2AaaAckEUeaqxfxXcdnxnG6ZULPqVp952rR6oOA6iS7i0vQq2tDGL_P9gyMOJICiW8ufuZczQTzpzsusGhyQlDErOK9v3lZSXDwYl_c8Rq5-M7F0a1Mb4lvxgkQnWVp4Jr-BDOFBOFk2JWabeSUr5tiOmg70ih4-kxOYYMFslbuFW4rKOId-Xq8DYxZur3wO_yAkjC5TiTcqqNZhTRc11NA98yBxPAqY3GPsvGgzq2rNan3uDf6fV5-ev-jlEg4Z4VcCQ3caB4NtoC8ZivVbzUZNvuQX1a40eGWYAzQTpIBO4a60xoBAXOM_Zd3ukd7mq94VINhZS7AOrSxPgYhycqrSnfr8aNumSv7qCC6fzLUrcLLkaO0pRoD3p8FTkS8-Gmo114g-xuS_V9wfldbU0A5fL4zjKhQJTigo9QOMePGwcWgm8PoNiT2JL7y7K49IXamosl-chNSoWGcBZXFjQM2usPedYXK99QBZy-8nOm6Ve40Ri_CibYa2I063qHE8Z651CQAZ_u_p4P4TCLHzdV-inlGuWofsGlC2ZEBUgIGxiosqbFKOcZ8ilyuVvstalybyptP21NRFyWH55NvV1xSgkrCq1PCs7Zu1x9fOJb1B40twQ_HuPElnl21XH0rjgSHq8sG-QhgcZWORDxJYfzzFWCp4VYpd4ax1ETJ8mQiSqE5p4foS6H00HQc5vDlbm8MEGW42r0MYAe0AVj6cjDbrisbLt-Hz36SZEjenM7bC32jwbD0L95aGSnUu0O_UcHghZPOG1MiSx2vPGbhYCAGC_rJnLKTa-mmk4o_B4AqFYNO9xLNu-wNWDulbgXwz1HQu3I8KOewPEYt3WmnlU_mm3AFCjhY3MDy-78w2IsJk9FI8AP4I8RUTQGucZucaZWptePr0SBx2VQyqs3KrZyMx4XW5EoQXVKzrTdXFLyTmbwICnwH3s0PNzrAZiL2-v2IDqCqe_tMYh5BLp07w8gsZnpBmiL5IU2kfqe3q_TZAT1FQjYUo8r7qIst8IM9LOV4h5mjT6W-gsQ7Tb6va8wkxIF5zXUhnvj0ysiahmPP6vd1gSzVSmEndJwLZyx9SqvMiQV6wL_nPdd54LERBjpI0ttxcogoBTBxNmAHfSGKHmJRRmMNLsq3ilW17Vp5Jh3EV0PrUdDuRkdL3cx1SeprV15mma-zH3q6PD6ws3KlBM-XQK629VKSzT7MpMMxBWEdQaYtJJ-1i75E89w8-nW9jTPctm0QtXLRhvCIy6jHQ3mHGqeQORVpJLDpRMWGADVtRE3YBaSS3pAfatHCv9-KwhdWCjNMJZFuLYmGhWlQJdUZhASYIGlWiCdNpif4P9jeT74AStW6Z_XR_i0nzA_7WnXgCS_9ZhosKutyvWkB277EvzYb0Q5Qv9yw-B9XfZxMJR5KJM-WW3tF7ZuNnjoQmq8fmiyJKST6K2MNGFAEIZCqxiLxttnyg3Lxm_ithCSjCwodH4Ggdg7M_kUIzczG7q20l0Xc1vEIo7Ja3_RV8NgyonG0JLVh83mWvM5R4V7vbonXHUtlaF8TWxiCD--i62T3x3SWt1qEY_q8d0pMe9X4pGYmaoZcmPsBa6QxErrabiG69rNh58qhyomKhCgtv_MPU7nr4JIS6KAVTwJatJAQergE2O5KgW5ilFTu-0GwRmy3hfzF7NSjeRPmecvBMUySmV_em92V_1NHxMJ8kng6DqMsvSiGi1ZdgbyZgyB1G6gtzs6aW8qHMFlcIZHMi_6HFAILc9aCVG7ekvXvBkqNIMsCK2zsJailLj3HUZ-UbaNn3PZpEiLr47oKZpgRACtBU8CtkYbitKrDsFBlWYpQ7CYLzSgazgV6AOXmnm5slPD54xg-zKvJMiZ4_eQEjQw0ytjeB3VofEZPWm4uMZ4RIBjKaycH8E2cy86X_6gby8oDipp3uhj0LRtzEpXLDiNBmc98FaxSMy4N9UuKJfGO-vCfUDe1nuFfDRGI3hyTxA2IW-nPQShWfR8AKL_oDAdzoGu8NehTZwSsU4d9QvSPudX7dqWymu2bUMAOzLul9WHNZJCJN0KjY__cfXZo7Cm0ht5fOCWAwPlplFbVOr7FFCgPpTd5GPbhVxQkZ7PVMDtXhCKHpDYH0_qsUuUfu_2SB1ysaTEBoAbJhKxfx8tlmsHvatsxsVEBR-gB6YTWDoEFDDhyKBmuojUgSJpKDLp5XUl-V-TSwxKKnhTPtPtNk_BSPcHCfZ4SuMm7D7ne4qk_ql91aYtMr22QOxOIXle1ueF-xJUmYuyM1NH-Dciiam3yRGfAw5GtyDXcLiKnFxMipr-tEBlPkPuGGdo28KwtYcNhmEF6qEyqb7KOxxyIpGySlEm9_j3hG55Vz3eeb4p8qrP6NSg5yWXH9c4U4bBL-7hXfYMfzIGw70hVJvudmwo718xvJgZQKQPPLFm4W7ep60TvCp45jeufyHbXNdeU2t3ohVVSnuv8vATRSMFB7r_djC54g4VdoYmntcDHf-Ybzr2Rr3y080wr1XmQzJEei3z0008tPr8BGIspCo1juB-HZ2NmTj29nPX6UPnvX6Wvonbl_wMZB_p7tFVf8Lx1-BbuRtj5PxIj7zUOBFROYMJLla9KEVkTxwzdVgkQjdX8hO6wKAaLLaOmYRKc6NpfGOHkd1PHQocMlJGe64lzvZ-IqlZD0rc1uLiQkM1dypiCbivrAkuPvnjw0jWzA3ZwMbYNB7Wlp0sLOTMyBLT-8CRCrh-L8x38LXRpiWLwkSa0IsPa4_Y4f9QRNx1uSz_tGIE0F9RS1x1OFNgfZxWfqJm8Y7XIh_rDGNET8gj9Jx7923z7WNOFgA6WXT3Qky3tI_abqgU5f7CYXXdV6fCkrKxL3YSi-eAlNIdY8zO4s5kTODfijC2uUqDlRqALl6CjhMrTkSopy5v73dPMCl74CipTwh8fnwBZSA7NNWVu_2Vo_QfFw-Af5O-PGU8p2z6TTHC3GSSI4V-jXfaY01ajAy4hOq2eiEv4qRWTwYqFDhkjrUAiOea8AS6I-KYIxUrnExgy1D0HoLBQCbRC_bL-2PEleBJ0QfbeDLU8rJh6fhge2DLjeBXXECmebd-xLSVdunHvH7Ait8EDGrZrz1xaZv4T8UkvEs3NxGySQiHYp6uVnZbC9TvgsxNscjyTvz6q0aQzSZ4wKsT5voj9ULxLNIb-FcndD85l1PanEk-34Tle2SEWbmAUH8sWDmHQcMX3-ivBw4NSfaihdj1NG8DN5nhzR9BSGB3UuaH6_0XdW6cNwfx4gEBetAhwkFeAUVXlY1yjDSiiagwnTnD2lR5eNFj-wjHKAbtGjTw4swwph9Ugmw5BJEr6tdYVkLIaVArl-w1jhe9WbKP0wjC2Uo-85vCYrUF51Ry3EWEgFkJzD_gZL5Bw4NXy_mZkF991XEU7CFu8lh4kDmK657e4X-GH4sTccvtX9R8rxNFtALUQBBJ5e4u5nQwOqxiQfheKjTYUcq9n5MnWGdZALtofP_33R6jVjz1y4RXMcs_R9DVLreI01EMVRUdnDDaPCoi7dgsYZSBxRph1VSi_Q6wGXPsA9cLLxElih_GGS01NcZvZfUN7Oh7RkBM-ymTdnT6Uhl-9LuRlXqWfTRlf4YHTCSgnopjF_ewDRHBnpyp42lqp0Ue3vY-Hk2laKd7FA6sXGVedffjed1FpYfZ_z6j7qvrltaxSIjsCB2549qK2yoD7pQM7csRmgEFWnV3E3An3iGf7aaoqHMmwRUEy2x7lGIeT_ZqEk3AC_6dTre0fpohCpAYHnI6HoOFoDd-dhsZWZRJNPHESLcvj92JrPzurNtww4j1NVoExC_yJEgrYa5ni1ug7HBjAwbgpaOI9Sb8sd95Yo0AmgjdN6Ggo8_ozNNsz8GRTy6Lfwlvco3AvdWQX9bSND79Qj8qzye6HQPxJH1NgrCBDe2IfSUv7OUCHHomCtDGp1UXnL3BQQ2VCaO1i8zm-RAWpBt8XVl-MMWWnRwDWVxy9W-43nA7tj5c4yG_hSuWuV13gX8VnaVWrDeNv2C4zultTHwZahs0HeeU0vfAiO3wO-Udvo-AlQNljIUCaCaA0uEkV1A-FARIZzw0Pp-c3PGHW8EeKz-O2OrkCkCgG3Z8wrEcKcjVytmr_Tiji2WByP_YXqDqpkiw_d4hMwIWsRR_P2DCKAol0jWQNUklziSg7i834OOVWdQLVLCzGfbM1nwBsnjM6_JoNXukFeUSHNRPnlFodw-MYSwbTCoVizz6pQAfwBomLTrV9KMsSKQNHd9cj5-sYom-mGe6NmT79kOtTaNVyW6lcs1RBE9atkcY1kXMyLfutX7JuQ3ESG2w_eG6-cVQQ4PuLEvJmFc3ejOXZLUqoCjOM5BEqbGPYWea8gJk6dOIDojhFeVLCfVTVJy9iH26a9o_dRHHXhpaCqdrUB0DD_WOo7yuOwrx-1U222qVqPzd1Rky3ch9oOEDUEr070_ZRJJhCwN4HhaQqdvN0AjRVpCdztQ6E9ZfdaGcAfwHQ_zAwpdUPPnJotMccXtth33njJ_B2MqCL45s57a06S2BrBFJ85ionlF1XML0mJ6yPSX1Sb0__FPYp_VBdlEr9CMh8trLvTRPZBXtl3Kaa02qUh91QQDvO4bx9GgOg371bk6b6ABAq4D_RCDn68hfDEXW28iguiJDQgnGN0AHHB6deO5qf9qDvK_S6HPJc8bS3HY8yvUC0-k8Tr-M3K5Xke0xxKbw8SLLrzG9wCUIWFTVEh7N50ObxojQtdfeGjcAI_FrMA7UI1tlVb2CuwlQBYkc60ooEFP825FiJ0nAu8SHK46TunlwCxKvAjKFw7PuQnKbW13g2hjyYtyS7SXSkcvFzjBEqg6t2cJjaPksOoCb-OE8PPq2LTIPrkVewHNkak6FgwdFyXKUbmK26AIVoIXQcTTnceXWCeJgC30v3TwijhHIw1yBXdwghTZYVmwHLOgd0MwvGfD2z3Q9zR0hwLmIkI092e0CQdecvwavXTVs_8ZoOJTLfDoTo47YtWe3GTidgzBKBOv3Nbb38qX5HyXctgchM68113QBRVdgvGbt519Esa2gPbvir5QBfdz1tp5n6oCGbePmpfrIB_-p82s5DoxZPWWhgTWCbK6xhXYof2cR8HQz6ogPqMdhDLHgCWJ-Zhxe_GJxYsMuI5OWhg0GMMlLRPE606S0MHOVezZTpfzWKe_bJN1wmWfoQHb3JyK-Pf2WB0hI9oelWfGlAbMJCNspQfAUPV-HYC4aPsX4IvwS7No14Bzl398HE8BucXntmyjBFCO-r_lbZzcO0Z_5efTb9V05qD4dZ7vvb7sWdheeB70H0S9Cbwl_Od0PlLSCDtYWoy58OGiy3MMyJMoHJkRmXWQOCW3Fig4UIPjIZqv6Yv0lLwVz6K3AwPdQgbA1jacXKDCSGMjMjFmLk6nl97jPQDRimejJHeMFxNgidzIwmazyoGVzMSqGug_lSe2wzvvONUzfhP5tbVs7Yt-u8uKTnKOfiZQt9S0b8FyqMjrijTXqvzw_WzeEdB-59wsUa0JpcJPsGpBhiP9bqbFTYc7_nPufVG0YzlNUoQyaUtOFgKfiJFI0RhV0o3oyvpTqe0qqIPdpsiM_-kOxdTeLQfUBPuI3i6WdIRztPq9YOfITpi1NuVV-n-nldFnNaJUavKUsMXEhBqK8E34wddBEVnvGyaHQzzHlAozirX9XySsdcvZYdiSYgOTRdwrDeKM-Q5JMbXMmbRkxh2ZVyKUqJzx0iJRtoYE9kIDYbPINvQgAq02ijrRYSSde7XJ9Mz508KfuCBopt0aDFkEG8Q6q1GRavADyruAl8lFdX5P4dCv3HY_J-Fj4oMDMczIV6hRDpGKrNDj0OqglkOkl2q1MzV99ezvb5ibM6fVVUqdT85_-tMVS3s-Uaj3URPAO-w71vmRmktdM9ZmM8aVVkh3sUKm7-nekwwgJG36tbV9DZ4YpnVQ_bM3vfMZYa1O33d48SRg4sj9t3J1zRjfeb6zSFQSARRpdD4VF7bjOjiM2y5R4QdPe0zgEmNo-zg7Wz2FCM53PRURmsWL2VLGCVZGEEheVmX9sWZLzT688-MKL0CMT2ym-c-m8N6kd7ZctawvdddjI9aBui9DvL2YEqZOdypNH4fOCzgVAcltgZMYVpWpidKDhOTw2YhOThdmuRSMLHqVWDRnixRW3zt_6hqcbn9iniGcZfsGYUmDs3exexqge3MxMlrvOuopb7cxdbz3O_T2n5wreOVkv40gUlNt8W9JgW4Lbb6hMh_Z-SWddAV7tKJ4vkfxKn5RD2iGEAOX_9ZF9_JXuteD2lJIIC7P6vXsQkV6qcH7yBX0g5G_ZDEM_3rWyI3EbMUY1Gc25O9Rg_Zj8O9zJMPOMcqjonYsLvCBNxBlmlH-2ppuVDhXvV8SWcGiGMyxKkEygBC82wXlkh0R2KUD9ZsIocjlq7jheX9FXTRK1Xh4qH5rfcQK3rrQrMEtVEzJj-D9Nr2PsZyTKT29lcGK0efkMm5URAz-use1meKvVRce1WKK-FAPehse9LIR_a6XwNCRumACWuTI4e_K-CcUEt8udg8rDOLzWFCRyGeSUrYRciTLTdQQFSvkHxGMcZArawiGKSQxvkDX-tuHe81RUct_ifNvS1SzPlQCo4Aq1Lwr83UL5uBuszagur2VdXP6_EKFQzjwrJW62IViy9LIyS-Ffkq7XTaFs07A2k_yyaXGssqbQq8IgnM6FgD68h-IBhwXN3Wj-S58Z3SUBM1HsXDggNh9oBi2Jsd6Vbe3AAJbsRAoZvZUTgip3khavvO4OMCvuHbyfMTUtKIXrl1yrFCoKhf38_Stv1xBEgQtd137LfyY08Mj2if2qR2gVt65v0sNxejriXH4Vt1AxhjkD9n-GUT7Ly03kE5nCLLwWb0-17KhXVwoz2IgFBYcfpj-1fTV8kn9APFRt9uOEJIcImnXM3uzHbZDy1a_A8if44Om6LhvIAVits4Jb7Mudz7nQWbNqEq0ANz08XfEpUZP2ApJZ57koJwSAJz_PdCCHHaJYJCEd8xapbQywMfEmXw0BUQ9l5tcszCfmjIzk3HKe5n1E7vFdm1cY0PHFPQ6V9sCjuAAZia2bocHeDfj48UgLby89A9cB1ElDKitDxQhb9vnXGiFctZXHKpw3IQHiJaLtBLDY2JeGUG_r6GgydR88aIkACUt-mzNfVikodYdqen9XlvrTqCofkmAnWWiyRIjRKnxyavFsgR3cPu_R5HW3Leg-8R3ysm_6V1Nlw-DDC_BNZp5w50h1_YZFbHMOur3TB_xq8no_Kz6-oX5D_Isti9c9OoCOpGNPtuoNgfanF68Yz4iqjte2g9UYpkefaQM-kQG3NT7r71PEZHvzUndf-MG3YmKBZlHPL86eN5dsYSEBkVYvlli-QhNPwmXn7wh_laRuQKTyabxy5xHGVcpOs8BIhdZ9IyyEuCBe5FUjUbCo33sgNPw6W5KoVPV8WvxTSwudNZ3tKYgohe7Q5pSIp5c87y7yc4-Zu0e00EFlc6svlFgG1-bHp0quSEVDlBIILBw0XF5WRlHCvYf0FPjIruvtkyoe3qCwGvhmAWwX_zoT-G6MnX5MZmauFIFyTU3u9PH0QI4-8N9KVptI-VPBGv1usJpD9hoDAtK_-JJla7HI5pBjaB6IItnaOTUfkFEiJgHXEXbblxScoxNh7NdEqV8IRqxreN8nZwVa-lkqvJqANv6HwPp2fNK3CObovRIf9CfzuEtBmHUbuI8BWPXXXW3wk-vgwNyR3m9LzAg7TrDqyBypvPuvAKR8IUdoRG9230ddmG4r9ZpnHtWTRjkbX-CYCVgsPl4nSsjFwsC3grSkuPiV3Y2I8VrXYKGie5kuGE2DDgQxrD1W1h8q5J2bhQNKPzPXYTN_Tf0WEVEtSNGYw7ptPRbChX4Ff1fRXgZel-7c_j-EgHTWtjkieju1px9qm3dVr1eevTTwKcV4r_0q7nYKuKKhBcRWVF_ZBVdl2kbjpjDrDowbvPQ-JIc1wtl54jKmZt6Xg3GacZJLHPEUT2-eyTxF5VemUvN5PqIxWeujS_Ua5RbM4njiedYYJgd5KUH7H3FMR50wJ0MyS6hVcn7qMyxU0BGHJA0CzR_CcVSZbLGD2021gjifXtFkZVFtb6QHGDz8uABDgINnOBBuZ6DMbXj13ghNefsxUJGpS_7lPCJvk1UuSnjwbCD6hLZ5qA2lNkX_PR4JEY5VIHkcQyuGKUVZSfuP__ivn1QAtbObi9vPWSf6pKhUnvHJ17HAfQIT5IIuWsbFTIIsHhEGPKwPlwHl03x6s78XZZ9TpvlKsklKaXpxUiJx-7RMEzUYktYExrVrAL0EEWxLgl647NPukhLZ6X0tT20BpHTu2lzLyth8pu4TAiKnKCzCVdb15a_zDhNgp7IplJbkE11dN7E8XKs67cg0viNpkqGTyUqqqvxjCYcpCp7lyRsze2OQYSe5CvW8hJmWKgayBZCdj1ZuuvCzzUMsm_-HR37jRamqxjIRwYiCgFnZuadp-N21p2CxCjAFhhpU0Duelj-0MngD8_jqRo__lLlO_r9Tpg49FCvyww6B7tk3jcAg5C1XdvXIOWdEcLTS5Xehx_VOOJiNxAIiVzS4OJs_YQFvd0UIAAqsphphRKvPECV4coAUzJxJsnu_kgksoZXppYoXhFkSng_IH-x385HJSavYj_TCOGtABD1atdYj-9hbXEzPHyTzWFwHpwFV7c1M6dImWb31B5nZOm2LBagl2HxTcO5el3BMgaS2YNtOSqppwXmKxvMSZ7mKIbh8HssI0JozOWASs2rk0FuzzHYvl5hXSSVpsY5Z2NZ24UAa1WIOszWMH8nhYB40Jk5INF06OAfM403ehTkkMTZLgvrIk7raMDYglqAyLTkvr-HvrNaK3rbnJsQziHp5MbSUqIttGp6etdTqziyRIG2zgsuEnOtyY5nnuOW-CiwJ6rBqsHyrrpPdy6Y9l7bj_3qNgXkaflxiM0amGGol2iWuduwr6OVqhHNpc9mx1O-q8UCPcUy0jRkkqkMH46_BNvSOCsKgfsnDgynzAJjQ53nCI3vskIo-FWRjH3KS0BML7Fp6DWeasp4jintsn1sV9e99SxOq9vqAr1su0pIaF_-41bWAsuv_bVn7QsyRH3unljLH6KBP5ELdG4CKZRRkKQwk5b03AVtzdjeGqugy2Ps_IGBNzMyO4kWVPHLYhyHb2CiXPadTweRbBW17YJMe0Pm0l59yX7dXBESmJ2EigQvuEaJHn3d3BpauJ0LeCjHRs69e4aGvrRqGDWyRy4Md37BziwWmOjhT3ovL5w7PlKLl1MInFhbep4XYCdxjSKRqJyjJHj0NrA0pobfQQD0XC-yXdjbRBbfS4dVKPM78fNyneb5R_4po0GZL52uX5a-yXQ0NVC8zTBruc7Ld2G3aOrmkZVBioVbg_noEVDtQ1hqbpxMdcfP0L225h-KfxrbE2-0iKnMSMBd-DIZHfkTLCajmdNLJCEuxzOpM3_YRNGxnvvGrtPw4wsyYs7MkghjtnvvzwuzE4SCaSa3lHX7HzYAzxUseKYNohpKO94ovENUxHSQTOIkGSSYkKq7mdupMtH8cldmZS0F8XzMrXirlnWQFcgB3iOz2iOU11ePR-dGdpqci82hi5wGJ19uAdWECi_TXsmX_0JgAirEh2CJ2wV4RScSTh8r1Trv6Y_Q1_NyLYU3xA4nDr64y8N7GzXoizEJNrxGCIvqYJpNjr4_OsCRajWKrcMnuGap0Q17gac7pk3vmIw0Jheiv4nsDYUQ1gsuWAv2xw4ohh3gb85yN1nkrVjoyXNhuENZ6BmHAijr1neg3Eb8iS49vqgkJSeTLh2jrbX-2OJ8v_Fl4B6ddNhhsdMHP0S7S1ipY_kXQJ9NEHjKVcC5pMelKyPSGCx8y0yOVgtRNxkwrKTsf6kuwrqpo7gk_w1WUzNpgN-xRDsAM1rXGIueSBY8GixNOcW4kCjcMtTQxpKENqJkrfNHlPsnLowuIrrxZ08BQjy21gLeEzRqwzyk3OTvdunTylcOICr0jJLri8gNLf3iO59xvHiW_Z_n8hNQJaIpLKQixAXsMGmHJPSl-DeD6sAloioNQLLNFKGXJ1dc-vUTqlGEFHJu0DasCWP_A7CD_XrIHUeeE6CWbaKDSDJbqpp8nwxGLrYXvHFkn5KM35fAdATHShZCMPzOiyaScQ4-m6ywiFQk3kdgyShgMZsCaQoasa51dp-jp5mNPVRPi4qUuBRZbyVzthO0mRQe4e7kvaPTYXpqbxTFZ4_papg8zyqiqn-HmeQQAb260aPsObCJt6AksQv2sMH-vjt3N9b5D_L42OKI5sd7uZ-gNv-5pGv8dPTwyuUH4pmilN6ZYJTtWtSZYnazkS5cUQD1UNf0-c1SBS6ko7VG3KsDe8Dtbco-jycLbeUcxm84F-GSbsqDIg8TIZ1zjM3Sr55Vln88kMpVlgAye_qIX9N2f8hDT6rdeaJgi1S5Qnz3_Vbacxg8kC6yHPxaZ3ynYRr-8Cfq4saNaIvCNlkmoY7Mctduaoj4-BffVIyEL8alHjN0FjjhfWGC5dh1UT-tfT2nnDIQ7Qr-vIhgeqjowrredLbfTNJ1BbaK4rKPC7YpQaOEvCSkQHqR6Uii__n57OiS_j2NCm9AvRPrMsGuok80pRQrZXka34ocAUE33w_xpiYieBzfiPk2vqoeedndArTWQHX4oqFMCb_msAd8ghMjhpDtrbyCAd8X1JcFMK2S7RH_X9GBMsbU-f-2DMLI6BK_YTweA8m5Su7lwiO5U3tuadYUJyOfheERbAmEjbzpabkXTvA5jyrT3iLcSgjup2arCBvoEHIyy7tDiICKf88MOJzoe5tbGvAwB9XbD1T6nC1J-s0D24xjEMLeCviwbBVhJ6qCKdo4IlqkeVVrl_eVz-nljB2nkushXy1I-NVnhf8BZMkEWjrHKXzED7AldgL1R6NnegUSDAW57m1E9LIUf5HPuclb7Z-A_5C3f-4i8pRaJ5-Orqw9p1AUks4e6SbBYA_gfUovruoRcAMXN0aTB6tF-res5dj9kdqJXj_FRTfDrhVfYhQHjGuuE8OPhW3rp0wuq2i_VT0nT4y19Qb7tL12PluB7PYdZ1apkSbNcZ8WY1NWp_-gLmTge8dkx_SFQEpMO2ieTIbCDvpDQwvrc5kRdgfSeCp4lzWyHvATAvUwU9ATcidLykTSmcMJpVLXE3A-k1zaW8IYgsM4_M3tKIS1cs2qRpwI00sFcY_FZbyAb2WQx9yEZFk4XhGWIxK7wQeUS1uqVJ9NUVRWZZryjShBIhU8xkXBaKXh0kg0nchwaPaV0bjGnR8m63FYBh_rIdYs1BKm4Jj189f0ZuTxKgbgS32mjTIQ05woauE-n7NZkGn9FOsQhk13Mqh0FA9kgSTNu0poYSlSOWAArY5YxyPpPhbWeRL0C8lJjG6HDHnPi6dosB7jCttJPs6GxEGqnBqxxq_MRLMAQM_hCa6Sgbw7M60v-E4hZRQkQVcWf_EJlMyGov85DFl50XZpm1TaZ2Jyy61yFozsuQCyZHuasj_jihLZ3PNigDSdMhgJRKPT5i9u0asA7X3po14Th9lSpe8RycjLNFzTw9NAw7JMyeaOTFS2-vCLQQnS4sLCc3LPWo7DQFIerX8CKTjCaJtKK0IZYu1l1bSVh1iX3jyq7ZTAkcGZ09TDukgfkhmlYj_kd8YioukwX7w7KonTK-w7fJWqQI3W8RAihqUf0tmLT_9--Qe9xso59tyLMD0tPEBW585FAUVjjC5tWJUQFkTOlRDdUvGZQPURKHzmGWb-ebbEQnl7FkteETYGpQhyM0pW0kMSRwEy-j4uUxVZYraOCYHEkHnfRU5qXAhmcDHge_QybqTVyiJDyLr-ViCwWC6Rj7pKoAv4lUy9q0L_Xb9bdxiq8-uCKeNtWfwKrDoag9TvpVXTZZYum8lmJRXTIITnAWWIDXs8BLfUkqPDlqNJegUsY0HgjpwbBC2LGqxK92pRimuM4mk3YCIdmBrywrdRz8fU6lOUgBOq_vWlgwHu3TQtHfd2rukupO1pz5OTA2pez2Z3MLIDqlaCRkLa6tZ5watxuy6AYRA5KCFiOKDOsu_em3usm3YM1z0N1j7VlRBBI4pSRygz5qm0Wmg0rt33huj2Wvu4mwQBxfKQXhZ4kFdc5tEDqV_drkDWGbbKneTMV46VUQfc8aPqVsd4-3lvsHsIrbUIEV5HV4NpmeWRQcTApmLOF0AAIveIh59v35IayW0oBXv34E1PLwSZM0jUmWUPk-zK648MbfUUDTMisGGEmzTAvYqGz0yHFz74yKolQbR1j8YH6QnS30FcOZ0avn1aO5y5hvreIpYtuwtweve3cN6kZ1nzqRLF--5LT3GTVK-4VYYIDt3KW_9BAG8VI-mJEZ601w01UYZAsX805cLLinS0oA3sZd8H3SUZuIguujp19dFmWHwrt5kYnDDN1dB9iTg4yW0xp-khjcCAiUdi3pc71oqKR4p70NOVO5ZQmm-Y-HpLfJjz_xS3L6JmA3dPbNKNUxqUdg9VMibWwjW9QK3QS77OfJm516JSAOQMG3pR12Vi4arPn6aoH9q2phO4GxoxATDBk6bPv0YjxmXxRxT9P9OZmbopNeI878ayNlSTgoPhz-MMGnkrYLoCKAxTbkzyzskWsH8TOYGbHHRd3eundVLTZ_6sAgEfYLjRMyNGEd4-BZnOsdhkWrn5U4R0iI_YaEP0ivJA2Jc3ADmmbhAmU9fKSXBKLBIyQxv_tlx7YzMbH2Tck1wX4rI6zQp68EbRCwNKewbnQXL7UUnMWh6sOjKsWHAEqAfyh2I5B_eXJRAnuBQBzYINFYR2qHgyTQGZBb4harsGKObZCt09mGK0uX0-RUl3uiX0hjvECFnseVY_kJVtcC8OVdhC5oVSdNcakh8pCZoj5piKZVC0bKEcHQOUTrONFNo-tQkq4Cm0R2cNLkrB7dhDdxFMbdxJ5Zb05VhoXt0GKKYEEdm0wz6V9djl_c6lmHDmypsTMKgH9yYE61yrMX4VBYk5krTKqq9ymiQAzM5SlfNWMQexfcuqU1etE91jVcF2zSatZ7kalk_TAh1AomEHOAJ-Fj9I65ts1l7OOtt9uKGEKI77z8GXjd3cVaX5NbWQLEqssF7zbZlI7yYoeclZHuL0bxFN_ehhVubJ-ot519LyVZjbO1ZWMH_No7IqTPoxK4wLUq_4CrOnUUkBV_MIx8WbeTsEJMuOSBmHB-nuYwWuICEddU4xk6qktHUoy5DIgHetouw-ZUIO9XnYp4HZgVu1MSbP0xkBiYdMlwZv-Jcf73e1zBQdbt4QqlSvz4SI86sprjt4vBeaRoGqqXxHmu7glek7Lj_xPkkCKgn_ETB5FwkKs5vG-lQ_7zDgo6_LklZzQyawqnR1gczLHBPzM5hF1cNFlsMyJa60Bqua5ywzbhpwpiCgxQlItQUNk_T7QMYk6eUXYpaVX-bb2zudjXBK334Rmx_mCunltIEjTMMQ5Q3iwhiIH-sS68k_UBPBje2uUUZXvd6B6JwTevURYNElCJKmPFxo_tetaKZZQ9Cpg7sl4kulu5U6AWJF8ojkNWS_S1sHORGF74pR7ClMJVBWKJRBwjRd94tmHx_sPVfw9_HehyH6WvgxpmLXFopGWMxTnZz3TtPoTxmHGIqWnOm8QopltEAi7RKLzLwABPT0Mq6NC5lrSAq5jOz-cpcLliebK6N5m14cTdHS04qsBr2TolTNiytvxRbluKZk9Qt3bCOoqAa4pk_paCS-KNmvv8tgaUJVRAHENwE8ShnKkbhVFEbn68xCIIjDUVUKHD40brJg-ws41WA2cz1QhcYjCsddAUtbns8wQnqWBSWkcWmc__u0rkz4BmVTnn8oIGZKbxezG-rAGuYh1h998pn6npEcZZ208SelGHzW7qPHS7lo4cPWvD48bKWG38v22Pqs-EYJ75yWY4-_uqFqoEY66tsdQJcqM8eno4Jfdgb_X6gbbnC8OoZPVGrNCScwE6mNgDUMC_VsmCYYUViw3OfRDQQ7D4Jc1k5PeEryRMoP5jYw7hI53hAhJ9gEdFnwnVAUTmWHqoypvavKLBQI4PJP_4zKi7Tfwvw7cEGV1fMIdtKdtKlrThH-_pEBhnrN4NYUDuUwmueRZ5Tw4AQ_wcMuHgi6CcGDHDLeCcW5f6iHnMEGWvkUWbgTegOI--NDX5DJZPJSeDgvaPR94SF162Ykdddcfp-N3ZN8bA0D8rlSx4HncpUxfX_oQlrZvRt0JNrt2Z-OK2gQAHrAhk4ioqF5tWWP1rnfOcBVtSUqV81L5ZQ9AmJPjjfWSyYRADAngGU5-LLp_OV0C2TgbWZtNBf-FC-Q2695ZgZMzHbKOM9Kp0kl0xRR-c--4aONYozCGN1flRy0gtoU4SxWIRsfJ0n_sf9E3Ccu5PaYw5NOGxwzKdTMUzIKV-8jDINnXG09k3UOHHajo7nutL9zPFjT_kd4joTzjbF32klH8mph4bTfgt_tSWdFBIGT_cvHEJqPSbpMwsjAo5JsrNm2KWyIVK7FOSU3i3Jvl48q6BJI8v_wbJpbcR67WOcjdzfPP7KxCFv93G0jSu9rHhPuyEJeL_KnhJsY5paeI2SGw_u_ra-UvXxezO853gWwjtWxZLtPj7TpVWfMUOgfnQJ87lh4U51EiNz3sFqHv8LIf_q2rCMgTdNg8uayb2Xg7M-slYp0Le531b2ncGs8_4Y8fUlJC7a4rJMU6j3it1zhPVHIblnz6hOqzAd6XPIkp7JJZvUeQhDx2v2u7CJap57OFd0tfmGxpymYDUocgLOz8LcscThAOWeygnM2J8LhhP5j8mBLyFibkOpIoDEaiWHRyhGIBqe7tsgCY05CCrJkmJ3mFyjh_XCYcphFMuGx13uNjqEwrJgzkzznBjnq9edrT5rL0GdIhc58GlW5qvOs316gsk4ET7nSgKViT3w0IaB5-Q1ttcuU5G87DXQydT0WN3M_FBomuMXZRd4O60GCFUPEEnP-t8lpidl5Mff1Yif38he8UETZ6HXm3FJDmWuV3izyusVIq_ghUs9CiFSgdYrQVTE5KIpfo4lHtgmo5frWs_cbmT-Edl7MB-gAbwfKbIAQxhMEa0bfFfRc3F_cvqaMQmQEhIjETFFYxs40azZsVhlV1wKE10K_VE7ntwWtY58YNEyclCKSKfBtvE5Voxk8b_wnu8gVTsDKeOrFnxP4cTY9A4gvSl9oVhsv5mG2rJgKnBeGofvkwJH4zA17LstJyCyVqtUKh4lSX0Wc-F9K20rw6UMZ5hX8fcC-DaktBoOaXLkiBQUODT4KXLuMeMhG4XQF5Uo0EcnY_7ojzdYDmMQT6qWXey2y_vj_j0tsWeFQlmAsHgjPP4ZHmk1shWGixbk0RqWvNwMIls3FLDayxaSEpU2bUR_HxnWXKjUYmaCv7tDx9juNJSYgwvr3YNtYS4xcisQzBP0lr8ZkhR1Zzl59HN8IHh9AGA9zTPYu6SFdX0qcgmC5KXTr3GTp1uKCduTiHkb_oFthRyqrIpYuaibmVaXa4dJk-9043yNWaobQXTdS4NOrKVvJQbFHEgn3fbjFjggh1ze34ICOSe_8xr9AdDQzFv0z0w0e3lkeE3EoXWOnqMYjFakLRjoYqV2vCjjXHV2w8-aTXlF2zlJDeKz6nMJBGcF3frDdz8FafdX_vKjYAM8l0gILMPDm2UopUGFkK516JuKOXsyRij_lRzdLcyTWICt-yLHpOjzz86maPXqkY9Ca7PBiGDxnzd1nKIArlzEc5fyiLflPujaBRUVfQ2qBcsZ9YWZqAJrQBCS0p6uBJzOlwwuHVgJ1kBj46qzrT5St3DbG8U4UvnsNCe902oSv8VTxm3AEiPAGphzDxv39h6fZPNL7hEQb08uQ9lhkPpW5o4U1E6pTaLl6xMQENu6I7jz1hXtqMV_xxxkC8gs8bhdRdBIsso87FwdNYBTPyJqqDto882WYd3oWouAU3v_r2A-tadrs64nr-TU1KKn9yywsCunxiellGigLjJa0U4caqcoF8hNByQvsKPlD-vblMosSjNmEB7zkvlTlJbcCbL8y71EEzH6eSOxWpzliL5UwcZtPm90gDVHW_Dd5gzOCtSbhkT8I0tfPLa3hEpryLhcV7oV_GNETKqc6_e8oLRYRyi7yZki4CJpmyeJJVUV0-3IiI0cgsle4FDxoVyYaWu2dpImUCLBrNzRlprFweaNhXSRz-o_mxZNpi1aAAxjAw32Ef9VOGrGRAE5ZQzXeJ1BSK_u3Ny356vk9LRhKfdp1XLilDBG0tP4N0jWLspTpQ12df-mx7yOIrdbXsyiDcubKVfHg7Nx0UfkHmY7CAy8tany1KQIHMCYi860z8e48HCXNvC5vCI0yEtCVuVbHzq2omwciUJMvVXlwExyTf2D0KDqCLPdIlTW1Jja0155hCd5evU-20TvaLCuffc7H1YKUiYLpb4pkFnLfxNVaDS9iEn2hzFKsRuoe8AXN6aDUZ39XkQL_TUvxphmd3z8_pmF6tXjlvupxUJo5LQtDZSrGQnOTUUEa6IRjdkAG1RcCxuznKIVaZ3mxB8ucwjdGMZJDOsk03b9zj5B6grii11M28N0Tk_60fTd8o9I0O_yh9AX5oBm6KWcihEteAEHxpT-tlJhlsgBMFDfzwMzxKjMKVGBxTuGy02p7gvgyzsL64XfieBZUk-Tc_W6TwQ88RVXKrRn2VpQU2xz-fJmeYRd-6E7FPR3dUEmyvhgQCRr_9iSdCcQvxJeFz0vo6jeMxToT-hnowQkVXSOULyL8e8fyq2LfRE8pVyznIgQ6BT4WpZwZxqOeo9eM3HhENeDy5hpJxT0-3AsvkUdP1hDtD6qBCUUBIo75XPoJJPJmkOCj2Yy0olrl_31JX0nKr98vybX8Lr11OVfczt89CP1vPlSK2jIYiSrqh1Y5LrSV6GA9e0o262DpPDUBdTEeKeN0LS0OKw6QtFMpb1jRqE_AqzfT-U86l-aXYJIk7_WEIuylsXeG4kKP_SXrAROJZ0BmgLP90IHgf7e17UNNt1smZvmchqUEJhU8jZhkNlpBjzJAXMe7vPQRe7Xq0nhxOqIXWUrKrcatw9UCkx5n85ykeaK6NdMdmPM5ji0CtQJZTM2ktu1hgpNKxLZehqZBhkCZfnM3TI19R7On1b2u6NXWGFbbM4NsESn_W8_3wwFeZUWHnuPHLHE2DuB9b2yIF5zNrXS37UYrSkVJSSE75-sJlv8f-ujTAHh8BPZG-HApx9P3O4OhA1-XrLerd509V2g4Gb5SocZaPEFQV0NIWfc0MlgwpWwmdOFoAYrT6PspwG7YRKzfhm5BMscUiYUe9kvjEvvDSLWlKjAHxP5KJeLvsVQk3lK0lIFKQMPI5oxYTGfckyMTUQofZYuWlj2ZLhhsTZaP-hNro504SrTKsCVWyzTtIie4SUsj2UwRoOWMdWS5Z8yTBSywHX1BHVpG3g-JFsiaWpplhY9CSYVRHux6QizQbBN6NhJeGMZ_ZV5Qrw-SlvfO21_GnkeW3WiGUSQcHglqlsGrdR68O7diMylVF7dgl9CxDiLZShtBbYKd4eFRAaAkSg0dMuMzf7bC67wWOoYPl3QFzTu_fdEfuduL2muzh_vU_ZNMF0khAbaqSuenlBN0BrTYxi2IcqdLp3eXHXBaCAlINg6JsGm61ktivDFhFG4iR-AMLKYgyCbhmhK4H3xYm9ltAt5Vp-3YpZbwHdFcEyGAD7pc2XRZs4mwjFdaccuICMiIl-V45B0vcfWYz3gJ51DXyJBrLOcx1LUixhxkuHMMNlsgzZnXNjZj99ACmgrW2mGGsCPMIyHJBTCs5BqhA1owZFOLB6gjqMDcMnzn_TYwIaA4G3syjCX4b93wSOF2ldKPP_pqpPF5l8EYecXzQX4NHp60U6PK9xSOa78-XWDSIkm4mv4-Qtg9VE_yC3TsmfqZGS-m9_r895mOmG4Qywbefzyt8b46RV7_i3QJqu7z2tvqfH7yKJgkoR0S-OCUHvtIsar6W3vOomw4YyYglZmWdfc7iWK7EYZ3tBuonF6dwoc7Uc6m2_vxB-bewborMk3ES8M8_lArUznav7cmV0iO1pcDEEMzoPB7lZ8N0Lroq9kfVZS3SPAExSIFIxCEGu5KCjKub61bS6HBBGKnVJWtgGRkcAWq7ZdJoUpZdgWVQ0RJgaR4X-WHTZcpJLntivEEFSrXDlLCID2XhMpkLC6Bs0wbYVtPfdqrg8IkFdvdwsmhp_-TDx3CfZwJwNphfVyYZLfo8oYbuviBJ11N63JNduVbNn5Y4N2g6cTeVkmY7lMH_TunYaC3drq2uwAE8Mr5UlMGgQl7OB0I78ILS3zMlPvggN-IOBooYMNTPGuuvqm9SXLAhNk-gW8QF4HlPPzYlRk46mzG5Y4vh-3WSDgDkEvr7bg31KHPvVvNqPey_IdgCXNSO94wAMHHYja0R6yZMg_JeFu6FW5wliuGZUus_Le-zCq3TJWjpOP3Q156VYVjKB_ra6KyTpUMciexTZCiGmp-Fg8XF8Ip8GVb6RctuzHRTZ-ooF8F5Q7AmtpAaqNeM1yZtHCouAHHVMmz_FBiNBe0rhHYhP-JJnUSD5sFjGZnA3GlvLBv4MgFO_aOF_3rmwv7-BQkspsfpcqCEH8_LoXZSH6z57_Q-eQjAlFbRePl7O5ExhJwxOXsfN5DkDzSdvrg4wvAmp0NL1zvTJFYA-ZDp6g3fqDbz_wFUeW2Xu4BVFtbZUmBaIP7f_FrOlaQC99Mt203qyPN9tqBpc2i4znVD0UlDR8NPUFHvWpErfXoJhUmtHwsMdDvc2atcfy-vvShKzBW21mMRqOCdjlwiNUG2qxrZ5lKZwzR238-cNFURJZqMjELhoNDrFjP82yh-VO5u9150ycA48Md4_6uhv4hZRe4tbrPAGfWo_ct5pL9bTRZOTupIS5p0sWMiMCMh0YxH1GgVkK_GOEZCV3AJ9qqD-XgftjAFRyHQQp0hmb3wjICYizBP7m70PGPPWNOaVY9FAJJpLDivOCnjScsprShQOA_DZH2yuupIMt6LqsC-kE8HEk8U1u0gGbawKGITFalAyAFG5SO5kfN2hNsXrXb8R3Esy_PhSE5G_i7NTCO0eIS_-A99pooQpym_xQhXKlP8OF4RiaUjOqzbvlchVKBbKD27gup6wFJb9vF6mMx1oWKvYffrHf7ggX3hj1b6W_Klu3HsQSwlemdzIfgf6qoKR7P-8NnzbHA0BdVAfIWpULmGqwZhPpMFJ3t0qKNNnsilVw5gISrFZtyMTsrbVoXUNVYtQPfDCz10BtR6FjxrzxZ8JEdseDZG_41bBMp1sZGZrqZbWtjJKdUtqs-3zyHSJ2hYB4_Ni5TVpyWV-jvsZJZK7Jorjr9jLtMgl4KHOKLNkjzH5PNs6PQFmtw8hJSKZz0gdugdVpT4vTYKPxQj5ueeHkOU3CubIcnG78lGGpWYE5aSM3vrh62L5lYkMpEcjqP4U0kR5YQRmN8fu-q1S1wg9x2n4UrP3KwzN1jvUmGlfKxPYGt9hxi46PntZmA6TwfDK7k0cstGjY7vI-agBU5L2Bl7d-VLKijCPQY3pwkd-pPx3CYDCtA3Cnr2k8KaPWK2fS-fXJYsI47-5eOWupZHAahalA7flPl_xpH8xAAEafq8zLwmY9452Auo4elUkzBydvSEJaUa-OTcMgbT97EJkeiySZw-Mcl9KRCa_hEqbiS6yFoRIa8BMyUOr-yxRuglT2NCUUOHVGTXPE1b0PwZpfwpX3S44tMb7VFUTgyGmRm_RTS_LK_wjYe1jCpYGNA3QwOjv6fbixjTT7nVX1DevlsuBAQLG0sIez4W089Mzh6cqyoymdqSBULMyAvWOWb7KA73t1bvGlMljexI7CZKCtSbi9lUOEmNcgDTS3rCuq6GsEEmneWAfrlJMy6dmoO-F0FpmeV8HipFJlKN7dNsACtBRnuy1ZmbPJOqeLTHWkWOIJg8ve2OIFlxV5onso95y_fi_ZvDgFIjJ3EWFpQcnEXiDzib5d39V5jzDFF5e2xprzLxNq3psr1t5F0AIRthibFMQpJ5u-EBOZOl5Xs3Augm3Nl_V12qeYXsGI9M2BHpdORV38p3QANnNsBcuZFCB1rEyUc2SU78lSb-h8JfDjrBft1WH4PCyBktKcvYSX8ijNwL5cgwwmMroVgZhlBuUNvgF_TcJc-ATAb5UVu1rKQKsyxZkz9qtKEtSY2j2Ib1bKzUeGXJWgSHZ7xgdQFNF3m007wWqd5dVy-xCmLyQtJ8vQxBD4ni0S6WjgWtRKFD4x2L8hLq-DodKN-SYXCWQZ3a6S_nU2NRCfnwFdceVcipieUh3MEeOmfGe1_gHrWjc3AEGxpAmdzcCuCuARr9wI59lmInpa81uOlucXv45T-k4oNGsXBoHFSz7DCPRiPH-a-IMBHztckBnl50gEx_2RQdzJkUKzHUi19Z83660CR4sXjPQuJPysxWvp-Cyl_w_gzYUPzeA_s8h9kT6vBcSLOCTnU9DNcl8M3vVvgKNuOD0_riZMORCgE-G5tzL-aYvoE2or9xCBoBAO4RjcNMCNMe33BLk4vBrMZZComFiAkdl8Qc-rXW46_zEceWR1Q39rkeXrPAz6MQIJKuMLwQoXACJJAayp5gsGF7jXPBwcJ79dr0xN4v7F4k-VZrVOxINmVYqsjrvWTn9wgxIzOVqv4tK1yuPni_X5LtUSIDJiOq28bezM_RmekV4QTpBOvO5Hr1z-Rz8BtamoHAnrc8aBCqREFbZUbIaBD-tpdzTnyBhc4d6J0PM7jaR2uQzp8uENdYse7eYzBSXutblqMXRuPzCjtiZdF9y3qemlkCHcsIqXqA8xCZquoul7fZWMdTME4UBfGYKup2iy4YuRbDGpmqpyPOGpUnKl-5SccbXWPLTxE7IhaB766sLlpA34Q3XOcqiVJ10_3y8beOxFFZk43SrI8TUWL8JqGJa4sl5evmd9a7QQUxCfA0u89TC_Tm1rlYkuiBJs8-zf0ykqZw8khljY9p1nuHaR8r5ccP_AlmfMa1PG6fZSdabBhuRd7mZ7hq_-GDCz9kEw7LVhwBQahoVeINbHXZJAowVm48BJMRbkmZHhwd62Cqo_LBWFfib7ToFWo1krqNM-KDh8kuw5bFwQuvaq_KCCcB807-Ik56NboryMOqMIBQazU_q40tPb47UCq08u89h7YUVBZRm2pyLahN-dTNuTCse3yNyfdgkE83MqJgBghM4gxMfc8GAnAjuS9qi9rQNUOYMdreqUCmZemRcMySGDoxefuf6kRaqSheVCi9XBLwu8wm6RI-cbr4uifh7Hl7V3XkrrU6qHTi-jfqCLCTNPuiw30Kmpae5G2KlXYDkFZEit9CRB19bs1lCvqyb7H-TBlTjsvBazxs73M8rCyztgCyihUTHqdFgIbg6yoOwAGzGmY7IS_5w4trrMZ91dbewrQA2-eFvHG94CjiG0oQK5Gjs3UDpsXmqAQV_A15NHJ5OZ71vkA8esimMLVoGPtFr7jkYm2t79xmcatkQ5oOWf7NUCNmMTA-6pPwrxkA6vh5HaGW2dge5TD8Bar7qoKnmsscdi6FO4X63nA2Q3SURZX6vUHWILxwSfW9iZ1OYRiiaq0yqEjsiaHUhnJU5Gty4ku-yDAJQuolxNLdVAkfE7t9Po4afb_k3yBfLSJiiij-CvFePFhYHCNw59GinoUfbgBMegL_CAgsy0GBYEaZ3povSByB70OzyMS-kSu94Zs81lnZAtUdeSJKcq5SfXKC6Ysug3DNXRjsLSy80xKc8K6su0ZWXGNywnYAGFmtgTmgd4saDr0fsxgeLaZSM1LFedZqXxjFghgPus6J9NjbvCpLx0j666eW0ahPzK3Pio29Yu1RKoOSwPq6ojCoDLM5J0Dbsao_YWsT4AMZpjeZvY7Vk0yMF5cdrjF2PubBJK7JU66j-a0HCsAGGmo6rUVAe5JeWGVyxRJ1TJQSkxMBAWbZuSJblFP_zYHmySakYXEHe3jl7jaXx9X98VyF4-zse_WA8voLCCDBo_AjZE8i4IpxA92AMiOU3WXwxZJ7XAaEWHwDyTggAjBm6bgWvelPPdCW6cO0ZlVAsUZ6sULPqhimRE3f46wvFRVVk6scPR-DhycVYrHdtt1uoLdRmszHRqIvnHkUCkPQjviVKYP3xgZWmf33laGbNXpY2qVB05Zgl4HKOa9uqBPhct7V60nkvxz17JZY9V1V8XIOFl7ruJ9FoNF3_57KbKIC9GnzCRJfwH5uSt4FL4hebgXKT4HRRADkDoAjYv88yh0p7O4ROAhLa7EclCCTHLqiuOE0P5Uu7NXyfRLIS7reZkh29g8-IXxKoejVFONiszgUaS-k_tjY_x2a9gt6QS7uNoZnZhrywqR085wqHBre5mYDrvc_hK2bdXTADtGkLWS9bh3Q6OrxyhxkmHR76NVfxq5M1AuE9f-9WDGMF7kGRJqRkXhgYiEiYLnxKxbUzoc_vzTI_UhfUDgi_fFBbsmpKUYPPHgADNwjS8z4cXCp2f4D_Y4M7MwlirJAak50CjRTts-uEtHrDP8GlD2PRH74bNZaTHNEQ9GvCEKN5tKrEDW0FtTnAktupEYbDoYnSVacMhdm0Grs29LWekCu_3tdofEGNK7c1gmHqEsC1ZxoG8occ8PUcEv425shlxN9pOc2mV4dyMg3Rgk99G_ztuzOIwh23GnXzqnDeg3flOqngVvJbO5ytC1kcaHa62HR8FMUVDf2PFprYrH3SceN5k1RyXc501hS5mYwVW4_I6tjv_UdHpvBvcGqskZO1BI_d1fdmcMwbuHbeAt60sFOfzNhODLNc--qyqNdxDvFh17gqhYESeFIrUVGIg7EBhakz6UULoTV0rHbnq2CG5XpQX_jyeHs38f9S1kd61yGG5pQt0ijmyu-mIchmH53YSuvCGLFnfIF-xuUUtKQMzLGlbbnrCFgeGeSow19wKuysEWGlBhv5fsJ1Bb-ws2fIcXaUgV_oTSKkuB4CrlWbLtiwCt184hhuwOro8m4cgoVoY-4SLCWzb7lL48z9_OOMe8583zIai6D1iQyJ5hadVpaifYoTWjDhQl22qVrRWeLn40aW4AHDkPhPOKbUODxCbFIe-rq42gHdXHNswLZERWacY0KwjKVjHg1sYBr21idPj3Cfn7DsT1gfjlV5Au1ZsgXypLPf5IrMdaEH7VvdnE5inGE7qO_wBLeDJsD1t4_ihgjalZvakx9oQIfUCRISNdaam05KTUBxvR0b2ZXcR9XcByt35Wx2ng2cgj-RsbtgH8uyyLivwRqS9jBi7t-sN9tRecUg7wkGN0-diGYqSPbhk3QVOYFkC6EUNggTKicsoVGHyLVAKWMCuRqfQDVXsT4rzJtb_RT75kp07-i9Zs02Ho0OyRRdFmq7wG8vBxoIzGDW-xUSiIrbogAXGkR_O6sxa2n_V5Ub2oKwjXR5KkA_bobAYewNLDpE0ubG98Mge-legJlHQImseik9MLT4Ssygr4ZwNwEm7p2CILHGOPRaEVaTbxgIEfffcwkkxLFUPojVFheBNZuIVHjrg8BTLT7ngN-ArM68LF4OXucqCKm4jWOdjoinPHh8gYqMy1xRSzQhefD5Ok-SI_5yA_PDk8prYiAzPwI4ywBoLOPaMHlI3vONbqBaVM2sSC7qRfG79pU60RnX5BGYHvvr5OqW05HSVOXhmygRt2ej17v6v2IBFJRdy_YLp6xOT5nr5ZRDOgRzgaqEZaCzPUhUwYuZU2NLcNjPhxjjQaz798-kV8TnksDg-4UjJDeXB2RfprM2iy4yt8dy-3491-ifgYvG6T88OelJWVGF96q1XiBVJ3ggiQNlyjglrmM3gDsm6q1l8MpUMdTWHWBJ6SVlMX9wV4wKnPz6_gT6F7mgQtAnhYh_4imc4Sf1Z2Xbkv4XhVDEw2XzXLKR0tQ4NXIoRytehx1k-2k9n0KuQlC1uMLdqnx9UBGJ0cXny9DYZ9_KkWwZ5XCTYogxRM_QT34vzS_Up4AwsmCVmzAdqerRj0l7Fqw8t6wA1yOG-ZxHWh_7DS3AI5TDkzy7HH9IR0DS3xUGxZjOy2iBtUIRzJt9ZD42YwoCmY61wJQWoIuKW6-b1wcfymM9e4SY_hRm7Awl2D78AohFhhOH-61wgZSlA0MLMdjl_kP-D3E5dbGZs6KeWkngryBLczi0tsjqOHUq8WG1RWhfYvky-Erw3iUAGQCO07yVxe32d7gg_icQkW7F_lIxV6wzVlfrYD7jHUJrmLC86NcnEAYyNglCU1Ibyb4XaN_3zXkTCPxzLZZrDFOpMNsSzWKOWKVMfJcN80p6Aa5__Mj8YHBRjqeZvD2dwV9fAOIU2b-W7RlPfXzFh5s_ZEW8GEcpBa6Q4naAaplDWjxWq6C5lECXGsUuDrmMiKjzLSsy7s-3bpFFgXISk2zDI6ZduMQv2rdeH5TCI7zjZPlkNzUGD9qVK1rSx0lhDxpbnNGF70F4kQ0YGDjR2i19Yj3kbkn2tnleGjG_KkNkzUGpvCqO71LmIA2XPv8fFn_lMcL06waaoSt0w0zt717gJAHvpQH0oNF2yJdO93eLj7Pr6YwhxihDwMAX5VzREUYeG1_1RcYoem3n9hsdmjf3P8HDYu_UOhlEwpYQ4h26Xsa34xeEqfQqiLP_MvytFdqPQEtRN9x0Ax0ESymDaqDgNC0yoirsl_Sq9nfU6tq-bNheTADqspzqZZ4XTasPmtk8Wkti4YLSipOez06ubMDzAKtYGvFy40R9rOZkJN1k_JaEGBeU5iYBmUa-IlKbn9D5-kkfpc0PvMwkDmgXJIj-koVE8S0LN7EVC6kPjc4DdBJyN2G9mg9UUlDmgaqripFdjZrOnMzLfHHk63T1YM58pUZws7NQJLco6uZEJpQEEU7ljONTEAKLgjrLFADyMGwaNq3igG6idzbSl-47qxhIEuJVx6q4cA8-lElul3nAXcTrooR7GAlDLxqtqyUtpE3-w5kJFijLeEVdV-cqk6kzQExswZFk9Ln6MoVHAQfRXHrwcvK9ncu5jpASln_TRTDL7alw4rp4YGvC5SzST34rXaRFeLcjhISDDdmC5XPY9-h68JVH3ubTDarKjhhEfEK6Mlw-WGsM9mFuiscFrMDAuF8-IkEnHpBA3J9Fg36GShwCBlL25xD4IA247RwTQYKQckBcb-n7xsHmuZdg5S0Nw2NxtCU4EB423mYk1HonoonI09rXz_hucRPPvwBfh4pZwfnymaBKoAQxzEQck2xsNFzENrun74OGx0rMXyFXWTzi9uabjPhX9_flJzci9iGgpHRg7xJIJJWZXRoSeSEKJGoEPQtwZRN_SuCT1IXLCos_9ayxzr5vyZ_N6_W0XRDQqplyKKw9vBNpL1PGmghf6ThnlVUy5SjvgHJfTPRpnozj86DxhvKl4Jx2voF6gzdpqzSlfWIrDNh-OgCsOJxZ6m2n9WS8AL8A3ioMDPsOc2bjBu4sDdIpbEyOht72v5by2GnADgfzY19SIqjTiB9cvXCSQJ7PJRyhYQeArjMVFL08i-q9_1MvKewQiTehunGnLWSfFxMWZgyTAZjJIHScpWSkGFjmIUic989tpGLfz1Xt_DE0qIbh9vsEabGnXfZCTTz--17-kw71dR0QcItumCOE0aNaRsScljHDrzrvN8XCLX3LzuQA2l3aY767CL1dxjNYSWA605qTEKYpTdQygK-PCh5I0Ir73pHA0gWoPJZF7p-wjgrpWs0VaELahzm_Yf-qe_ecDnIqmCfkcWOufj-HymhyhSObszWQDht1mgYZCKCfE-zso2c9jdMLPVeJBcvDriMt5k0GutnXKwlpEEeA";if(!e)return null;if(Sn&&Sn.sealed===e)return Sn;let t=null;try{t=hs.parse(JSON.parse(qn(e,Rg)))}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 $g(){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=$g();return n?new Set(n):null}return new Set(e.map(n=>Ag.test(n)?n:le(n)))}var Rg,Ag,Sn,jt=k(()=>{"use strict";ps();Ge();yn();Rg="tokmizer-default-rules-v1",Ag=/^[0-9a-f]{16}$/,Sn=null});function Zs(e){Al=e}async function Cg(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 Dg(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(`
72
72
  `)?`
73
73
  `:"";return sr((s?r.slice(0,-1):r).split(`
74
74
  `)).join(`
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=bt(Qa(e.startsWith("bash-tool: ")?e.slice(11):e)),u=o!=null&&o!==0&&!(o===1&&$g.test(Bs(c)??c)),f=Va(a??Sl??Ag),d=null;for(let D of el(e))if(d=await f(D,n),d)break;!d&&s>=Cg&&!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)):Ya(t)),y=d?.transform==="smart-read"&&s<=2048&&(t.endsWith(`
75
+ `)+s}async function Ke(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&&Og.test(Bs(c)??c)),f=el(a??Al??Cg),d=null;for(let D of ol(e))if(d=await f(D,n),d)break;!d&&s>=Ig&&!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)),b=o==null&&(p?/^(?:fatal|error):/im.test(Re(t)):tl(t)),g=d?.transform==="smart-read"&&s<=2048&&(t.endsWith(`
76
76
  `)?t.slice(0,-1):t).split(`
77
- `).length<=60,A=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)),v=d?.transform==="smart-read"&&s<=16384&&(l.verbosity??"normal")==="normal"&&l.smartCode!==!0,T=d?.slug==="read-tool"&&s<Ig;if(!i&&(v||T||A||y&&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)&&yl.test(c)){let D=_l(t,l.verbosity??"normal"),Z=D===null?s:Buffer.byteLength(D,"utf8");if(D!==null&&Z<s)return{output:D,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=D=>{if(!i)return D;let Z=D.filteredBytes>s||s>0&&D.output.length===0?t:D.output,V=!D.debugBypass&&!d?.preserve_exact?Js(Z,"minimal",D.filterId??""):Z,ue=Us(V)===V?V:Us(Z);return{...D,output:ue,filteredBytes:Buffer.byteLength(ue,"utf8"),droppedTail:null}};if(d.slug==="tsc"&&!u&&!k&&!fl(e)){let D=dl(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?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?Pg(t,d,l.verbosity):d.strip_ansi&&!d.preserve_exact?Re(t):t;!i&&l.verbosity==="minimal"&&d.transform!=="smart-read"&&(D=cl(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 Z=!i&&!d.preserve_exact&&s>=Og?Ea(D.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)),v=d?.transform==="smart-read"&&s<=16384&&(l.verbosity??"normal")==="normal"&&l.smartCode!==!0,R=d?.slug==="read-tool"&&s<Ng;if(!i&&(v||R||T||g&&l.smartCode!==!0))return{output:t,filterId:d?.slug??null,rawBytes:s,filteredBytes:s,debugBypass:u||b,droppedTail:null};if(!i&&d&&!d.preserve_exact&&(u||b)&&xl.test(c)){let D=El(t,l.verbosity??"normal"),Z=D===null?s:Buffer.byteLength(D,"utf8");if(D!==null&&Z<s)return{output:D,filterId:d.slug,rawBytes:s,filteredBytes:Z,debugBypass:!0,droppedTail:t,failureSummary:!0}}if(!d||(u||b)&&d.preserve_exact&&!i)return{output:t,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:u||b,...i?{droppedTail:null}:{}};let E=D=>{if(!i)return D;let Z=D.filteredBytes>s||s>0&&D.output.length===0?t:D.output,V=!D.debugBypass&&!d?.preserve_exact?Js(Z,"minimal",D.filterId??""):Z,ue=Us(V)===V?V:Us(Z);return{...D,output:ue,filteredBytes:Buffer.byteLength(ue,"utf8"),droppedTail:null}};if(d.slug==="tsc"&&!u&&!b&&!gl(e)){let D=yl(t);if(D!==null)return E({output:D,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(D,"utf8"),debugBypass:!1,droppedTail:null})}if(u||b){let D=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?Dg(t,d,l.verbosity):d.strip_ansi&&!d.preserve_exact?Re(t):t;!i&&l.verbosity==="minimal"&&d.transform!=="smart-read"&&(D=pl(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 Z=!i&&!d.preserve_exact&&s>=Pg?Ca(D.split(`
78
78
  `)).join(`
79
- `):D,V=Z.length<D.length;return E({output:Z,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(Z,"utf8"),debugBypass:!0,...V?{droppedTail:t}:{}})}let{text:I,droppedTail:M}=Ms(t,d,i?{...l,verbosity:"minimal",...d.transform==="smart-read"?{smartCode:!0}:{}}:l),L=!i&&!d.preserve_exact?Js(I,l.verbosity,d.slug):I,z=Buffer.byteLength(L,"utf8");return t.trim().length>0&&z>=s?E({output:t,filterId:d.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):E({output:L,filterId:d.slug,rawBytes:s,filteredBytes:z,debugBypass:!1,droppedTail:M})}var Sl,$g,Cg,Og,Ig,vn=b(()=>{"use strict";la();Yn();Ls();Fs();qa();tl();rl();wn();or();ll();ul();or();ml();wl();jt();Sl=null;$g=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,Cg=2048,Og=8192,Ig=32*1024});import Ng from"node:os";import{join as En}from"node:path";import{existsSync as Dg,statSync as Mg,lstatSync as vl,unlinkSync as Fg,mkdirSync as Lg,chmodSync as jg}from"node:fs";import{createHash as Hg}from"node:crypto";function Bg(e){let t=Hg("sha256").update(x()).digest("hex").slice(0,8),n=En(Ng.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 El(n,e),r}function Ug(e,t){try{let n=vl(e);return n.isDirectory()&&n.uid===t&&(n.mode&63)===0}catch{return!1}}function El(e,t){Lg(e,{recursive:!0,mode:448});let n=vl(e);if(!n.isDirectory()||n.uid!==t)throw new Error("Unsafe IPC directory");jg(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&&Ug(t,e)){let s=En(t,`tokmizer-${e}.sock`);if(Buffer.byteLength(s)<=Ws)return{path:s,isPipe:!1}}let n=En(x(),"run"),r=En(n,"daemon.sock");return Buffer.byteLength(r)>Ws?{path:Bg(e),isPipe:!1}:(El(n,e),{path:r,isPipe:!1})}async function Ks(){let{path:e,isPipe:t}=kt();if(t||!Dg(e))return;try{if(!Mg(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{Fg(e)}catch{}}var Ws,yR,Vs=b(()=>{"use strict";j();Ws=100;yR=5*6e4});import{readFileSync as zg}from"node:fs";import{join as Jg}from"node:path";function _e(){try{return zg(Jg(x(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var Tn=b(()=>{"use strict";j()});var Cl=ae((SR,$l)=>{$l.exports=Al;Al.sync=Zg;var Tl=je("fs");function Gg(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 Rl(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:Gg(t,n)}function Al(e,t,n){Tl.stat(e,function(r,s){n(r,r?!1:Rl(s,e,t))})}function Zg(e,t){return Rl(Tl.statSync(e),e,t)}});var Dl=ae((vR,Nl)=>{Nl.exports=Il;Il.sync=Wg;var Ol=je("fs");function Il(e,t,n){Ol.stat(e,function(r,s){n(r,r?!1:Pl(s,t))})}function Wg(e,t){return Pl(Ol.statSync(e),t)}function Pl(e,t){return e.isFile()&&Kg(e,t)}function Kg(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 Fl=ae((TR,Ml)=>{var ER=je("fs"),mr;process.platform==="win32"||global.TESTING_WINDOWS?mr=Cl():mr=Dl();Ml.exports=Ys;Ys.sync=Vg;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 Vg(e,t){try{return mr.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var Jl=ae((RR,zl)=>{var Ht=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Ll=je("path"),Yg=Ht?";":":",jl=Fl(),Hl=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),Bl=(e,t)=>{let n=t.colon||Yg,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}},Ul=(e,t,n)=>{typeof t=="function"&&(n=t,t={}),t||(t={});let{pathEnv:r,pathExt:s,pathExtExe:o}=Bl(e,t),i=[],a=c=>new Promise((u,f)=>{if(c===r.length)return t.all&&i.length?u(i):f(Hl(e));let d=r[c],m=/^".*"$/.test(d)?d.slice(1,-1):d,p=Ll.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,y)=>{if(!k&&y)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)},qg=(e,t)=>{t=t||{};let{pathEnv:n,pathExt:r,pathExtExe:s}=Bl(e,t),o=[];for(let i=0;i<n.length;i++){let a=n[i],l=/^".*"$/.test(a)?a.slice(1,-1):a,c=Ll.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 Hl(e)};zl.exports=Ul;Ul.sync=qg});var Zl=ae((AR,qs)=>{"use strict";var Gl=(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=Gl;qs.exports.default=Gl});var Yl=ae(($R,Vl)=>{"use strict";var Wl=je("path"),Xg=Jl(),Qg=Zl();function Kl(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=Xg.sync(e.command,{path:n[Qg({env:n})],pathExt:t?Wl.delimiter:void 0})}catch{}finally{o&&process.chdir(r)}return i&&(i=Wl.resolve(s?e.options.cwd:"",i)),i}function ey(e){return Kl(e)||Kl(e,!0)}Vl.exports=ey});var ql=ae((CR,Qs)=>{"use strict";var Xs=/([()\][%!^"`<>&|;, *?])/g;function ty(e){return e=e.replace(Xs,"^$1"),e}function ny(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=ty;Qs.exports.argument=ny});var Ql=ae((OR,Xl)=>{"use strict";Xl.exports=/^#!(.*)/});var tc=ae((IR,ec)=>{"use strict";var ry=Ql();ec.exports=(e="")=>{let t=e.match(ry);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),s=n.split("/").pop();return s==="env"?r:r?`${s} ${r}`:s}});var rc=ae((PR,nc)=>{"use strict";var eo=je("fs"),sy=tc();function oy(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 sy(n.toString())}nc.exports=oy});var ac=ae((NR,ic)=>{"use strict";var iy=je("path"),sc=Yl(),oc=ql(),ay=rc(),ly=process.platform==="win32",cy=/\.(?:com|exe)$/i,uy=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function fy(e){e.file=sc(e);let t=e.file&&ay(e.file);return t?(e.args.unshift(e.file),e.command=t,sc(e)):e.file}function dy(e){if(!ly)return e;let t=fy(e),n=!cy.test(t);if(e.options.forceShell||n){let r=uy.test(t);e.command=iy.normalize(e.command),e.command=oc.command(e.command),e.args=e.args.map(o=>oc.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 my(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:dy(r)}ic.exports=my});var uc=ae((DR,cc)=>{"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 py(e,t){if(!to)return;let n=e.emit;e.emit=function(r,s){if(r==="exit"){let o=lc(s,t);if(o)return n.call(e,"error",o)}return n.apply(e,arguments)}}function lc(e,t){return to&&e===1&&!t.file?no(t.original,"spawn"):null}function hy(e,t){return to&&e===1&&!t.file?no(t.original,"spawnSync"):null}cc.exports={hookChildProcess:py,verifyENOENT:lc,verifyENOENTSync:hy,notFoundError:no}});var mc=ae((MR,Bt)=>{"use strict";var fc=je("child_process"),ro=ac(),so=uc();function dc(e,t,n){let r=ro(e,t,n),s=fc.spawn(r.command,r.args,r.options);return so.hookChildProcess(s,r),s}function gy(e,t,n){let r=ro(e,t,n),s=fc.spawnSync(r.command,r.args,r.options);return s.error=s.error||so.verifyENOENTSync(s.status,r),s}Bt.exports=dc;Bt.exports.spawn=dc;Bt.exports.sync=gy;Bt.exports._parse=ro;Bt.exports._enoent=so});function yy(){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>yy())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 by)t=t.replace(n,r);return t}var by,io=b(()=>{"use strict";by=[[/(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 HR,randomUUID as ky}from"node:crypto";import{readFile as pc,writeFile as hc,mkdir as _y}from"node:fs/promises";async function ao(){try{let n=(await pc(mn(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(n))return n}catch{}await _y(x(),{recursive:!0});let e=ky();try{return await hc(mn(),e,{mode:384,flag:"wx"}),e}catch{try{let t=(await pc(mn(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(t))return t}catch{}return await hc(mn(),e,{mode:384}),e}}var lo=b(()=>{"use strict";j()});import{readFile as wy,writeFile as GR,mkdir as ZR,chmod as WR,rm as KR,rename as VR,readdir as YR}from"node:fs/promises";import{join as xy}from"node:path";async function Me(){let e=null;try{let t=JSON.parse(await wy(xy(x(),Sy),"utf8"));typeof t=="object"&&t!==null&&!Array.isArray(t)&&(e=t)}catch{}return e?Ct.parse({...gc,...e}):gc}var Sy,gc,eA,Ut=b(()=>{"use strict";Ge();j();Sy="settings-cache.json",gc=Ct.parse({}),eA=Ct.partial().extend({filters:Ct.shape.filters.removeDefault().partial().optional()})});var yc=b(()=>{"use strict";j();Ut();gn();It()});import{join as bc}from"node:path";import{appendFileSync as vy,chmodSync as Ey,existsSync as Ty,mkdirSync as Ry,readFileSync as fA,renameSync as dA,rmdirSync as mA,statSync as Ay,unlinkSync as pA,utimesSync as hA,writeFileSync as gA}from"node:fs";function kc(){return bc(x(),"spool")}function Cy(e){return bc(kc(),`${e}.jsonl`)}function gr(e,t){if(hn())try{Ry(kc(),{recursive:!0,mode:448});let n=Cy(e);if(Ty(n)&&Ay(n).size>=$y)return;vy(n,JSON.stringify(t)+`
80
- `,{mode:384}),Ey(n,384)}catch{return}}var $y,co=b(()=>{"use strict";j();pn();lo();ms();Ut();gn();yc();$y=512*1024});function By(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 Ly.has(n.toLowerCase())?n:""}function Uy(e,t,n){let r=0;for(;e==="git"&&r<n.length&&n[r].startsWith("-");)r+=Hy.has(n[r])?2:1;let s=(n[r]??"").toLowerCase();return t.has(s)?`${e} ${s}`:e}function _c(e){let t=e.toLowerCase();return t.startsWith("git")||Dy.has(t)}function uo(e){let t=e.trim().split(/\s+/).filter(l=>l.length>0),n=0;for(;n<t.length&&Ny.test(t[n]??"");)n+=1;let r=By(t[n]??"");if(!r||!Iy.test(r)||r.length>Fy)return"";let s=jy.get(r.toLowerCase());if(s)return Uy(r.toLowerCase(),s,t.slice(n+1));if(_c(r)||My.test(r)||Rn(r)!==r)return"";let o=t[n+1];return o&&_c(o)?"":(o&&wc.has(r.toLowerCase())&&Py.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 Iy,Py,Ny,Dy,My,Fy,wc,Ly,jy,Hy,br=b(()=>{"use strict";io();co();Iy=/^[a-z0-9][a-z0-9._-]*$/i,Py=/^[a-z][a-z-]+$/,Ny=/^[A-Za-z_][A-Za-z0-9_]*=/,Dy=new Set(["gh","glab","gup","hub","gist"]),My=/^(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,Fy=24,wc=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"]),Ly=new Set([...wc,"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"]),jy=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"])]]),Hy=new Set(["-C","-c"])});async function kr(e){if(e.plan!=="pro"||Ka(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();Ge();Ls();Ut()});function xc(e){return e?zy[e]??"anthropic":"anthropic"}var zy,Sc=b(()=>{"use strict";zy={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"}});import{appendFileSync as Jy,chmodSync as Gy,mkdirSync as Zy,readFileSync as Ac,realpathSync as Wy,renameSync as $c,rmSync as Cc,statSync as Oc,writeFileSync as mo}from"node:fs";import{basename as vc,dirname as Ic,join as _r,resolve as Ky,sep as LA}from"node:path";function Pc(){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 tb(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"&&Qy.has(n.o)?{o:n.o}:{}}}catch{return null}}function nb(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),n.r+=t.r,n.f+=t.f,e.cmds[t.c]=n}function rb(e){return e.s==="b"?`b:${(e.c??"").split(" ")[0]||"other"}`:e.s?.startsWith("u:")?e.s:e.o==="n"?"n":"?"}function sb(e,t){let n=rb(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 ob(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>Xy){e.ox+=1;return}if(nb(e,t),t.k==="restore"?(e.rn+=1,e.rb+=t.f):sb(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=xc(t.h),r=e.prov[n]??{r:0,f:0};r.r+=t.r,r.f+=t.f,e.prov[n]=r}}function ib(e){let t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function Nc(e){return _r(Ic(e),Yy)}function ab(e){let t=Nc(e),n;try{n=Ac(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]={...Pc(),...i});return s}catch{try{$c(t,`${t}.corrupt-${Date.now()}`)}catch{}return{}}}function Tc(e,t){let n=`${e}.tmp-${process.pid}`;mo(n,t,{mode:384}),$c(n,e)}function lb(e){try{return mo(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-Oc(e).mtimeMs<qy?!1:(Cc(e,{force:!0}),mo(e,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function cb(e,t=Ec,n=Ec/2){try{if(Oc(e).size<=t)return}catch{return}let r=`${e}.lock`;if(lb(r))try{let s=Ac(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=ab(e);for(let c of s.slice(0,o)){let u=tb(c);if(!u)continue;let f=ib(u.t),d=a[f]??Pc();ob(d,u),a[f]=d}let l=s.slice(o);Tc(e,l.length?`${l.join(`
79
+ `):D,V=Z.length<D.length;return E({output:Z,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(Z,"utf8"),debugBypass:!0,...V?{droppedTail:t}:{}})}let{text:I,droppedTail:M}=Ms(t,d,i?{...l,verbosity:"minimal",...d.transform==="smart-read"?{smartCode:!0}:{}}:l),L=!i&&!d.preserve_exact?Js(I,l.verbosity,d.slug):I,z=Buffer.byteLength(L,"utf8");return t.trim().length>0&&z>=s?E({output:t,filterId:d.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):E({output:L,filterId:d.slug,rawBytes:s,filteredBytes:z,debugBypass:!1,droppedTail:M})}var Al,Og,Ig,Pg,Ng,vn=k(()=>{"use strict";ma();Yn();Ls();Fs();nl();il();ll();wn();or();ml();hl();or();bl();Tl();jt();Al=null;Og=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,Ig=2048,Pg=8192,Ng=32*1024});import Mg from"node:os";import{join as En}from"node:path";import{existsSync as Fg,statSync as Lg,lstatSync as $l,unlinkSync as jg,mkdirSync as Hg,chmodSync as Bg}from"node:fs";import{createHash as Ug}from"node:crypto";function zg(e){let t=Ug("sha256").update(x()).digest("hex").slice(0,8),n=En(Mg.tmpdir(),`tkr-${e}-${t}`),r=En(n,"d.sock");if(Buffer.byteLength(r)>Ks)throw new Error("Temporary directory path is too long for IPC");return Cl(n,e),r}function Jg(e,t){try{let n=$l(e);return n.isDirectory()&&n.uid===t&&(n.mode&63)===0}catch{return!1}}function Cl(e,t){Hg(e,{recursive:!0,mode:448});let n=$l(e);if(!n.isDirectory()||n.uid!==t)throw new Error("Unsafe IPC directory");Bg(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&&Jg(t,e)){let s=En(t,`tokmizer-${e}.sock`);if(Buffer.byteLength(s)<=Ks)return{path:s,isPipe:!1}}let n=En(x(),"run"),r=En(n,"daemon.sock");return Buffer.byteLength(r)>Ks?{path:zg(e),isPipe:!1}:(Cl(n,e),{path:r,isPipe:!1})}async function Ws(){let{path:e,isPipe:t}=kt();if(t||!Fg(e))return;try{if(!Lg(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 Ks,kR,Vs=k(()=>{"use strict";j();Ks=100;kR=5*6e4});import{readFileSync as Gg}from"node:fs";import{join as Zg}from"node:path";function _e(){try{return Gg(Zg(x(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var Tn=k(()=>{"use strict";j()});var Dl=ae((ER,Nl)=>{Nl.exports=Pl;Pl.sync=Wg;var Ol=je("fs");function Kg(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:Kg(t,n)}function Pl(e,t,n){Ol.stat(e,function(r,s){n(r,r?!1:Il(s,e,t))})}function Wg(e,t){return Il(Ol.statSync(e),e,t)}});var Hl=ae((TR,jl)=>{jl.exports=Fl;Fl.sync=Vg;var Ml=je("fs");function Fl(e,t,n){Ml.stat(e,function(r,s){n(r,r?!1:Ll(s,t))})}function Vg(e,t){return Ll(Ml.statSync(e),t)}function Ll(e,t){return e.isFile()&&Yg(e,t)}function Yg(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((AR,Bl)=>{var RR=je("fs"),mr;process.platform==="win32"||global.TESTING_WINDOWS?mr=Dl():mr=Hl();Bl.exports=Ys;Ys.sync=qg;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 qg(e,t){try{return mr.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var Vl=ae(($R,Wl)=>{var Ht=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",zl=je("path"),Xg=Ht?";":":",Jl=Ul(),Gl=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),Zl=(e,t)=>{let n=t.colon||Xg,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}},Kl=(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),b=!m&&/^\.[\\\/]/.test(e)?e.slice(0,2)+p:p;u(l(b,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},(b,g)=>{if(!b&&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)},Qg=(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)};Wl.exports=Kl;Kl.sync=Qg});var ql=ae((CR,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((OR,ec)=>{"use strict";var Xl=je("path"),ey=Vl(),ty=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=ey.sync(e.command,{path:n[ty({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 ny(e){return Ql(e)||Ql(e,!0)}ec.exports=ny});var nc=ae((IR,Qs)=>{"use strict";var Xs=/([()\][%!^"`<>&|;, *?])/g;function ry(e){return e=e.replace(Xs,"^$1"),e}function sy(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=ry;Qs.exports.argument=sy});var sc=ae((PR,rc)=>{"use strict";rc.exports=/^#!(.*)/});var ic=ae((NR,oc)=>{"use strict";var oy=sc();oc.exports=(e="")=>{let t=e.match(oy);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((DR,ac)=>{"use strict";var eo=je("fs"),iy=ic();function ay(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 iy(n.toString())}ac.exports=ay});var dc=ae((MR,fc)=>{"use strict";var ly=je("path"),cc=tc(),uc=nc(),cy=lc(),uy=process.platform==="win32",fy=/\.(?:com|exe)$/i,dy=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function my(e){e.file=cc(e);let t=e.file&&cy(e.file);return t?(e.args.unshift(e.file),e.command=t,cc(e)):e.file}function py(e){if(!uy)return e;let t=my(e),n=!fy.test(t);if(e.options.forceShell||n){let r=dy.test(t);e.command=ly.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 hy(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:py(r)}fc.exports=hy});var hc=ae((FR,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 gy(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 yy(e,t){return to&&e===1&&!t.file?no(t.original,"spawnSync"):null}pc.exports={hookChildProcess:gy,verifyENOENT:mc,verifyENOENTSync:yy,notFoundError:no}});var bc=ae((LR,Bt)=>{"use strict";var gc=je("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 by(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=by;Bt.exports._parse=ro;Bt.exports._enoent=so});function ky(){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>ky())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=k(()=>{"use strict"});function Rn(e){let t=e;for(let[n,r]of _y)t=t.replace(n,r);return t}var _y,io=k(()=>{"use strict";_y=[[/(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 UR,randomUUID as wy}from"node:crypto";import{readFile as kc,writeFile as _c,mkdir as xy}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 xy(x(),{recursive:!0});let e=wy();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=k(()=>{"use strict";j()});import{readFile as Sy,writeFile as KR,mkdir as WR,chmod as VR,rm as YR,rename as qR,readdir as XR}from"node:fs/promises";import{join as vy}from"node:path";async function Me(){let e=null;try{let t=JSON.parse(await Sy(vy(x(),Ey),"utf8"));typeof t=="object"&&t!==null&&!Array.isArray(t)&&(e=t)}catch{}return e?Ct.parse({...wc,...e}):wc}var Ey,wc,nA,Ut=k(()=>{"use strict";Ge();j();Ey="settings-cache.json",wc=Ct.parse({}),nA=Ct.partial().extend({filters:Ct.shape.filters.removeDefault().partial().optional()})});var xc=k(()=>{"use strict";j();Ut();gn();It()});import{join as Sc}from"node:path";import{appendFileSync as Ty,chmodSync as Ry,existsSync as Ay,mkdirSync as $y,readFileSync as mA,renameSync as pA,rmdirSync as hA,statSync as Cy,unlinkSync as gA,utimesSync as yA,writeFileSync as bA}from"node:fs";function vc(){return Sc(x(),"spool")}function Iy(e){return Sc(vc(),`${e}.jsonl`)}function gr(e,t){if(hn())try{$y(vc(),{recursive:!0,mode:448});let n=Iy(e);if(Ay(n)&&Cy(n).size>=Oy)return;Ty(n,JSON.stringify(t)+`
80
+ `,{mode:384}),Ry(n,384)}catch{return}}var Oy,co=k(()=>{"use strict";j();pn();lo();ms();Ut();gn();xc();Oy=512*1024});function zy(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 Hy.has(n.toLowerCase())?n:""}function Jy(e,t,n){let r=0;for(;e==="git"&&r<n.length&&n[r].startsWith("-");)r+=Uy.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")||Fy.has(t)}function uo(e){let t=e.trim().split(/\s+/).filter(l=>l.length>0),n=0;for(;n<t.length&&My.test(t[n]??"");)n+=1;let r=zy(t[n]??"");if(!r||!Ny.test(r)||r.length>jy)return"";let s=By.get(r.toLowerCase());if(s)return Jy(r.toLowerCase(),s,t.slice(n+1));if(Ec(r)||Ly.test(r)||Rn(r)!==r)return"";let o=t[n+1];return o&&Ec(o)?"":(o&&Tc.has(r.toLowerCase())&&Dy.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 Ny,Dy,My,Fy,Ly,jy,Tc,Hy,By,Uy,br=k(()=>{"use strict";io();co();Ny=/^[a-z0-9][a-z0-9._-]*$/i,Dy=/^[a-z][a-z-]+$/,My=/^[A-Za-z_][A-Za-z0-9_]*=/,Fy=new Set(["gh","glab","gup","hub","gist"]),Ly=/^(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"]),Hy=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"]),By=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"])]]),Uy=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=k(()=>{"use strict";br();io();co();Ge();Ls();Ut()});function Rc(e){return e?Gy[e]??"anthropic":"anthropic"}var Gy,Ac=k(()=>{"use strict";Gy={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"}});import{appendFileSync as Zy,chmodSync as Ky,mkdirSync as Wy,readFileSync as Pc,realpathSync as Vy,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 Yy,sep as HA}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 rb(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"&&tb.has(n.o)?{o:n.o}:{}}}catch{return null}}function sb(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),n.r+=t.r,n.f+=t.f,e.cmds[t.c]=n}function ob(e){return e.s==="b"?`b:${(e.c??"").split(" ")[0]||"other"}`:e.s?.startsWith("u:")?e.s:e.o==="n"?"n":"?"}function ib(e,t){let n=ob(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>eb){e.ox+=1;return}if(sb(e,t),t.k==="restore"?(e.rn+=1,e.rb+=t.f):ib(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 lb(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),Xy)}function cb(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 ub(e){try{return mo(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-Mc(e).mtimeMs<Qy?!1:(Dc(e,{force:!0}),mo(e,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function fb(e,t=Cc,n=Cc/2){try{if(Mc(e).size<=t)return}catch{return}let r=`${e}.lock`;if(ub(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=cb(e);for(let c of s.slice(0,o)){let u=rb(c);if(!u)continue;let f=lb(u.t),d=a[f]??Lc();ab(d,u),a[f]=d}let l=s.slice(o);Oc(e,l.length?`${l.join(`
82
82
  `)}
83
- `:""),Tc(Nc(e),JSON.stringify({v:1,days:a}))}catch{return}finally{Cc(r,{force:!0})}}function ub(e){let t=Ky(e),n=t,r="";for(;;){try{return _r(Wy(n),r)}catch{}let s=Ic(n);if(s===n)return t;r=r?_r(vc(n),r):vc(n),n=s}}function Rc(e){return e.length===0||e[0]==="cd"||e.every(t=>Dc.test(t))}function hb(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(),Rc(t)){t=[];continue}return t}n+=i,r=!0}return o(),Rc(t)?[]:t}function zt(e){let t=hb(e).map(a=>a.replace(/^[({]+/,"")).filter(Boolean),n=0;for(;n<t.length;){let a=t[n];if(Dc.test(a)){n+=1;continue}if(fb.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)&&pb.has(s.toLowerCase())?`${s} ${o}`:s).slice(0,24)}function gb(){return _r(x(),Vy)}function wr(e,t,n=gb(),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?ub(a):"",m=d&&d.length<=eb?`,"p":${JSON.stringify(d)}`:"",p=l.s?`,"s":${JSON.stringify(l.s.slice(0,66))}`:"",k=l.o?`,"o":${JSON.stringify(l.o)}`:"",y=`{"t":${Math.floor(Date.now()/1e3)},"r":${e},"f":${t}${r?',"m":1':""}${c}${u}${f}${m}${p}${k}}
85
- `;try{Zy(x(),{recursive:!0,mode:448}),Jy(n,y,{mode:384}),Gy(n,384),cb(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 Vy,Yy,Ec,qy,Xy,Qy,eb,fb,db,mb,pb,Dc,po=b(()=>{"use strict";j();Sc();Vy="stats.jsonl",Yy="stats-ledger.json",Ec=2*1024*1024,qy=3e4,Xy=3e4,Qy=new Set(["n","g","e"]),eb=256;fb=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,pb=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"]),Dc=/^[A-Za-z_][A-Za-z0-9_]*=/});import{appendFileSync as yb,mkdirSync as bb,readFileSync as kb,writeFileSync as _b,renameSync as wb,statSync as xb,readdirSync as zA,rmSync as JA,chmodSync as Sb}from"node:fs";import{join as Mc}from"node:path";function Fc(){return Mc(x(),"sessions")}function Rb(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Mc(Fc(),`${t}.jsonl`)}function vr(e,t){try{let n=Rb(e);bb(Fc(),{recursive:!0,mode:448});let r=JSON.stringify({t:t.t??Math.floor(Date.now()/1e3),tool:t.tool,target:t.target.slice(0,Tb),...t.fail?{fail:1}:{}});if(yb(n,`${r}
86
- `,{mode:384}),Sb(n,384),xb(n).size>vb){let s=kb(n,"utf8").split(`
87
- `).filter(a=>a.trim()!==""),o=s.slice(s.length-Eb),i=`${n}.tmp-${process.pid}`;_b(i,`${o.join(`
83
+ `:""),Oc(jc(e),JSON.stringify({v:1,days:a}))}catch{return}finally{Dc(r,{force:!0})}}function db(e){let t=Yy(e),n=t,r="";for(;;){try{return _r(Vy(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 yb(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=yb(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(mb.has(a)){for(n+=1;n<t.length;){let l=t[n];if(l.startsWith("-")){n+=pb.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("-")&&hb.test(o)&&gb.has(s.toLowerCase())?`${s} ${o}`:s).slice(0,24)}function bb(){return _r(x(),qy)}function wr(e,t,n=bb(),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?db(a):"",m=d&&d.length<=nb?`,"p":${JSON.stringify(d)}`:"",p=l.s?`,"s":${JSON.stringify(l.s.slice(0,66))}`:"",b=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}${b}}
85
+ `;try{Wy(x(),{recursive:!0,mode:448}),Zy(n,g,{mode:384}),Ky(n,384),fb(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 qy,Xy,Cc,Qy,eb,tb,nb,mb,pb,hb,gb,Hc,po=k(()=>{"use strict";j();Ac();qy="stats.jsonl",Xy="stats-ledger.json",Cc=2*1024*1024,Qy=3e4,eb=3e4,tb=new Set(["n","g","e"]),nb=256;mb=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),pb=new Set(["-u","-g","-n","-s","-k"]),hb=/^[a-z0-9][a-z0-9._-]*$/i,gb=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 kb,mkdirSync as _b,readFileSync as wb,writeFileSync as xb,renameSync as Sb,statSync as vb,readdirSync as GA,rmSync as ZA,chmodSync as Eb}from"node:fs";import{join as Bc}from"node:path";function Uc(){return Bc(x(),"sessions")}function $b(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=$b(e);_b(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,Ab),...t.fail?{fail:1}:{}});if(kb(n,`${r}
86
+ `,{mode:384}),Eb(n,384),vb(n).size>Tb){let s=wb(n,"utf8").split(`
87
+ `).filter(a=>a.trim()!==""),o=s.slice(s.length-Rb),i=`${n}.tmp-${process.pid}`;xb(i,`${o.join(`
88
88
  `)}
89
- `,{mode:384}),wb(i,n)}}catch{}}var vb,Eb,WA,Tb,ho=b(()=>{"use strict";j();vb=96*1024,Eb=500,WA=168*3600*1e3,Tb=120});import{basename as Ab}from"node:path";function Jt(e){let t=Ab(e).replace(/\.(m?js|ts)$/,"");if(t==="tkr")return[];for(let[n,r]of Object.entries($b))if(r===t)return[n];for(let[n,r]of Object.entries(Cb))if(r===t)return["hook",n];return null}var $b,Cb,An=b(()=>{"use strict";$b={exec:"tkr-exec",processor:"tkr-processor",daemon:"tkr-daemon","shim-run":"tkr-shim"},Cb={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"}});function Ae(){return!1}function $n(e,t=process.execPath){let n=Ae()?Jt(e):null;return n?[process.execPath,...n]:[t,e]}var Ke=b(()=>{"use strict";An()});import{rmSync as Ob,statSync as Ib}from"node:fs";import{join as Lc}from"node:path";function Er(){return Lc(x(),"shims")}function go(){return Lc(x(),"fail-open")}function he(e=Date.now()){try{if(e-Ib(go()).mtimeMs<Pb)return!0;Ob(go(),{force:!0})}catch{}return!1}var Pb,we=b(()=>{"use strict";j();Pb=24*36e5});var yo=b(()=>{"use strict";j();Ke();An();we()});import{chmod as Lb,lstat as Hc,mkdir as jb,readFile as ko,rename as Hb,rm as f$,unlink as Bc,writeFile as Bb}from"node:fs/promises";import{createHash as Uc}from"node:crypto";import{basename as Ub,join as zc}from"node:path";function Jc(){return zc(x(),"backup","config")}function bo(e){let t=wo(e),n=Uc("sha256").update(t).digest("hex").slice(0,16),r=Ub(t).replace(/[^A-Za-z0-9._-]/g,"_").slice(0,80);return zc(Jc(),`${n}-${r}`)}function Gc(e){return`${bo(e)}.written`}function Zc(e){return Uc("sha256").update(e).digest("hex")}async function Jb(e){try{return await Hc(e),!0}catch{return!1}}async function _o(e,t){let n=`${e}.tmp-${process.pid}`;try{return await jb(Jc(),{recursive:!0,mode:448}),await Bb(n,t,{mode:384}),await Lb(n,384),await Hb(n,e),!0}catch{return await Bc(n).catch(()=>{}),!1}}async function Gb(e,t){let n=`${e}${zb}`;try{if(!(await Hc(n)).isFile())return!1}catch{return!1}let r=!await Jb(t);if(r&&!await _o(t,await ko(n,"utf8")))throw new Error("backup");return await Bc(n).catch(()=>{}),r}async function Zb(e,t){try{return(await ko(Gc(e),"utf8")).trim()===Zc(t)}catch{return!1}}async function Wc(e,t){let n=t;try{n===void 0&&(n=await ko(e,"utf8"))}catch(r){return r.code==="ENOENT"}try{if(await Gb(e,bo(e)))return!0}catch{return!1}return await Zb(e,n)?!0:_o(bo(e),n)}async function Tr(e,t,n){return!await Wc(e,n)||!await Ar(e,t)?!1:(await _o(Gc(e),`${Zc(t)}
90
- `),!0)}var zb,Rr=b(()=>{"use strict";j();$e();zb=".tkr-bak"});import{readFile as Wb,writeFile as Kb,rename as Vb,mkdir as Yc,chmod as Yb,stat as qb,unlink as Xb}from"node:fs/promises";import{existsSync as Qb,lstatSync as ek,readlinkSync as tk,realpathSync as Kc}from"node:fs";import{basename as nk,dirname as $r,join as rk,resolve as Vc}from"node:path";function F(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}async function Ve(e){if(!Qb(e))return{};try{let t=JSON.parse(await Wb(e,"utf8"));return F(t)?t:null}catch{return null}}function wo(e){let t=Vc(e);for(let n=0;n<32;n++){try{return Kc(t)}catch{}try{if(!ek(t).isSymbolicLink())break;t=Vc($r(t),tk(t))}catch{break}}try{return rk(Kc($r(t)),nk(t))}catch{return t}}async function Ar(e,t){let n=wo(e),r=`${n}.tmp-${process.pid}`;try{await Yc($r(n),{recursive:!0});let s=384;try{s=(await qb(n)).mode&511}catch{}return await Kb(r,t,{mode:s}),await Yb(r,s),await Vb(r,n),!0}catch{try{await Xb(r)}catch{}return!1}}async function Ye(e,t){try{await Yc($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*${sk}\\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(!F(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 sk,$e=b(()=>{"use strict";An();Ke();yo();Rr();sk=String.raw`(?:'(?:(?:[^']|'\\'')*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?'|"(?:[^"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?"|(?:[^\s'"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?)`});import{existsSync as A$,readFileSync as ok}from"node:fs";import{join as ik}from"node:path";import ak from"node:os";function ck(){return ik(ak.homedir(),".cursor","hooks.json")}function uk(e){return F(e)&&Gt(e.command,lk)}function fk(e){let t=F(e.hooks)?e.hooks:{},n=Array.isArray(t[qc])?t[qc]:[];return{hooks:t,entries:n}}function Xc(){try{let e=JSON.parse(ok(ck(),"utf8"));return fk(e).entries.some(uk)}catch{return!1}}var lk,qc,Qc=b(()=>{"use strict";$e();lk="tkr-cursor-hook",qc="preToolUse"});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(process.env.GEMINI_CLI_HOME||pk.homedir(),".gemini","settings.json")}function yk(e){return F(e)&&Gt(e.command,hk)}function bk(e){return(Array.isArray(e.hooks)?e.hooks:[]).find(yk)}function kk(e){let t=F(e.hooks)?e.hooks:{},n=Array.isArray(t[eu])?t[eu]:[];return{hooks:t,groups:n}}function tu(){try{let e=JSON.parse(dk(gk(),"utf8"));return kk(e).groups.some(t=>bk(t)!=null)}catch{return!1}}var hk,eu,nu=b(()=>{"use strict";$e();hk="tkr-gemini-hook",eu="BeforeTool"});import{existsSync as B$,accessSync as U$,constants as z$,readFileSync as _k}from"node:fs";function xk(e){return e.includes(wk)}function ru(e){try{return xk(_k(e,"utf8"))}catch{return!1}}var wk,su=b(()=>{"use strict";$e();Ke();Rr();j();wk='"rewrite", "--host"'});import{readFile as iu,mkdir as Sk}from"node:fs/promises";import{existsSync as vo,readFileSync as au}from"node:fs";import{dirname as vk,join as So}from"node:path";import lu from"node:os";function In(){return So(process.env.VIBE_HOME||So(lu.homedir(),".vibe"),"hooks.toml")}function ou(e){return JSON.stringify(e)}function Ek(e){return["[[hooks]]",`name = ${ou(cu)}`,'type = "pre_tool"','match = "bash"',`command = ${ou(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*"${cu}"\\s*$`,"m").test(e)}async function uu(e,t){try{await Sk(vk(e),{recursive:!0})}catch{return!1}return Tr(e,t)}function fu(){try{return Eo(au(In(),"utf8")).some(On)}catch{return!1}}async function du(e){let t=In(),n="";try{vo(t)&&(n=await iu(t,"utf8"))}catch{return"error"}let r=Ek(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}
89
+ `,{mode:384}),Sb(i,n)}}catch{}}var Tb,Rb,VA,Ab,ho=k(()=>{"use strict";j();Tb=96*1024,Rb=500,VA=168*3600*1e3,Ab=120});import{basename as Cb}from"node:path";function Jt(e){let t=Cb(e).replace(/\.(m?js|ts)$/,"");if(t==="tkr")return[];for(let[n,r]of Object.entries(Ob))if(r===t)return[n];for(let[n,r]of Object.entries(Ib))if(r===t)return["hook",n];return null}var Ob,Ib,An=k(()=>{"use strict";Ob={exec:"tkr-exec",processor:"tkr-processor",daemon:"tkr-daemon","shim-run":"tkr-shim"},Ib={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"}});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=k(()=>{"use strict";An()});import{rmSync as Pb,statSync as Nb}from"node:fs";import{join as zc}from"node:path";function Er(){return zc(x(),"shims")}function go(){return zc(x(),"fail-open")}function he(e=Date.now()){try{if(e-Nb(go()).mtimeMs<Db)return!0;Pb(go(),{force:!0})}catch{}return!1}var Db,we=k(()=>{"use strict";j();Db=24*36e5});var yo=k(()=>{"use strict";j();We();An();we()});import{chmod as Hb,lstat as Gc,mkdir as Bb,readFile as ko,rename as Ub,rm as m$,unlink as Zc,writeFile as zb}from"node:fs/promises";import{createHash as Kc}from"node:crypto";import{basename as Jb,join as Wc}from"node:path";function Vc(){return Wc(x(),"backup","config")}function bo(e){let t=wo(e),n=Kc("sha256").update(t).digest("hex").slice(0,16),r=Jb(t).replace(/[^A-Za-z0-9._-]/g,"_").slice(0,80);return Wc(Vc(),`${n}-${r}`)}function Yc(e){return`${bo(e)}.written`}function qc(e){return Kc("sha256").update(e).digest("hex")}async function Zb(e){try{return await Gc(e),!0}catch{return!1}}async function _o(e,t){let n=`${e}.tmp-${process.pid}`;try{return await Bb(Vc(),{recursive:!0,mode:448}),await zb(n,t,{mode:384}),await Hb(n,384),await Ub(n,e),!0}catch{return await Zc(n).catch(()=>{}),!1}}async function Kb(e,t){let n=`${e}${Gb}`;try{if(!(await Gc(n)).isFile())return!1}catch{return!1}let r=!await Zb(t);if(r&&!await _o(t,await ko(n,"utf8")))throw new Error("backup");return await Zc(n).catch(()=>{}),r}async function Wb(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 Kb(e,bo(e)))return!0}catch{return!1}return await Wb(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 Gb,Rr=k(()=>{"use strict";j();$e();Gb=".tkr-bak"});import{readFile as Vb,writeFile as Yb,rename as qb,mkdir as tu,chmod as Xb,stat as Qb,unlink as ek}from"node:fs/promises";import{existsSync as tk,lstatSync as nk,readlinkSync as rk,realpathSync as Qc}from"node:fs";import{basename as sk,dirname as $r,join as ok,resolve as eu}from"node:path";function F(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}async function Ve(e){if(!tk(e))return{};try{let t=JSON.parse(await Vb(e,"utf8"));return F(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(!nk(t).isSymbolicLink())break;t=eu($r(t),rk(t))}catch{break}}try{return ok(Qc($r(t)),sk(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 Qb(n)).mode&511}catch{}return await Yb(r,t,{mode:s}),await Xb(r,s),await qb(r,n),!0}catch{try{await ek(r)}catch{}return!1}}async function Ye(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*${ik}\\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(!F(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 ik,$e=k(()=>{"use strict";An();We();yo();Rr();ik=String.raw`(?:'(?:(?:[^']|'\\'')*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?'|"(?:[^"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?"|(?:[^\s'"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?)`});import{existsSync as C$,readFileSync as ak}from"node:fs";import{join as lk}from"node:path";import ck from"node:os";function fk(){return lk(ck.homedir(),".cursor","hooks.json")}function dk(e){return F(e)&&Gt(e.command,uk)}function mk(e){let t=F(e.hooks)?e.hooks:{},n=Array.isArray(t[nu])?t[nu]:[];return{hooks:t,entries:n}}function ru(){try{let e=JSON.parse(ak(fk(),"utf8"));return mk(e).entries.some(dk)}catch{return!1}}var uk,nu,su=k(()=>{"use strict";$e();uk="tkr-cursor-hook",nu="preToolUse"});import{existsSync as M$,readFileSync as pk}from"node:fs";import{join as hk}from"node:path";import gk from"node:os";function bk(){return hk(process.env.GEMINI_CLI_HOME||gk.homedir(),".gemini","settings.json")}function kk(e){return F(e)&&Gt(e.command,yk)}function _k(e){return(Array.isArray(e.hooks)?e.hooks:[]).find(kk)}function wk(e){let t=F(e.hooks)?e.hooks:{},n=Array.isArray(t[ou])?t[ou]:[];return{hooks:t,groups:n}}function iu(){try{let e=JSON.parse(pk(bk(),"utf8"));return wk(e).groups.some(t=>_k(t)!=null)}catch{return!1}}var yk,ou,au=k(()=>{"use strict";$e();yk="tkr-gemini-hook",ou="BeforeTool"});import{existsSync as z$,accessSync as J$,constants as G$,readFileSync as xk}from"node:fs";function vk(e){return e.includes(Sk)}function lu(e){try{return vk(xk(e,"utf8"))}catch{return!1}}var Sk,cu=k(()=>{"use strict";$e();We();Rr();j();Sk='"rewrite", "--host"'});import{readFile as fu,mkdir as Ek}from"node:fs/promises";import{existsSync as vo,readFileSync as du}from"node:fs";import{dirname as Tk,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 Rk(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 Ek(Tk(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=Rk(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}
93
93
 
94
- ${r}`:r;return await uu(t,a)?o.length?"updated":"added":"error"}async function mu(){let e=In();if(!vo(e))return"absent";let t;try{t=await iu(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 uu(e,s)?"removed":"error"}function Pn(){return So(lu.homedir(),".gemini","config","hooks.json")}function Tk(e){return{enabled:!0,PreToolUse:[{matcher:"run_command",hooks:[{type:"command",command:e,timeout:10}]}]}}function pu(){try{let e=JSON.parse(au(Pn(),"utf8"));return F(e)&&F(e[Cn])}catch{return!1}}async function hu(e){let t=Pn(),n=await Ve(t);if(!n)return"error";let r=Tk(e),s=n[Cn];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[Cn]=r,await Ye(t,n)?s===void 0?"added":"updated":"error")}async function gu(){let e=Pn();if(!vo(e))return"absent";let t=await Ve(e);return t?Cn in t?(delete t[Cn],await Ye(e,t)?"removed":"error"):"absent":"error"}var cu,Cn,yu=b(()=>{"use strict";$e();Rr();cu="tokmizer-rewrite",Cn="tokmizer-rewrite"});import{dirname as a1,join as ge}from"node:path";import Rk from"node:os";function ku(e){return e.kind==="hook"?e.installed():ru(e.files()[0].target)}var Nn,To,bu,_u=b(()=>{"use strict";$e();su();yu();Nn=()=>Rk.homedir(),To=()=>process.env.XDG_CONFIG_HOME||ge(Nn(),".config"),bu=[{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:fu,ensure:du,remove:mu,next:"Restart Vibe so it reads hooks.toml."},{host:"antigravity",label:"Antigravity",command:"setup-antigravity",kind:"hook",file:Pn,installed:pu,ensure:hu,remove:gu,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 Ak,readFileSync as $k}from"node:fs";function Or(e,t){return F(e)&&Gt(e.command,t)}function wu(e){return e.path??(e.nested?["hooks"]:[])}function xu(e,t){let n=e;for(let r of wu(t))F(n[r])||(n[r]={}),n=n[r];return n}function Su(e,t){let n=e;for(let s of wu(t))n=F(n)?n[s]:void 0;if(!F(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function Ck(e){return F(e)&&Array.isArray(e.hooks)?e.hooks:[]}function vu(e,t){return(t.matcher===void 0?e:e.flatMap(Ck)).filter(r=>Or(r,t.mark))}function Eu(e,t){return vu(Su(e,t),t).length>0}function Ro(e,t){try{let n=JSON.parse($k(e,"utf8"));return F(n)&&Eu(n,t)}catch{return!1}}function Ok(e,t,n){let r=xu(e,t),s=Array.isArray(r[t.event])?r[t.event]:[];r[t.event]=s;let o=vu(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 Ik(e,t){if(!Eu(e,t))return!1;let n=xu(e,t),r=Su(e,t),s=t.matcher===void 0?r.filter(o=>!Or(o,t.mark)):r.map(o=>F(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!Or(i,t.mark))}:o).filter(o=>!F(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 Ve(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=Ok(r,t,n);return s==="present"||await Ye(e,r)?s:"error"}async function Ir(e,t){if(!Ak(e))return"absent";let n=await Ve(e);return n?Ik(n,t)?await Ye(e,n)?"removed":"error":"absent":"error"}var Tu=b(()=>{"use strict";$e()});import{existsSync as Co,readFileSync as Pk}from"node:fs";import{join as X}from"node:path";import Nk from"node:os";function Ce(){return Nk.homedir()}function Cu(e){return e.version===void 0&&(e.version=1),e.version===1}function Dk(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 Mk(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=>Dk(e.files(),t,n),remove:()=>Mk(e.files(),t)}}function Lk(){return X(process.env.COPILOT_HOME||X(Ce(),".copilot"),"hooks","tokmizer.json")}function Hk(){let e=[X(Ce(),".trae","hooks.json")];return Co(X(Ce(),".trae-cn"))&&e.push(X(Ce(),".trae-cn","hooks.json")),e}function Uk(){return X(process.env.QWEN_HOME||X(Ce(),".qwen"),"settings.json")}function Jk(){return X(process.env.XDG_CONFIG_HOME||X(Ce(),".config"),"crush","crush.json")}function Zk(){return X(Ce(),".junie","config.json")}function Wk(e){return e.hooks===void 0&&(e.hooks={}),F(e.hooks)?(e.hooks.enabled===void 0&&(e.hooks.enabled=!0),e.hooks.events===void 0||F(e.hooks.events)):!1}function Vk(){return X(Ce(),".zcode","cli","config.json")}function qk(){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:Qk}]}function Ru(e){try{let t=JSON.parse(Pk(e,"utf8"));return F(t)?t:null}catch{return null}}function Au(e,t){let n=t?e?.hooks:e;return F(n)&&Array.isArray(n.PreToolUse)&&n.PreToolUse.length>0}function $u(){let[e,t,n]=Pr(),r=Co(e.file)?e:Co(t.file)?t:null;return r&&Au(Ru(r.file),!1)?r:Au(Ru(n.file),!0)?n:r??e}var Fk,jk,Bk,zk,Gk,Kk,Yk,Xk,Oo,Qk,e0,Ou,Iu=b(()=>{"use strict";$e();Tu();Fk={mark:"tkr-copilot-hook",event:"PreToolUse",nested:!0,entry:e=>({type:"command",command:e,bash:e,powershell:e,timeout:10,timeoutSec:10}),prepare:Cu};jk={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:Cu};Bk={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};zk={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};Gk={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};Kk={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:Wk};Yk={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};Xk="tkr-droid-hook",Oo={mark:Xk,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},Qk={...Oo,nested:!0};e0={id:"droid",label:"Factory Droid",setup:"tkr setup-droid",bin:"tkr-droid-hook",restart:"Restart Droid, then check it with /hooks.",files:()=>[$u().file],installed:()=>Pr().some(e=>Ro(e.file,e.spec)),ensure:async e=>{let t=$u(),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"}},Ou=[_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:()=>[Lk()]},Fk),e0,_t({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:Hk},jk),_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:()=>[Uk()]},Bk),_t({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[Jk()]},zk),_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:()=>[Zk()]},Gk),_t({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[Vk()]},Kk),_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:()=>[qk()]},Yk)]});function Pu(e){return t0.has(e)||(n0[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:!Pu(o)}}for(let o of Nu)if(o.vars.some(i=>e[i]))return{host:o.host,source:"env",os:n,arch:r,shimRecommended:!Pu(o.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}var Nu,Io,t0,n0,Dn=b(()=>{"use strict";Qc();nu();_u();Iu();Nu=[{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=[...Nu.map(e=>e.host),"shell"],t0=new Set(["claude-code","codex"]),n0={cursor:{installed:Xc,setup:"tkr setup-cursor"},"gemini-cli":{installed:tu,setup:"tkr setup-gemini"},...Object.fromEntries(bu.map(e=>[e.host,{installed:()=>ku(e),setup:`tkr ${e.command}`}])),...Object.fromEntries(Ou.map(e=>[e.id,{installed:e.installed,setup:e.setup}]))}});import{existsSync as P1,realpathSync as r0}from"node:fs";import{basename as D1,delimiter as Du,join as M1,dirname as F1}from"node:path";function Mu(e){try{return r0(e)}catch{return e}}function Fu(){let e=Er(),t={...process.env},n=process.platform==="win32"?"Path":"PATH",r=t[n]??t.PATH??"",s=Mu(e),o=r.split(Du).filter(i=>i&&i!==e&&Mu(i)!==s);return t[n]=o.join(Du),n==="Path"&&(t.PATH=t[n]),t}var Lu=b(()=>{"use strict";An();Ke();j();Dn();we();yo();we()});function Po(e){return JSON.stringify(e)+Mr}function*Hu(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 s0,o0,i0,a0,K1,V1,Y1,ju,Mr,q1,Bu=b(()=>{"use strict";pt();fn();s0=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()}),o0=h.object({id:h.string().min(1).max(64),op:h.literal("ping")}),i0=h.object({id:h.string().min(1).max(64),op:h.literal("shutdown"),installId:h.string().min(1).max(64)}),a0=h.object({id:h.string().min(1).max(64),op:h.literal("reload"),installId:h.string().min(1).max(64).optional()}),K1=h.discriminatedUnion("op",[s0,o0,i0,a0]),V1=h.object({id:h.string(),ok:h.literal(!0),data:h.unknown()}),Y1=h.object({id:h.string(),ok:h.literal(!1),err:h.string(),retryAfterMs:h.number().int().nonnegative().optional()}),ju=h.object({filter:Je.nullable(),cacheHit:h.boolean().optional()}),Mr=`
96
- `,q1=64*1024});import{createConnection as l0}from"node:net";import{spawn as c0}from"node:child_process";import{existsSync as Ju,openSync as No,closeSync as Uu,unlinkSync as Mo,writeFileSync as Fo,mkdirSync as Lo,readFileSync as u0,appendFileSync as f0,rmSync as d0,statSync as m0}from"node:fs";import{dirname as p0,join as jo}from"node:path";import{fileURLToPath as h0}from"node:url";function Ho(){return jo(x(),"daemon.spawn.fail")}function Bo(){return jo(x(),"daemon.log")}function k0(){try{let e=Number(u0(Ho(),"utf8"));return Number.isFinite(e)&&Date.now()-e<y0}catch{return!1}}function _0(e){try{Lo(x(),{recursive:!0});let t=Bo();try{m0(t).size>b0&&Mo(t)}catch{}f0(t,`${new Date().toISOString()} ${e}
97
- `)}catch{}}function w0(e){try{Lo(x(),{recursive:!0}),Fo(Ho(),String(Date.now()))}catch{}_0(`spawn failed: ${e.message}`)}function x0(){try{d0(Ho(),{force:!0})}catch{}}async function Fr(e,t){return new Promise((n,r)=>{let s=l0(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 S0(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:h0(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(Ju(e))return!0;await new Promise(o=>setTimeout(o,75))}return!1}async function v0(e){let t=S0();if(!Ae()&&!Ju(t))throw new Error(`tkr-daemon binary not found at ${t}`);let{path:n}=kt(),r=process.platform==="win32"?x():p0(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(c0(a,l,{detached:!0,stdio:["ignore","ignore",i??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:e}}).unref(),i!==null)try{Uu(i)}catch{}if(!await Do(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(o!==null){try{Uu(o)}catch{}try{Mo(s)}catch{}}}}async function E0(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:kt(),n=await ao();try{let r=await Fr(t,Gu);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 T0(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<=zu;)try{r=await Fr(t,Gu),x0();break}catch{if(s+=1,s>zu)throw new Error(`tkr-daemon unreachable at ${t}`);if(k0())throw new Error(`tkr-daemon spawn on cooldown (see ${Bo()})`);await Ks();try{await v0(n),o=!0}catch(u){throw w0(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 Hu(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})`))},g0);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&&zi(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 E0(e.socketPath?{socketPath:e.socketPath}:{})}catch{}c.close();let f=await T0(t,2e3);if(await Ks(),!f)throw new Error("stale daemon still running after shutdown request");return Uo({...e,skipVersionCheck:!0})}}return c}var Gu,g0,zu,y0,b0,Zu=b(()=>{"use strict";Bu();Vs();j();Ke();lo();It();Gu=500,g0=3e3,zu=1,y0=6e4,b0=256*1024});async function R0(){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 A0(){return Jo||(Jo=!0,zo=await Xn()??Ft()),zo}async function Wu(e,t,n){let r=await A0();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 $0(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 R0();if(!o)return Wu(t,r,s);try{let i=await o.filter(t,r,s?[...s]:void 0);return!i||s&&!s.has(le(i.slug))?null:$0(i)}catch{return Wu(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";Zu();vn();Ge();yn();jt();Zt=null,Fn=null;zo=null,Jo=!1});import{chmod as C0,mkdir as O0,readFile as kC,writeFile as Ku,stat as _C,readdir as wC,rm as Vu,rename as I0}from"node:fs/promises";import{readFileSync as P0}from"node:fs";import{createHash as N0}from"node:crypto";function j0(){try{let e=JSON.parse(P0(Ui(),"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 H0(e,t,n=process.env){let r=Number(n[e]);return Number.isFinite(r)&&r>0?r:t}function B0(e){return`${ds(e)}${L0}`}function U0(e){return e===""?[]:(e.endsWith(`
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 Ak(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 F(e)&&F(e[Cn])}catch{return!1}}async function _u(e){let t=Pn(),n=await Ve(t);if(!n)return"error";let r=Ak(e),s=n[Cn];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[Cn]=r,await Ye(t,n)?s===void 0?"added":"updated":"error")}async function wu(){let e=Pn();if(!vo(e))return"absent";let t=await Ve(e);return t?Cn in t?(delete t[Cn],await Ye(e,t)?"removed":"error"):"absent":"error"}var pu,Cn,xu=k(()=>{"use strict";$e();Rr();pu="tokmizer-rewrite",Cn="tokmizer-rewrite"});import{dirname as c1,join as ge}from"node:path";import $k from"node:os";function vu(e){return e.kind==="hook"?e.installed():lu(e.files()[0].target)}var Nn,To,Su,Eu=k(()=>{"use strict";$e();cu();xu();Nn=()=>$k.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 Ck,readFileSync as Ok}from"node:fs";function Or(e,t){return F(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))F(n[r])||(n[r]={}),n=n[r];return n}function Au(e,t){let n=e;for(let s of Tu(t))n=F(n)?n[s]:void 0;if(!F(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function Ik(e){return F(e)&&Array.isArray(e.hooks)?e.hooks:[]}function $u(e,t){return(t.matcher===void 0?e:e.flatMap(Ik)).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(Ok(e,"utf8"));return F(n)&&Cu(n,t)}catch{return!1}}function Pk(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 Nk(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=>F(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!Or(i,t.mark))}:o).filter(o=>!F(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 Ve(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=Pk(r,t,n);return s==="present"||await Ye(e,r)?s:"error"}async function Ir(e,t){if(!Ck(e))return"absent";let n=await Ve(e);return n?Nk(n,t)?await Ye(e,n)?"removed":"error":"absent":"error"}var Ou=k(()=>{"use strict";$e()});import{existsSync as Co,readFileSync as Dk}from"node:fs";import{join as X}from"node:path";import Mk from"node:os";function Ce(){return Mk.homedir()}function Du(e){return e.version===void 0&&(e.version=1),e.version===1}function Fk(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 Lk(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=>Fk(e.files(),t,n),remove:()=>Lk(e.files(),t)}}function Hk(){return X(process.env.COPILOT_HOME||X(Ce(),".copilot"),"hooks","tokmizer.json")}function Uk(){let e=[X(Ce(),".trae","hooks.json")];return Co(X(Ce(),".trae-cn"))&&e.push(X(Ce(),".trae-cn","hooks.json")),e}function Jk(){return X(process.env.QWEN_HOME||X(Ce(),".qwen"),"settings.json")}function Zk(){return X(process.env.XDG_CONFIG_HOME||X(Ce(),".config"),"crush","crush.json")}function Wk(){return X(Ce(),".junie","config.json")}function Vk(e){return e.hooks===void 0&&(e.hooks={}),F(e.hooks)?(e.hooks.enabled===void 0&&(e.hooks.enabled=!0),e.hooks.events===void 0||F(e.hooks.events)):!1}function qk(){return X(Ce(),".zcode","cli","config.json")}function Qk(){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:t0}]}function Iu(e){try{let t=JSON.parse(Dk(e,"utf8"));return F(t)?t:null}catch{return null}}function Pu(e,t){let n=t?e?.hooks:e;return F(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,Bk,zk,Gk,Kk,Yk,Xk,e0,Oo,t0,n0,Mu,Fu=k(()=>{"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};Bk={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:Du};zk={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};Gk={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};Kk={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};Yk={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:Vk};Xk={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};e0="tkr-droid-hook",Oo={mark:e0,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},t0={...Oo,nested:!0};n0={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:()=>[Hk()]},jk),n0,_t({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:Uk},Bk),_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:()=>[Jk()]},zk),_t({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[Zk()]},Gk),_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:()=>[Wk()]},Kk),_t({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[qk()]},Yk),_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:()=>[Qk()]},Xk)]});function Lu(e){return r0.has(e)||(s0[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,r0,s0,Dn=k(()=>{"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"],r0=new Set(["claude-code","codex"]),s0={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 D1,realpathSync as o0}from"node:fs";import{basename as F1,delimiter as Hu,join as L1,dirname as j1}from"node:path";function Bu(e){try{return o0(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=k(()=>{"use strict";An();We();j();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 i0,a0,l0,c0,Y1,q1,X1,Ju,Mr,Q1,Zu=k(()=>{"use strict";pt();fn();i0=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")}),l0=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()}),Y1=h.discriminatedUnion("op",[i0,a0,l0,c0]),q1=h.object({id:h.string(),ok:h.literal(!0),data:h.unknown()}),X1=h.object({id:h.string(),ok:h.literal(!1),err:h.string(),retryAfterMs:h.number().int().nonnegative().optional()}),Ju=h.object({filter:Je.nullable(),cacheHit:h.boolean().optional()}),Mr=`
96
+ `,Q1=64*1024});import{createConnection as u0}from"node:net";import{spawn as f0}from"node:child_process";import{existsSync as Vu,openSync as No,closeSync as Ku,unlinkSync as Mo,writeFileSync as Fo,mkdirSync as Lo,readFileSync as d0,appendFileSync as m0,rmSync as p0,statSync as h0}from"node:fs";import{dirname as g0,join as jo}from"node:path";import{fileURLToPath as y0}from"node:url";function Ho(){return jo(x(),"daemon.spawn.fail")}function Bo(){return jo(x(),"daemon.log")}function w0(){try{let e=Number(d0(Ho(),"utf8"));return Number.isFinite(e)&&Date.now()-e<k0}catch{return!1}}function x0(e){try{Lo(x(),{recursive:!0});let t=Bo();try{h0(t).size>_0&&Mo(t)}catch{}m0(t,`${new Date().toISOString()} ${e}
97
+ `)}catch{}}function S0(e){try{Lo(x(),{recursive:!0}),Fo(Ho(),String(Date.now()))}catch{}x0(`spawn failed: ${e.message}`)}function v0(){try{p0(Ho(),{force:!0})}catch{}}async function Fr(e,t){return new Promise((n,r)=>{let s=u0(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 E0(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:y0(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 T0(e){let t=E0();if(!Ae()&&!Vu(t))throw new Error(`tkr-daemon binary not found at ${t}`);let{path:n}=kt(),r=process.platform==="win32"?x():g0(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(f0(a,l,{detached:!0,stdio:["ignore","ignore",i??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:e}}).unref(),i!==null)try{Ku(i)}catch{}if(!await Do(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(o!==null){try{Ku(o)}catch{}try{Mo(s)}catch{}}}}async function R0(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 A0(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<=Wu;)try{r=await Fr(t,Yu),v0();break}catch{if(s+=1,s>Wu)throw new Error(`tkr-daemon unreachable at ${t}`);if(w0())throw new Error(`tkr-daemon spawn on cooldown (see ${Bo()})`);await Ws();try{await T0(n),o=!0}catch(u){throw S0(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),b=i.get(p.id);if(!b)continue;clearTimeout(b.timer),i.delete(p.id),b.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})`))},b0);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&&Wi(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 R0(e.socketPath?{socketPath:e.socketPath}:{})}catch{}c.close();let f=await A0(t,2e3);if(await Ws(),!f)throw new Error("stale daemon still running after shutdown request");return Uo({...e,skipVersionCheck:!0})}}return c}var Yu,b0,Wu,k0,_0,qu=k(()=>{"use strict";Zu();Vs();j();We();lo();It();Yu=500,b0=3e3,Wu=1,k0=6e4,_0=256*1024});async function $0(){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 C0(){return Jo||(Jo=!0,zo=await Xn()??Ft()),zo}async function Xu(e,t,n){let r=await C0();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 O0(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 $0();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:O0(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=k(()=>{"use strict";qu();vn();Ge();yn();jt();Zt=null,Fn=null;zo=null,Jo=!1});import{chmod as I0,mkdir as P0,readFile as wC,writeFile as Qu,stat as xC,readdir as SC,rm as ef,rename as N0}from"node:fs/promises";import{readFileSync as D0}from"node:fs";import{createHash as M0}from"node:crypto";function B0(){try{let e=JSON.parse(D0(Ki(),"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 U0(e,t,n=process.env){let r=Number(n[e]);return Number.isFinite(r)&&r>0?r:t}function z0(e){return`${ds(e)}${H0}`}function J0(e){return e===""?[]:(e.endsWith(`
98
98
  `)?e.slice(0,-1):e).split(`
99
- `)}async function z0(e,t,n=process.env,r={}){if(_e()||!F0.test(e))return!1;let s=Buffer.byteLength(t,"utf8");if(s>H0("TOKMIZER_CCR_ENTRY_MAX_BYTES",M0,n))return!1;let o=ds(e),i=`${o}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{if(await O0(fs(),{recursive:!0}),_e())return!1;if(await Ku(i,t,{mode:384}),await C0(i,384),_e())return await Vu(i,{force:!0}),!1;await I0(i,o)}catch{try{await Vu(i)}catch{}return!1}let a={at:Date.now(),bytes:s,lines:U0(t).length,partial:r.partial===!0,...r.label?{label:r.label.slice(0,40)}:{}};try{await Ku(B0(e),JSON.stringify(a),{mode:384})}catch{}return!0}function Yu(e){let t=e.TOKMIZER_CCR_DISABLED;return t==="1"||t==="true"||_e()||j0().disabled===!0}async function Zo(e,t,n,r){let s=N0("sha256").update(e).digest("hex").slice(0,16);return await z0(s,e,r,{partial:t,label:n})?s:null}async function Ln(e,t,n=process.env,r={}){if(Yu(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(Yu(n)||!e)return t;let s=await Zo(e,!1,r.label,n);return s?`${t}
101
- [tkr restore ${s}]`:t}var D0,TC,RC,M0,F0,L0,AC,Wo=b(()=>{"use strict";j();Tn();D0=1440*60*1e3,TC=30*D0,RC=200*1024*1024,M0=8*1024*1024,F0=/^[0-9a-f]{8,64}$/i,L0=".meta",AC=["usage: tkr restore <hash> [--lines a:b] [--grep pattern]"," tkr restore --list"," tkr restore --grep <pattern>",""].join(`
102
- `)});var tf={};on(tf,{kickBackgroundEnroll:()=>Br,processCapturedOutput:()=>Ur,resolveExecTimeoutMs:()=>Qu,runWrapped:()=>e_,signalNumber:()=>ef});import{existsSync as J0,readFileSync as G0,writeFileSync as Z0,mkdirSync as W0}from"node:fs";import{join as K0}from"node:path";import{fileURLToPath as V0}from"node:url";import{StringDecoder as Y0}from"node:string_decoder";function Xu(e,t){let n=new Y0("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||V0(new URL("../bin/tkr.js",import.meta.url));if(!Ae()&&!J0(e))return;let t=K0(x(),"enroll-kick");try{let o=Number(G0(t,"utf8"));if(Number.isFinite(o)&&Date.now()-o<q0)return}catch{}W0(x(),{recursive:!0}),Z0(t,String(Date.now()));let[n,...r]=$n(e);(0,Ko.default)(n,[...r,"heartbeat"],{detached:!0,stdio:"ignore"}).unref()}catch{}}function Qu(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 ef(e){return Q0[e]??15}async function e_(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:Fu()}),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 I=Wt-f,M=E.length>I?E.subarray(0,I):E;c.push(M),f+=M.length,E.length>I&&(m=!0)}),s.stderr?.on("data",E=>{if(d>=Wt){p=!0;return}let I=Wt-d,M=E.length>I?E.subarray(0,I):E;u.push(M),d+=M.length,E.length>I&&(p=!0)});let k,y,A;try{A=await new Promise((E,I)=>{s.on("error",M=>{k&&clearTimeout(k),o?E(1):I(M)}),s.on("close",(M,L)=>{k&&clearTimeout(k),E(M??(L?128+ef(L):0))}),k=setTimeout(()=>{s.kill("SIGTERM"),y=setTimeout(()=>s.kill("SIGKILL"),2e3)},X0),k.unref?.()})}finally{k&&clearTimeout(k),y&&clearTimeout(y),process.off("SIGINT",a),process.off("SIGTERM",l)}let v=Xu(c,m),T=Xu(u,p);return Ur({argv:e,stdout:v,stderr:T,exitCode:A,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,y=Buffer.byteLength(k,"utf8");return{stdout:k,stderr:n+m,code:r,filterId:null,rawBytes:y,filteredBytes:y,truncated:s}};try{let k=await ht();k||c?.();let y=await Me();if(!y.enabled)return p();let A=a.CLAUDE_CODE_SESSION_ID;A&&k?.token&&vr(A,{tool:"Bash",target:e.join(" "),...r!==0?{fail:1}:{}});let v=k?hr(k):null,T=k?Lt(k.allowedFilters,pr(k)):null,E=new Set(y.filters.disabled.map(le)),I=T&&E.size>0?new Set([...T].filter(W=>!E.has(W))):T,M=e.join(" ");k&&!l&&Lr(v);let L=await We(M,t,I,{verbosity:y.outputVerbosity,resolver:l,yolo:i,exitCode:r}),z=n,D=0,Z=0;if((i||r===0)&&Buffer.byteLength(n,"utf8")>=(i?1:qu)){let W=await We(M,n,I,{verbosity:y.outputVerbosity,resolver:l,yolo:i,exitCode:r});z=W.output,D=W.rawBytes,Z=W.filteredBytes}else if(!i&&r!==0&&Buffer.byteLength(n,"utf8")>=qu){let W=await We(M,n,I,{verbosity:y.outputVerbosity,resolver:l,exitCode:r});if(W.failureSummary){try{z=await Ln(W.droppedTail??null,W.output,a)}catch{z=W.output}D=W.rawBytes,Z=W.filteredBytes}}let V=L.output;if(!i&&L.filteredBytes<L.rawBytes)try{V=new RegExp(nr.source,"m").test(L.output)?await Hr(t,L.output,a,{label:zt(M)}):await Ln(L.droppedTail??null,L.output,a,{raw:s?null:t,label:zt(M)})}catch{}let Se=V+d,ue=z+m,U=Dr(a).host,J=Sr(L.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(M),"cwd"in f?f.cwd:process.cwd(),xr(L)),await kr({cmd:M,filterId:L.filterId,rawBytes:L.rawBytes,filteredBytes:L.filteredBytes,plan:v}),await yr({cmd:M,tokensSaved:Math.max(0,Math.round((J.raw-J.filtered)/4)),rawTokens:Math.round(J.raw/4),optimized:L.filterId!=null,telemetryOptIn:y.telemetryOptIn&&(!u||(await Me()).telemetryOptIn),sessionId:A,host:U})}catch{}}};return u?u(K):await K(),{stdout:Se,stderr:ue,code:r,filterId:L.filterId,rawBytes:L.rawBytes+D,filteredBytes:L.filteredBytes+Z,truncated:s}}catch{return p()}finally{l||jr()}}var Ko,Wt,qu,q0,X0,Q0,Vo=b(()=>{"use strict";Ko=md(mc(),1);vn();Ge();jt();pn();j();oo();fo();br();po();ho();Ut();Dn();Lu();Go();Wo();Dt();Tn();Ke();gn();Wt=10*1024*1024,qu=1024,q0=6e4;X0=Qu(process.env),Q0={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 Pf={};on(Pf,{FOLD_MARKER_RE:()=>nr,captureForRestore:()=>Ln,captureOriginalForRestore:()=>Hr,closeDaemonResolver:()=>jr,countedSaving:()=>Sr,gatingPlan:()=>hr,graceExceeded:()=>pr,installDaemonResolver:()=>Lr,loadSettingsCache:()=>Me,processOutput:()=>We,recordEvent:()=>kr,recordStat:()=>wr,recordTelemetry:()=>yr,resolveAllowedFilters:()=>Lt,statCmdLabel:()=>zt,statOutcome:()=>xr});var Nf=b(()=>{"use strict";vn();Wo();Dt();jt();oo();fo();br();po();Go();Ut()});yn();vn();jt();import{mkdirSync as yS,readFileSync as yi,realpathSync as bS,rmSync as ts,writeFileSync as kS}from"node:fs";import{join as hi}from"node:path";Vs();j();It();import{randomBytes as lS,randomUUID as ed}from"node:crypto";import{lstatSync as cS,mkdirSync as uS,realpathSync as fS,renameSync as dS,rmSync as mS,writeFileSync as pS}from"node:fs";import{dirname as hS,join as es}from"node:path";pt();yn();j();Tn();Vo();import{timingSafeEqual as di}from"node:crypto";import{chmodSync as Qx,lstatSync as eS,realpathSync as tS}from"node:fs";import{dirname as nS}from"node:path";import{createServer as rS}from"node:net";import{existsSync as Gr,readFileSync as ei,readdirSync as ti}from"node:fs";import{homedir as Vt}from"node:os";import{fileURLToPath as Z_}from"node:url";import{dirname as bf,join as B,resolve as W_}from"node:path";j();import{appendFileSync as o_,chmodSync as i_,mkdirSync as a_,existsSync as l_,readFileSync as nO,rmSync as rO}from"node:fs";import{dirname as c_,join as u_}from"node:path";import{readFileSync as t_,renameSync as n_,statSync as r_,writeFileSync as s_}from"node:fs";function nf(e,t,n){try{if(r_(e).size<=t)return;let r=t_(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}`;s_(i,s.length?`${s.join(`
99
+ `)}async function G0(e,t,n=process.env,r={}){if(_e()||!j0.test(e))return!1;let s=Buffer.byteLength(t,"utf8");if(s>U0("TOKMIZER_CCR_ENTRY_MAX_BYTES",L0,n))return!1;let o=ds(e),i=`${o}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{if(await P0(fs(),{recursive:!0}),_e())return!1;if(await Qu(i,t,{mode:384}),await I0(i,384),_e())return await ef(i,{force:!0}),!1;await N0(i,o)}catch{try{await ef(i)}catch{}return!1}let a={at:Date.now(),bytes:s,lines:J0(t).length,partial:r.partial===!0,...r.label?{label:r.label.slice(0,40)}:{}};try{await Qu(z0(e),JSON.stringify(a),{mode:384})}catch{}return!0}function tf(e){let t=e.TOKMIZER_CCR_DISABLED;return t==="1"||t==="true"||_e()||B0().disabled===!0}async function Zo(e,t,n,r){let s=M0("sha256").update(e).digest("hex").slice(0,16);return await G0(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 F0,AC,$C,L0,j0,H0,CC,Ko=k(()=>{"use strict";j();Tn();F0=1440*60*1e3,AC=30*F0,$C=200*1024*1024,L0=8*1024*1024,j0=/^[0-9a-f]{8,64}$/i,H0=".meta",CC=["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:()=>r_,signalNumber:()=>of,underCapturingExec:()=>e_});import{existsSync as Z0,readFileSync as K0,writeFileSync as W0,mkdirSync as V0}from"node:fs";import{join as Y0}from"node:path";import{fileURLToPath as q0}from"node:url";import{StringDecoder as X0}from"node:string_decoder";function e_(e=process.env){return e[Vo]==="1"}function rf(e,t){let n=new X0("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||q0(new URL("../bin/tkr.js",import.meta.url));if(!Ae()&&!Z0(e))return;let t=Y0(x(),"enroll-kick");try{let o=Number(K0(t,"utf8"));if(Number.isFinite(o)&&Date.now()-o<Q0)return}catch{}V0(x(),{recursive:!0}),W0(t,String(Date.now()));let[n,...r]=$n(e);(0,Wo.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 n_[e]??15}async function r_(e){let[t,...n]=e;if(!t)throw new Error("tkr-exec: missing command");let r=_e(),s=(0,Wo.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>=Kt){m=!0;return}let I=Kt-f,M=E.length>I?E.subarray(0,I):E;c.push(M),f+=M.length,E.length>I&&(m=!0)}),s.stderr?.on("data",E=>{if(d>=Kt){p=!0;return}let I=Kt-d,M=E.length>I?E.subarray(0,I):E;u.push(M),d+=M.length,E.length>I&&(p=!0)});let b,g,T;try{T=await new Promise((E,I)=>{s.on("error",M=>{b&&clearTimeout(b),o?E(1):I(M)}),s.on("close",(M,L)=>{b&&clearTimeout(b),E(M??(L?128+of(L):0))}),b=setTimeout(()=>{s.kill("SIGTERM"),g=setTimeout(()=>s.kill("SIGKILL"),2e3)},t_),b.unref?.()})}finally{b&&clearTimeout(b),g&&clearTimeout(g),process.off("SIGINT",a),process.off("SIGTERM",l)}let v=rf(c,m),R=rf(u,p);return Ur({argv:e,stdout:v,stderr:R,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 ${Kt/1048576}MB)`:"",m=o?`
104
+ \u2026 (stderr truncated at ${Kt/(1024*1024)}MB)`:"",p=()=>{let b=t+d,g=Buffer.byteLength(b,"utf8");return{stdout:b,stderr:n+m,code:r,filterId:null,rawBytes:g,filteredBytes:g,truncated:s}};try{let b=await ht();b||c?.();let g=await Me();if(!g.enabled)return p();let T=a.CLAUDE_CODE_SESSION_ID;T&&b?.token&&vr(T,{tool:"Bash",target:e.join(" "),...r!==0?{fail:1}:{}});let v=b?hr(b):null,R=b?Lt(b.allowedFilters,pr(b)):null,E=new Set(g.filters.disabled.map(le)),I=R&&E.size>0?new Set([...R].filter(K=>!E.has(K))):R,M=e.join(" ");b&&!l&&Lr(v);let L=await Ke(M,t,I,{verbosity:g.outputVerbosity,resolver:l,yolo:i,exitCode:r}),z=n,D=0,Z=0;if((i||r===0)&&Buffer.byteLength(n,"utf8")>=(i?1:nf)){let K=await Ke(M,n,I,{verbosity:g.outputVerbosity,resolver:l,yolo:i,exitCode:r});z=K.output,D=K.rawBytes,Z=K.filteredBytes}else if(!i&&r!==0&&Buffer.byteLength(n,"utf8")>=nf){let K=await Ke(M,n,I,{verbosity:g.outputVerbosity,resolver:l,exitCode:r});if(K.failureSummary){try{z=await Ln(K.droppedTail??null,K.output,a)}catch{z=K.output}D=K.rawBytes,Z=K.filteredBytes}}let V=L.output;if(!i&&L.filteredBytes<L.rawBytes)try{V=new RegExp(nr.source,"m").test(L.output)?await Hr(t,L.output,a,{label:zt(M)}):await Ln(L.droppedTail??null,L.output,a,{raw:s?null:t,label:zt(M)})}catch{}let Se=V+d,ue=z+m,U=Dr(a).host,J=Sr(L.rawBytes+Buffer.byteLength(n,"utf8"),Buffer.byteLength(Se,"utf8")+Buffer.byteLength(ue,"utf8"),Nr(U)),G=!1,W=async()=>{if(!G){G=!0;try{wr(J.raw,J.filtered,void 0,!1,U,"sh",zt(M),"cwd"in f?f.cwd:process.cwd(),xr(L)),await kr({cmd:M,filterId:L.filterId,rawBytes:L.rawBytes,filteredBytes:L.filteredBytes,plan:v}),await yr({cmd:M,tokensSaved:Math.max(0,Math.round((J.raw-J.filtered)/4)),rawTokens:Math.round(J.raw/4),optimized:L.filterId!=null,telemetryOptIn:g.telemetryOptIn&&(!u||(await Me()).telemetryOptIn),sessionId:T,host:U})}catch{}}};return u?u(W):await W(),{stdout:Se,stderr:ue,code:r,filterId:L.filterId,rawBytes:L.rawBytes+D,filteredBytes:L.filteredBytes+Z,truncated:s}}catch{return p()}finally{l||jr()}}var Wo,Kt,nf,Q0,Vo,t_,n_,Yo=k(()=>{"use strict";Wo=hd(bc(),1);vn();Ge();jt();pn();j();oo();fo();br();po();ho();Ut();Dn();zu();Go();Ko();Dt();Tn();We();gn();Kt=10*1024*1024,nf=1024,Q0=6e4,Vo="TOKMIZER_EXEC_CAPTURING";t_=sf(process.env),n_={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:()=>Ke,recordEvent:()=>kr,recordStat:()=>wr,recordTelemetry:()=>yr,resolveAllowedFilters:()=>Lt,statCmdLabel:()=>zt,statOutcome:()=>xr});var fi=k(()=>{"use strict";vn();Ko();Dt();jt();oo();fo();br();po();Go();Ut()});yn();vn();jt();import{mkdirSync as kS,readFileSync as xi,realpathSync as _S,rmSync as ts,writeFileSync as wS}from"node:fs";import{join as _i}from"node:path";Vs();j();It();import{randomBytes as uS,randomUUID as nd}from"node:crypto";import{lstatSync as fS,mkdirSync as dS,realpathSync as mS,renameSync as pS,rmSync as hS,writeFileSync as gS}from"node:fs";import{dirname as yS,join as es}from"node:path";pt();yn();j();Tn();Yo();import{timingSafeEqual as yi}from"node:crypto";import{chmodSync as tS,lstatSync as nS,realpathSync as rS}from"node:fs";import{dirname as sS}from"node:path";import{createServer as oS}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 V_}from"node:url";import{dirname as Sf,join as B,resolve as Y_}from"node:path";j();import{appendFileSync as l_,chmodSync as c_,mkdirSync as u_,existsSync as f_,readFileSync as sO,rmSync as oO}from"node:fs";import{dirname as d_,join as m_}from"node:path";import{readFileSync as s_,renameSync as o_,statSync as i_,writeFileSync as a_}from"node:fs";function lf(e,t,n){try{if(i_(e).size<=t)return;let r=s_(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}`;a_(i,s.length?`${s.join(`
106
106
  `)}
107
- `:"",{mode:384}),n_(i,e)}catch{}}var f_="usage.jsonl";var rf=2*1024*1024;function d_(){return u_(x(),f_)}function se(e,t,n=d_()){try{let r=c_(n);l_(r)||a_(r,{recursive:!0,mode:448});let s=e.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64)||"unknown";o_(n,`{"t":${Math.floor(Date.now()/1e3)},"s":"${s}","o":${t?1:0}}
108
- `,{mode:384}),i_(n,384),nf(n,rf,rf/2)}catch{}}Ke();j();import{execFileSync as P_}from"node:child_process";import{mkdirSync as N_,readFileSync as cf,renameSync as D_,statSync as M_,writeFileSync as F_}from"node:fs";import{join as uf}from"node:path";import{closeSync as m_,openSync as p_,readSync as h_,readdirSync as g_,readFileSync as y_,statSync as of}from"node:fs";import{homedir as b_}from"node:os";import{isAbsolute as k_,join as zr,resolve as __}from"node:path";var w_=/^[A-Za-z0-9._+@%:,/-]+$/,x_=new Set(["7f454c46","feedface","feedfacf","cefaedfe","cffaedfe","cafebabe","bebafeca"]),S_=32,v_=4*1024*1024;function qo(e){let t;try{t=p_(e,"r");let n=Buffer.alloc(4),r=h_(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&&m_(t)}}function jn(e,t=process.platform){try{let n=of(e);if(!n.isFile())return!1;if(t==="win32")return!0;if((n.mode&73)===0)return!1;let r=qo(e);return r==="#!"||r!==null&&x_.has(r)}catch{return!1}}function E_(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(!w_.test(e))return!1;let s=r==="win32";if(e.includes("/"))return jn(__(t??process.cwd(),e),r);if(!n)return!1;let o=s?E_(e):[e];for(let i of n.split(s?";":":"))if(!(!i||!k_(i))){for(let a of o)if(jn(zr(i,a),r))return!0}return!1}var T_=/^eval \$'([^\s'()=]+) \(\) /,R_=/^([^\s'"()=]+) \(\) \{$/,A_=/^alias -- ([^\s=]+)=(.*)$/,$_=/^# (?:Shell Options|Aliases|Shopt|Check for |Shadow )/,C_=/^export PATH=(.*)$/,O_=/^(?:--colou?r(?:=\S+)?|-G)$/;function sf(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 I_(e,t){let n="";for(let r of e.split(`
109
- `)){let s=C_.exec(r);if(s&&n!=="# Functions"){let o=sf(s[1].trim());/[$`\\]/.test(o)||t.paths.push(o);continue}if(r.startsWith("# ")&&(n!=="# Functions"||$_.test(r))){n=r;continue}if(n==="# Functions"){let o=T_.exec(r)??R_.exec(r);o&&t.functions.add(o[1])}else if(n==="# Aliases"){let o=A_.exec(r);o&&t.aliases.set(o[1],sf(o[2].trim()))}}}function Yo(e){return e?.code==="ENOENT"}function af(e){let t={functions:new Set,aliases:new Map,paths:[],uncertain:!1},n=zr(e||zr(b_(),".claude"),"shell-snapshots"),r=[];try{for(let s of g_(n)){if(!s.startsWith("snapshot-")||!s.endsWith(".sh"))continue;let o=zr(n,s);try{let i=of(o);i.isFile()&&r.push({path:o,mtime:i.mtimeMs,size:i.size})}catch(i){Yo(i)||(t.uncertain=!0)}}}catch(s){return Yo(s)||(t.uncertain=!0),t}r=r.sort((s,o)=>o.mtime-s.mtime).slice(0,S_);for(let s of r)try{if(s.size>v_)throw new Error("snapshot too large");I_(y_(s.path,"utf8"),t)}catch(o){Yo(o)||(t.uncertain=!0)}return t}function lf(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=>O_.test(s))}var L_="exec-probe.json",j_=6e4;function H_(){return uf(x(),L_)}function B_(e){try{let t=JSON.parse(cf(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 U_(e,t){try{N_(uf(e,".."),{recursive:!0,mode:448});let n=`${e}.${process.pid}.tmp`;F_(n,JSON.stringify(t),{mode:384}),D_(n,e)}catch{}}function z_(e){try{return P_(e,["--native-check"],{encoding:"utf8",timeout:2e3,maxBuffer:1024,stdio:["ignore","pipe","ignore"],windowsHide:!0}).startsWith("tokmizer-native ")}catch{return!1}}function J_(e,t){try{let r=cf(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 G_(e,t,n){try{let r=M_(e);return[e,r.size,r.mtimeMs,r.ino,r.mode,t?n??"":""].join("|")}catch{return`${e}|missing`}}function Xo(e,t=process.platform,n=process.env.PATH,r=H_(),s=Date.now()){let o=t!=="win32"&&qo(e)==="#!",i=G_(e,o,n),a=B_(r);if(a?.key===i&&(a.ok||s-a.at<j_))return a.ok;let l=jn(e,t)&&(o?J_(e,n):z_(e));return U_(r,{key:i,ok:l,at:s,skipped:(a?.skipped??0)+(l?0:1)}),l}var K_=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"]),V_=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"]),ff=new Set(["sh","bash","zsh","dash","ksh","fish","python","python3","python2","node","ruby","perl","php","awk","sed","deno","bun"]),df="(?:dev|start|serve|watch|preview)",Y_=new RegExp(`^(?:\\S*/)?(?:bun\\s+(?:install|i|add|remove|rm|update|outdated|audit|test|build|pm|x)(?:\\s|$)|bun\\s+run\\s+(?!${df}(?:\\s|$))[A-Za-z0-9:_-]+(?:\\s|$)|deno\\s+(?:test|lint|fmt|check|compile|install|info|doc|bench|outdated)(?:\\s|$)|deno\\s+task\\s+(?!${df}(?:\\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)`),q_=/(?:^|\s)--watch(?:\s|=|$)/;function X_(e){return Y_.test(e)&&!q_.test(e)}var Q_=/^((?:\S*\/)?(sh|bash|zsh|dash|ksh|fish)\s+(-[elux]*c[elux]*)\s+)(['"])/,ew=/[()$]|(?:^|[;&|\n]\s*)(?:and|or|not|begin|end|if|else|switch|case|while|for|function|return)(?:\s|;|$)/,kf=3;function _f(e){let t=Q_.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&&ew.test(a)?null:{script:a,start:s,end:o,quote:r}}var tw=new Set(["cd","export","set","unset","source",".","true",":","pushd","popd"]);function nw(e){return Yt(e).filter(n=>{if(n.kind!=="cmd"||n.unsafe)return!1;let r=xf(n.text);return r!==""&&!tw.has(r)&&!ni.test(r)}).length>1}function rw(e,t,n,r,s){if(n>=kf)return null;let o=_f(e);if(!o)return null;let{script:i,start:a,end:l,quote:c}=o,u=[],f=Sf(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=nw(i);if(s)for(let k of p?[e,...u]:u)s(k);return p?`${t} ${m}`:m}var mf=/(?:^|\s)(?:--follow|-[0-9a-zA-Z]*f[a-zA-Z]*)(?:\s|=|$)/,sw=new Set(["docker","podman","kubectl","nerdctl","docker-compose","stern","flyctl"]);function ow(e,t){let n=Zr(t);return n==="tail"||n==="journalctl"?mf.test(e):n==="stern"?!0:sw.has(n)?/\blogs?\b/.test(e)&&mf.test(e):!1}var ni=/^[A-Za-z_][A-Za-z0-9_]*\+?=/,iw=/^[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/,aw=/(?:^|[;&|\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 wf(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 pf(e){let t=wf(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=wf(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 xf(e){return e.trim().split(/\s+/)[0]??""}function xe(e,t=process.platform){try{let n=bf(Z_(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=B(n,"..","bin","tkr-exec.exe");if(Gr(a))return Xo(a,t)?`'${a.replace(/\\/g,"/").replace(/'/g,"'\\''")}'`:null}let o=B(n,"..","bin","tkr-exec");if(!r&&Gr(o))return Xo(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=B(n,"..","bin","tkr-exec.js");return Gr(i)?`${s}node '${i.replace(/'/g,"'\\''")}'`:null}catch{return null}}function ri(e,t="tkr-exec",n=()=>!0,r){return Sf(e,t,0,n,r)}function Sf(e,t,n,r,s){if(e.includes("<<")||aw.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=xf(c),f=o[a+1],d=f?.kind==="sep"&&(f.text==="|"||f.text==="|&"),m=f?.kind==="sep"&&f.text==="&",p=!d&&!m&&!pf(l.text)&&!l.text.includes("<(")&&!l.text.includes(">(")?rw(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))||K_.has(u)||V_.has(u)||(ff.has(u)||ff.has(Zr(u)))&&!X_(c)||ni.test(u)||u.startsWith("(")||u.startsWith("#")||u.startsWith("<")||u.startsWith(">")||iw.test(c)||ow(c,u)||u.endsWith(")")||d||m||pf(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]??"",y=l.text.match(/\s*$/)?.[0]??"";s?.(c),i.push(`${k}${t} ${c}${y}`)}return i.join("")}var lw=new Set(["command","workdir","timeout_ms","yield_time_ms","max_output_tokens","shell","login","tty","description"]),cw=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"]),uw=new Set(["log","diff","show","status","blame","ls-files","rev-parse","describe","shortlog"]),fw={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"],dw={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"])},mw=new Set(["pytest","tsc","vitest","jest","eslint","mypy"]);function vf(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<kf?_f(r.text.trim()):null;if(s){if(!vf(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=>ni.test(c)))return!1;let i=Zr(o[0]);if(i!==o[0])return!1;let a=fw[i];if(a&&o.slice(1).some(c=>a.test(c)))return!1;if((i==="git"?uw.has(o[1]??""):cw.has(i))||t&&mw.has(i))continue;let l=t?dw[i]:void 0;if(!(l&&(l.has(o[1]??"")||o[1]==="run"&&l.has(`run ${o[2]??""}`))))return!1}return!0}function Ef(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(m=>!lw.has(m)))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=Fe(a,{host:t,sessionId:u,cwd:c,claudeDirs:s,pathEnv:o,permissionMode:f},n,r);return d?JSON.stringify({hookSpecificOutput:t==="codex"?{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:{...i,command:d}}:{hookEventName:"PreToolUse",updatedInput:{...i,command:d}}}):null}function pw(e,t){if(!Gr(e))return"missing";try{let n=ei(e,"utf8");return JSON.parse(t?Tf(n):n)}catch{return"unreadable"}}function Tf(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]!==`
107
+ `:"",{mode:384}),o_(i,e)}catch{}}var p_="usage.jsonl";var cf=2*1024*1024;function h_(){return m_(x(),p_)}function se(e,t,n=h_()){try{let r=d_(n);f_(r)||u_(r,{recursive:!0,mode:448});let s=e.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64)||"unknown";l_(n,`{"t":${Math.floor(Date.now()/1e3)},"s":"${s}","o":${t?1:0}}
108
+ `,{mode:384}),c_(n,384),lf(n,cf,cf/2)}catch{}}We();j();import{execFileSync as M_}from"node:child_process";import{mkdirSync as F_,readFileSync as pf,renameSync as L_,statSync as j_,writeFileSync as H_}from"node:fs";import{join as hf}from"node:path";import{closeSync as g_,openSync as y_,readSync as b_,readdirSync as k_,readFileSync as __,statSync as ff}from"node:fs";import{homedir as w_}from"node:os";import{isAbsolute as x_,join as zr,resolve as S_}from"node:path";var v_=/^[A-Za-z0-9._+@%:,/-]+$/,E_=new Set(["7f454c46","feedface","feedfacf","cefaedfe","cffaedfe","cafebabe","bebafeca"]),T_=32,R_=4*1024*1024;function Xo(e){let t;try{t=y_(e,"r");let n=Buffer.alloc(4),r=b_(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&&g_(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&&E_.has(r)}catch{return!1}}function A_(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 Wt(e,t,n,r=process.platform){if(!v_.test(e))return!1;let s=r==="win32";if(e.includes("/"))return jn(S_(t??process.cwd(),e),r);if(!n)return!1;let o=s?A_(e):[e];for(let i of n.split(s?";":":"))if(!(!i||!x_(i))){for(let a of o)if(jn(zr(i,a),r))return!0}return!1}var $_=/^eval \$'([^\s'()=]+) \(\) /,C_=/^([^\s'"()=]+) \(\) \{$/,O_=/^alias -- ([^\s=]+)=(.*)$/,I_=/^# (?:Shell Options|Aliases|Shopt|Check for |Shadow )/,P_=/^export PATH=(.*)$/,N_=/^(?:--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 D_(e,t){let n="";for(let r of e.split(`
109
+ `)){let s=P_.exec(r);if(s&&n!=="# Functions"){let o=uf(s[1].trim());/[$`\\]/.test(o)||t.paths.push(o);continue}if(r.startsWith("# ")&&(n!=="# Functions"||I_.test(r))){n=r;continue}if(n==="# Functions"){let o=$_.exec(r)??C_.exec(r);o&&t.functions.add(o[1])}else if(n==="# Aliases"){let o=O_.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(w_(),".claude"),"shell-snapshots"),r=[];try{for(let s of k_(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,T_);for(let s of r)try{if(s.size>R_)throw new Error("snapshot too large");D_(__(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=>N_.test(s))}var B_="exec-probe.json",U_=6e4;function z_(){return hf(x(),B_)}function J_(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 G_(e,t){try{F_(hf(e,".."),{recursive:!0,mode:448});let n=`${e}.${process.pid}.tmp`;H_(n,JSON.stringify(t),{mode:384}),L_(n,e)}catch{}}function Z_(e){try{return M_(e,["--native-check"],{encoding:"utf8",timeout:2e3,maxBuffer:1024,stdio:["ignore","pipe","ignore"],windowsHide:!0}).startsWith("tokmizer-native ")}catch{return!1}}function K_(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"?Wt(r[1]??"",void 0,t):jn(s)}catch{return!1}}function W_(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=z_(),s=Date.now()){let o=t!=="win32"&&Xo(e)==="#!",i=W_(e,o,n),a=J_(r);if(a?.key===i&&(a.ok||s-a.at<U_))return a.ok;let l=jn(e,t)&&(o?K_(e,n):Z_(e));return G_(r,{key:i,ok:l,at:s,skipped:(a?.skipped??0)+(l?0:1)}),l}var q_=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"]),X_=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)",Q_=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)`),ew=/(?:^|\s)--watch(?:\s|=|$)/;function tw(e){return Q_.test(e)&&!ew.test(e)}var nw=/^((?:\S*\/)?(sh|bash|zsh|dash|ksh|fish)\s+(-[elux]*c[elux]*)\s+)(['"])/,rw=/[()$]|(?:^|[;&|\n]\s*)(?:and|or|not|begin|end|if|else|switch|case|while|for|function|return)(?:\s|;|$)/,vf=3;function Ef(e){let t=nw.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&&rw.test(a)?null:{script:a,start:s,end:o,quote:r}}var sw=new Set(["cd","export","set","unset","source",".","true",":","pushd","popd"]);function ow(e){return Yt(e).filter(n=>{if(n.kind!=="cmd"||n.unsafe)return!1;let r=Rf(n.text);return r!==""&&!sw.has(r)&&!ri.test(r)}).length>1}function iw(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,b=>u.push(b));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=ow(i);if(s)for(let b of p?[e,...u]:u)s(b);return p?`${t} ${m}`:m}var bf=/(?:^|\s)(?:--follow|-[0-9a-zA-Z]*f[a-zA-Z]*)(?:\s|=|$)/,aw=new Set(["docker","podman","kubectl","nerdctl","docker-compose","stern","flyctl"]);function lw(e,t){let n=Zr(t);return n==="tail"||n==="journalctl"?bf.test(e):n==="stern"?!0:aw.has(n)?/\blogs?\b/.test(e)&&bf.test(e):!1}var ri=/^[A-Za-z_][A-Za-z0-9_]*\+?=/,cw=/^[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/,uw=/(?:^|[;&|\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(V_(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=B(n,"..","bin","tkr-exec.exe");if(Gr(a))return Qo(a,t)?`'${a.replace(/\\/g,"/").replace(/'/g,"'\\''")}'`:null}let o=B(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=B(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("<<")||uw.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(">(")?iw(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))||q_.has(u)||X_.has(u)||(gf.has(u)||gf.has(Zr(u)))&&!tw(c)||ri.test(u)||u.startsWith("(")||u.startsWith("#")||u.startsWith("<")||u.startsWith(">")||cw.test(c)||lw(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 b=l.text.match(/^\s*/)?.[0]??"",g=l.text.match(/\s*$/)?.[0]??"";s?.(c),i.push(`${b}${t} ${c}${g}`)}return i.join("")}var fw=new Set(["command","workdir","timeout_ms","yield_time_ms","max_output_tokens","shell","login","tty","description"]),dw=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"]),mw=new Set(["log","diff","show","status","blame","ls-files","rev-parse","describe","shortlog"]),pw={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"],hw={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"])},gw=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=pw[i];if(a&&o.slice(1).some(c=>a.test(c)))return!1;if((i==="git"?mw.has(o[1]??""):dw.has(i))||t&&gw.has(i))continue;let l=t?hw[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=Wr(),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(m=>!fw.has(m)))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=Fe(a,{host:t,sessionId:u,cwd:c,claudeDirs:s,pathEnv:o,permissionMode:f},n,r);return d?JSON.stringify({hookSpecificOutput:t==="codex"?{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:{...i,command:d}}:{hookEventName:"PreToolUse",updatedInput:{...i,command:d}}}):null}function yw(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]!==`
112
112
  `;)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=W_(e);for(;;){t.push(n);let r=bf(n);if(r===n)return t;n=r}}function hw(){let e=process.platform==="darwin"?"/Library/Application Support/ClaudeCode":process.platform==="win32"?"C:\\Program Files\\ClaudeCode":"/etc/claude-code",t=[B(e,"managed-settings.json")];try{for(let n of ti(B(e,"managed-settings.d")))n.endsWith(".json")&&t.push(B(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=pw(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 gw(e,t){let n=m=>[B(m,"settings.json"),B(m,"settings.local.json")],r=m=>n(B(m,".claude")),s=B(Vt(),".claude"),o=[[hw(),"managed"],[n(t.configDir||s),"loaded"],[t.configDir?n(s):[],"extra"],[t.projectDir?r(t.projectDir):[],"project"],[Wr(e).flatMap(r),"extra"]],i=[],a={managed:!1,loaded:!1,project:!1,extra:!1},l=!1,c="managed",u=(m,p)=>{let k=m.permissions;if(c==="managed"&&(m.allowManagedPermissionRulesOnly===!0||oe(k)&&k.allowManagedPermissionRulesOnly===!0)&&(l=!0),k===void 0)return!0;if(!oe(k))return!1;for(let y of["deny","ask","allow"]){let A=Hn(k[y]);if(!A)return!1;for(let v of A){let T=/^\s*Bash\s*(?:\(([\s\S]*)\))?\s*$/.exec(v);T&&(y!=="allow"?p.push(wt((T[1]??"*").replace(/:\*$/," *"))):T[1]===void 0||T[1].trim()==="*"?a[c]=!0:i.push(wt(T[1].replace(/:\*$/," *"))))}}return!0},f=[];for(let[m,p]of o){c=p;let k=Bn(m,!1,u,!0);if(k==="unreadable")return"unreadable";f.push(...k.matchers)}let d=a.managed||a.loaded&&!l;return{matchers:[...f,...d?[]:i],complete:!0,allow:i,allowsEverything:d}}function yw(e){let t=[B(Vt(),".cursor","cli-config.json"),...Wr(e).map(n=>B(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 bw(){return process.platform==="darwin"?"/Library/Application Support/GeminiCli":process.platform==="win32"?"C:\\ProgramData\\gemini-cli":"/etc/gemini-cli"}var Rf=/^\s*(?:run_shell_command|ShellTool)\s*(?:\(([\s\S]*)\))?\s*$/;function kw(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=Rf.exec(o);i&&t.push(wt(i[1]===void 0?"*":`${i[1]}*`))}}return!0}function hf(e){try{return JSON.parse(e)}catch{return null}}function _w(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]??hf(`"${r[1]}"`);if(s===null)return null;n.push(s)}return n}if(t.startsWith('"')){let n=/^"((?:\\.|[^"\\])*)"/.exec(t);return n?hf(`"${n[1]}"`):null}if(t.startsWith("'")){let n=/^'([^']*)'/.exec(t);return n?n[1]:null}return t.replace(/\s*#.*$/,"")}function ww(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=_w(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==="*"||Rf.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}))||si(c,u))}}return!0}function gf(e){try{return ti(e).filter(t=>t.endsWith(".toml")).map(t=>B(e,t))}catch{return[]}}function xw(e){let t=bw(),n=[B(t,"system-defaults.json"),B(t,"settings.json"),process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH,process.env.GEMINI_CLI_SYSTEM_DEFAULTS_PATH,B(Vt(),".gemini","settings.json"),...Wr(e).map(s=>B(s,".gemini","settings.json"))].filter(s=>!!s),r=Bn(n,!0,kw,!1);if(r==="unreadable")return r;for(let s of[...gf(B(Vt(),".gemini","policies")),...gf(B(t,"policies"))]){let o;try{o=ei(s,"utf8")}catch{return"unreadable"}if(!ww(o,r.matchers))return"unreadable"}return r}function Qo(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 yf(e,t){if(e.permissions!==void 0||!Qo(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||!Qo(s.permission,t)))return!1}}return!0}function Sw(e){for(let t of e)for(let n of["agent","agents","mode","modes"]){let r;try{r=ti(B(t,n))}catch{continue}for(let s of r)try{if(s.endsWith(".md")&&/permission/i.test(ei(B(t,n,s),"utf8")))return!0}catch{return!0}}return!1}function vw(e){let t=B(process.env.XDG_CONFIG_HOME||B(Vt(),".config"),"opencode"),n=Wr(e),r=[t,...n.map(a=>B(a,".opencode"))];if(Sw(r))return"unreadable";let s=["opencode.json","opencode.jsonc","config.json"],o=[...s.map(a=>B(t,a)),process.env.OPENCODE_CONFIG,...n.flatMap(a=>[...s.slice(0,2).map(l=>B(a,l)),...s.slice(0,2).map(l=>B(a,".opencode",l))])].filter(a=>!!a),i=Bn(o,!0,yf,!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(Tf(a))}catch{return"unreadable"}if(!(a===process.env.OPENCODE_PERMISSION?Qo(l,i.matchers):oe(l)&&yf(l,i.matchers)))return"unreadable"}return i}function Ew(){return Bn([B(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=>si(l,c))}}return!0},!1)}function oe(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function Tw(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Rw(e){let t=e.trim().replace(/\s+/g," "),n=t.endsWith(" *")&&t.length>2,r=(n?t.slice(0,-2):t).split("*").map(Tw).join("[\\s\\S]*");return new RegExp(`^${r}${n?"(?: [\\s\\S]*)?":""}(?= |$)`)}var Aw=512;function $w(e){let t=e.replace(/['"\\]/g,"").split(/[\s;&|(){}<>`$]+/).filter(Boolean);return[t,t.map(Zr)]}function si(e,t){if(e.test(t)||e.test(t.trim().replace(/\s+/g," ")))return!0;for(let n of $w(t)){if(n.length>Aw)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=Rw(e);return n=>si(t,n)}var Cw={"claude-code":gw,cursor:yw,"gemini-cli":xw,opencode:vw,antigravity:Ew},Ow=new Set(["codex"]),Iw=/(?:^|[\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 Pw(e,t,n){let r=Cw[e];return r?r(t??process.cwd(),n):{matchers:[],complete:!1}}function Nw(e,t,n){return e==="unreadable"||Iw.test(t.replace(/['"\\]/g,""))||e.matchers.some(r=>r(t))?!1:e.complete||vf(t,!Ow.has(n))}var Dw=new Set(["default","acceptEdits","dontAsk"]);function Mw(e,t){return t.host!=="claude-code"||t.permissionMode==="bypassPermissions"?!0:e!=="unreadable"&&e.allowsEverything===!0&&Dw.has(t.permissionMode??"")}function Fw(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??=af(t.configDir),!Kt(s,e.cwd,n)&&!r.paths.some(o=>Kt(s,e.cwd,o))?!1:s.includes("/")||!lf(s,r))}function Fe(e,t,n,r){if(!n||/["\\$`;&|<>(){}]|'\\''/.test(n))return null;let s=t.claudeDirs??Kr(),o=Pw(t.host,t.cwd,s),i=Nw(o,e,t.host)?ri(e,n,Fw(t,s)):e;return i!==e&&o!=="unreadable"&&(o.matchers.some(a=>a(i))||(o.allow??[]).some(a=>a(i)&&!a(e)))&&(i=e),r(t.sessionId,i!==e),i===e||!Mw(o,t)?null:i}j();pn();Dn();ho();import{existsSync as ix,writeFileSync as ax,appendFileSync as lx,statSync as cx,constants as Df}from"node:fs";import{lstat as ux,open as fx}from"node:fs/promises";import{basename as dx,dirname as mx,isAbsolute as px,join as Hf}from"node:path";j();we();import{readFileSync as Lw}from"node:fs";import{join as jw}from"node:path";function Af(){if(he())return!1;try{return JSON.parse(Lw(jw(x(),"settings-cache.json"),"utf8")).enabled!==!1}catch{return!0}}j();import{createHash as Hw}from"node:crypto";import{appendFileSync as Bw,chmodSync as Uw,mkdirSync as zw,readFileSync as Jw,rmSync as Gw,statSync as Zw}from"node:fs";import{join as $f}from"node:path";var Ww=256*1024,Kw=80;function Vw(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return $f(x(),"sessions",`${t}.seen`)}function oi(e){return e.replace(/[\t\r\n]+/g," ").trim().slice(0,Kw)}function Cf(e,t,n,r){try{let s=Vw(e),o=oi(t),i=Hw("sha256").update(n).digest("hex").slice(0,32),a="";try{a=Jw(s,"utf8")}catch{}for(let l of a.split(`
114
- `)){let[c,u,f]=l.split(" ");if(c===o&&u===i)return{cmd:f??""}}zw($f(x(),"sessions"),{recursive:!0,mode:448}),Bw(s,`${o} ${i} ${oi(r)}
115
- `,{mode:384}),Uw(s,384),Zw(s).size>Ww&&Gw(s,{force:!0})}catch{}return null}function Of(e,t){return`[same output as \`${oi(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 Yw(e){return Q(e,"prompt_id")||Q(e,"scratchpad_dir")?!0:Un(e.effort)}function qw(e){return Q(e,"tool_use_id")?.startsWith("toolu_")===!0||/^claude/i.test(Q(e,"model")??"")}var Xw=new Set(["BeforeTool","AfterTool","BeforeAgent","AfterAgent","BeforeModel","AfterModel","BeforeToolSelection"]),Qw=new Set(["preToolUse","postToolUse","beforeShellExecution","afterShellExecution","beforeSubmitPrompt","sessionStart","sessionEnd","stop"]),ex=new Set(["pre_tool","post_tool"]),tx=new Set(["before_tool_call","after_tool_call"]),nx=new Set(["runTerminalCommand","run_in_terminal"]),rx=[["codex",e=>Q(e,"turn_id")!==null],["claude-code",Yw],["cursor",e=>Q(e,"cursor_version")!==null||Q(e,"generation_id")!==null||Q(e,"conversation_id")!==null||Array.isArray(e.workspace_roots)||Qw.has(Q(e,"hook_event_name")??"")],["gemini-cli",e=>Xw.has(Q(e,"hook_event_name")??"")],["qwen-code",e=>e.hook_event_name==="PreToolUse"&&e.tool_name==="run_shell_command"],["vibe",e=>ex.has(Q(e,"hook_event_name")??"")],["antigravity",e=>Un(e.toolCall)],["copilot",e=>Q(e,"toolName")!==null&&"toolArgs"in e||nx.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&&!tx.has(Q(e,"event"))]],sx=new Set(["codex","antigravity"]);function ox(e){return Un(e)?rx.filter(([,t])=>t(e)).map(([t])=>t):[]}function ii(e,t){if(!Un(e))return null;let n=ox(e);return n.length>1?null:n.length===1?n[0]:qw(e)&&sx.has(t)?"claude-code":t==="codex"?null:t}function If(e,t){let n=ii(e,t);return n==="claude-code"||n==="codex"?n:null}var hx=new Set(["Read","Grep","Glob","Bash"]),Vr=10*1024*1024,gx=1024,yx=40,bx=25e3,kx=/^… \(?\d+ more lines omitted\)?$/,_x=/^\[tkr restore [0-9a-f]{8,64}\]$/,wx=/^\d+F \d+D(?: in .+\/)?:$|^\S.*\/ \(\d+(?:, \*\.[^)]+)?\): \S/,xx=/^… \(\d+ more lines omitted\)$/m,Sx="[tkr: partial view; folded or omitted lines are not file text. Read with offset/limit for the exact lines before Edit or Write]";function vx(e){return kx.test(e)||_x.test(e)||e==="[YOLO: omitted]"}function Bf(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)||vx(i)||s&&wx.test(i));return{...e,filenames:o}}return t}function Ex(e,t,n){return JSON.stringify({...n?{systemMessage:n}:{},hookSpecificOutput:{hookEventName:"PostToolUse",updatedToolOutput:Bf(e.tool_response,t,e.tool_name)}})}var Tx=100,ai=null;function Rx(){let e=ai;return ai=null,e}function Mf(e){let t=Math.round(e/4);return t>=1e3?`${(t/1e3).toFixed(1)}K`:String(t)}function Uf(e,t){try{if(Math.round((e-t)/4)<Tx)return;let n=Hf(x(),"first-save");if(ix(n))return;ax(n,String(Date.now())),ai=`Tokmizer just optimized its first command output here: ~${Mf(e)} tokens down to ~${Mf(t)}. Watch it add up: /tkr-gain`}catch{}}function Ff(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(`
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 Kr(e){let t=[],n=Y_(e);for(;;){t.push(n);let r=Sf(n);if(r===n)return t;n=r}}function bw(){let e=process.platform==="darwin"?"/Library/Application Support/ClaudeCode":process.platform==="win32"?"C:\\Program Files\\ClaudeCode":"/etc/claude-code",t=[B(e,"managed-settings.json")];try{for(let n of ni(B(e,"managed-settings.d")))n.endsWith(".json")&&t.push(B(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=yw(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 Wr(){return{projectDir:process.env.CLAUDE_PROJECT_DIR,configDir:process.env.CLAUDE_CONFIG_DIR}}function kw(e,t){let n=m=>[B(m,"settings.json"),B(m,"settings.local.json")],r=m=>n(B(m,".claude")),s=B(Vt(),".claude"),o=[[bw(),"managed"],[n(t.configDir||s),"loaded"],[t.configDir?n(s):[],"extra"],[t.projectDir?r(t.projectDir):[],"project"],[Kr(e).flatMap(r),"extra"]],i=[],a={managed:!1,loaded:!1,project:!1,extra:!1},l=!1,c="managed",u=(m,p)=>{let b=m.permissions;if(c==="managed"&&(m.allowManagedPermissionRulesOnly===!0||oe(b)&&b.allowManagedPermissionRulesOnly===!0)&&(l=!0),b===void 0)return!0;if(!oe(b))return!1;for(let g of["deny","ask","allow"]){let T=Hn(b[g]);if(!T)return!1;for(let v of T){let R=/^\s*Bash\s*(?:\(([\s\S]*)\))?\s*$/.exec(v);R&&(g!=="allow"?p.push(wt((R[1]??"*").replace(/:\*$/," *"))):R[1]===void 0||R[1].trim()==="*"?a[c]=!0:i.push(wt(R[1].replace(/:\*$/," *"))))}}return!0},f=[];for(let[m,p]of o){c=p;let b=Bn(m,!1,u,!0);if(b==="unreadable")return"unreadable";f.push(...b.matchers)}let d=a.managed||a.loaded&&!l;return{matchers:[...f,...d?[]:i],complete:!0,allow:i,allowsEverything:d}}function _w(e){let t=[B(Vt(),".cursor","cli-config.json"),...Kr(e).map(n=>B(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 ww(){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 xw(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 Sw(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 vw(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=Sw(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=>B(e,t))}catch{return[]}}function Ew(e){let t=ww(),n=[B(t,"system-defaults.json"),B(t,"settings.json"),process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH,process.env.GEMINI_CLI_SYSTEM_DEFAULTS_PATH,B(Vt(),".gemini","settings.json"),...Kr(e).map(s=>B(s,".gemini","settings.json"))].filter(s=>!!s),r=Bn(n,!0,xw,!1);if(r==="unreadable")return r;for(let s of[...wf(B(Vt(),".gemini","policies")),...wf(B(t,"policies"))]){let o;try{o=ti(s,"utf8")}catch{return"unreadable"}if(!vw(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 Tw(e){for(let t of e)for(let n of["agent","agents","mode","modes"]){let r;try{r=ni(B(t,n))}catch{continue}for(let s of r)try{if(s.endsWith(".md")&&/permission/i.test(ti(B(t,n,s),"utf8")))return!0}catch{return!0}}return!1}function Rw(e){let t=B(process.env.XDG_CONFIG_HOME||B(Vt(),".config"),"opencode"),n=Kr(e),r=[t,...n.map(a=>B(a,".opencode"))];if(Tw(r))return"unreadable";let s=["opencode.json","opencode.jsonc","config.json"],o=[...s.map(a=>B(t,a)),process.env.OPENCODE_CONFIG,...n.flatMap(a=>[...s.slice(0,2).map(l=>B(a,l)),...s.slice(0,2).map(l=>B(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 Aw(){return Bn([B(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 $w(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Cw(e){let t=e.trim().replace(/\s+/g," "),n=t.endsWith(" *")&&t.length>2,r=(n?t.slice(0,-2):t).split("*").map($w).join("[\\s\\S]*");return new RegExp(`^${r}${n?"(?: [\\s\\S]*)?":""}(?= |$)`)}var Ow=512;function Iw(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 Iw(t)){if(n.length>Ow)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=Cw(e);return n=>oi(t,n)}var Pw={"claude-code":kw,cursor:_w,"gemini-cli":Ew,opencode:Rw,antigravity:Aw},Nw=new Set(["codex"]),Dw=/(?:^|[\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 Mw(e,t,n){let r=Pw[e];return r?r(t??process.cwd(),n):{matchers:[],complete:!1}}function Fw(e,t,n){return e==="unreadable"||Dw.test(t.replace(/['"\\]/g,""))||e.matchers.some(r=>r(t))?!1:e.complete||$f(t,!Nw.has(n))}var Lw=new Set(["default","acceptEdits","dontAsk"]);function jw(e,t){return t.host!=="claude-code"||t.permissionMode==="bypassPermissions"?!0:e!=="unreadable"&&e.allowsEverything===!0&&Lw.has(t.permissionMode??"")}function Hw(e,t){let n="pathEnv"in e?e.pathEnv:process.env.PATH,r;return s=>e.host!=="claude-code"?Wt(s,e.cwd,n):(r??=df(t.configDir),!Wt(s,e.cwd,n)&&!r.paths.some(o=>Wt(s,e.cwd,o))?!1:s.includes("/")||!mf(s,r))}function Fe(e,t,n,r){if(!n||/["\\$`;&|<>(){}]|'\\''/.test(n))return null;let s=t.claudeDirs??Wr(),o=Mw(t.host,t.cwd,s),i=Fw(o,e,t.host)?si(e,n,Hw(t,s)):e;return i!==e&&o!=="unreadable"&&(o.matchers.some(a=>a(i))||(o.allow??[]).some(a=>a(i)&&!a(e)))&&(i=e),r(t.sessionId,i!==e),i===e||!jw(o,t)?null:i}j();pn();Dn();ho();import{existsSync as cx,writeFileSync as ux,appendFileSync as fx,statSync as dx,constants as Mf}from"node:fs";import{lstat as mx,open as px}from"node:fs/promises";import{basename as hx,dirname as gx,isAbsolute as yx,join as Bf}from"node:path";j();we();import{readFileSync as Bw}from"node:fs";import{join as Uw}from"node:path";function Pf(){if(he())return!1;try{return JSON.parse(Bw(Uw(x(),"settings-cache.json"),"utf8")).enabled!==!1}catch{return!0}}j();import{createHash as zw}from"node:crypto";import{appendFileSync as Jw,chmodSync as Gw,mkdirSync as Zw,readFileSync as Kw,rmSync as Ww,statSync as Vw}from"node:fs";import{join as Nf}from"node:path";var Yw=256*1024,qw=80;function Xw(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Nf(x(),"sessions",`${t}.seen`)}function ii(e){return e.replace(/[\t\r\n]+/g," ").trim().slice(0,qw)}function ai(e,t,n,r){try{let s=Xw(e),o=ii(t),i=zw("sha256").update(n).digest("hex").slice(0,32),a="";try{a=Kw(s,"utf8")}catch{}for(let l of a.split(`
114
+ `)){let[c,u,f]=l.split(" ");if(c===o&&u===i)return{cmd:f??""}}Zw(Nf(x(),"sessions"),{recursive:!0,mode:448}),Jw(s,`${o} ${i} ${ii(r)}
115
+ `,{mode:384}),Gw(s,384),Vw(s).size>Yw&&Ww(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 Qw(e){return Q(e,"prompt_id")||Q(e,"scratchpad_dir")?!0:Un(e.effort)}function ex(e){return Q(e,"tool_use_id")?.startsWith("toolu_")===!0||/^claude/i.test(Q(e,"model")??"")}var tx=new Set(["BeforeTool","AfterTool","BeforeAgent","AfterAgent","BeforeModel","AfterModel","BeforeToolSelection"]),nx=new Set(["preToolUse","postToolUse","beforeShellExecution","afterShellExecution","beforeSubmitPrompt","sessionStart","sessionEnd","stop"]),rx=new Set(["pre_tool","post_tool"]),sx=new Set(["before_tool_call","after_tool_call"]),ox=new Set(["runTerminalCommand","run_in_terminal"]),ix=[["codex",e=>Q(e,"turn_id")!==null],["claude-code",Qw],["cursor",e=>Q(e,"cursor_version")!==null||Q(e,"generation_id")!==null||Q(e,"conversation_id")!==null||Array.isArray(e.workspace_roots)||nx.has(Q(e,"hook_event_name")??"")],["gemini-cli",e=>tx.has(Q(e,"hook_event_name")??"")],["qwen-code",e=>e.hook_event_name==="PreToolUse"&&e.tool_name==="run_shell_command"],["vibe",e=>rx.has(Q(e,"hook_event_name")??"")],["antigravity",e=>Un(e.toolCall)],["copilot",e=>Q(e,"toolName")!==null&&"toolArgs"in e||ox.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&&!sx.has(Q(e,"event"))]],ax=new Set(["codex","antigravity"]);function lx(e){return Un(e)?ix.filter(([,t])=>t(e)).map(([t])=>t):[]}function ci(e,t){if(!Un(e))return null;let n=lx(e);return n.length>1?null:n.length===1?n[0]:ex(e)&&ax.has(t)?"claude-code":t==="codex"?null:t}function Df(e,t){let n=ci(e,t);return n==="claude-code"||n==="codex"?n:null}var bx=new Set(["Read","Grep","Glob","Bash"]),Vr=10*1024*1024,Uf=1024,kx=40,_x=25e3,wx=/^… \(?\d+ more lines omitted\)?$/,xx=/^\[tkr restore [0-9a-f]{8,64}\]$/,Sx=/^\d+F \d+D(?: in .+\/)?:$|^\S.*\/ \(\d+(?:, \*\.[^)]+)?\): \S/,vx=/^… \(\d+ more lines omitted\)$/m,Ex="[tkr: partial view; folded or omitted lines are not file text. Read with offset/limit for the exact lines before Edit or Write]";function Tx(e){return wx.test(e)||xx.test(e)||e==="[YOLO: omitted]"}function zf(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)||Tx(i)||s&&Sx.test(i));return{...e,filenames:o}}return t}function Rx(e,t,n){return JSON.stringify({...n?{systemMessage:n}:{},hookSpecificOutput:{hookEventName:"PostToolUse",updatedToolOutput:zf(e.tool_response,t,e.tool_name)}})}var Ax=100,di=null;function $x(){let e=di;return di=null,e}function Ff(e){let t=Math.round(e/4);return t>=1e3?`${(t/1e3).toFixed(1)}K`:String(t)}function Jf(e,t){try{if(Math.round((e-t)/4)<Ax)return;let n=Bf(x(),"first-save");if(cx(n))return;ux(n,String(Date.now())),di=`Tokmizer just optimized its first command output here: ~${Ff(e)} tokens down to ~${Ff(t)}. Watch it add up: /tkr-gain`}catch{}}function Lf(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
117
  `):Array.isArray(e.filenames)?e.filenames.join(`
118
- `):null:""}var Ax=64*1024;function $x(e,t){try{if(!t||typeof t!="object")return;let n=Hf(x(),"drift.jsonl");try{if(cx(n).size>Ax)return}catch{}let r=Object.keys(t).slice(0,12);lx(n,`${JSON.stringify({t:Math.floor(Date.now()/1e3),tool:e,keys:r})}
119
- `)}catch{}}function Cx(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 Ox=/'(?:[A-Za-z]:)?\/[^']*\/(?:tkr-exec(?:\.exe|\.js)?'|tkr(?:\.exe)?' exec)(?:\\'')?(?:\s|$)/,Ix=/;|\|\||\n|(?<![>&|])&(?![&>])/,Px=new Set(["cd","export","set","unset","true",":"]),Nx=/^(?:\S*\/)?(?:sh|bash|zsh|dash|ksh)\s+-[elux]*c[elux]*\s+'([^']*)'$/,Dx=/(?:^|[\s;&|(])(?:[A-Za-z]:)?\/\S*\/tkr-exec(?:\.exe|\.js)?\s|(?:^|[;&|(\n])\s*(?:\S*\/)?tkr-exec(?:\.exe|\.js)?\s/;function zf(e){return Ox.test(e)||Dx.test(e)}function Jf(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==="|&")||Px.has(i.split(/\s+/)[0]))continue;let l=n<3?Nx.exec(i):null;if(!(l&&Jf(l[1],t,n+1)))return!1}return!0}function Mx(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 Lf(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 Fx(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||!px(n)||dx(mx(n))!=="tool-results")return null;try{let s=await ux(n);if(!s.isFile()||s.size>Vr)return null;let o=await fx(n,Df.O_RDONLY|(Df.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 Lx(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||Ix.test(e)||Lf(e))return null;let n=[];if(ri(e,"tkr-exec",()=>!0,s=>n.push(s)),n.length!==1||Lf(n[0])||!Jf(e,n[0])||Yt(e).some(s=>s.kind==="sep"&&s.text!=="&&"&&s.text!=="|"&&s.text!=="|&"))return null;let r=Mx(n[0]);return r?{argv:r,stdout:t.stdout,stderr:t.stderr??"",exitCode:t.returnCodeInterpretation!=null?1:0}:null}async function jx(e,t,n,r,s){let{processCapturedOutput:o}=await Promise.resolve().then(()=>(Vo(),tf)),i=null,a=s==null?r.deferAccounting:m=>{i=m},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}:{},...a?{deferAccounting:a}:{},cwd:t.cwd||(r.inferCwd===!1?void 0:process.cwd())}),u=[c.stdout,c.stderr].filter(Boolean).join(`
121
- `),f=c.stdout===e.stdout&&c.stderr===e.stderr;if(s!=null){if(f||u.length>s)return null;let m=i;m&&(r.deferAccounting?r.deferAccounting(m):await m())}if(f)return null;let d=Buffer.byteLength(e.stdout,"utf8")+Buffer.byteLength(e.stderr,"utf8");return Uf(d,Buffer.byteLength(u,"utf8")),u}function Hx(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 Bx(e,t={}){if(!Hx(e))return null;let n=e.tool_name==="Bash"&&!zf(e.tool_input?.command??"")?await Fx(e.tool_response):void 0;return n===null?null:n===void 0?jf(e,t):jf({...e,tool_response:{...e.tool_response,stdout:n}},t,bx)}async function jf(e,t,n){let r=_e();if(!e.tool_name||!hx.has(e.tool_name))return null;let s=e.tool_name==="Bash"?e.tool_input?.command??"":"",o=zf(s);if(/\btkr(?:\.js)?\s+restore\b/.test(s))return null;let i=await ht();if(!Af())return null;let a=e.tool_name==="Bash"&&!o?Lx(s,e.tool_response):null;if(a)return Buffer.byteLength(a.stdout,"utf8")+Buffer.byteLength(a.stderr,"utf8")>Vr?null:jx(a,e,r,t,n);if(e.session_id&&!o&&i?.token){let H=e.tool_input??{},ye=H.command??H.file_path??H.pattern??H.path??"";ye&&vr(e.session_id,{tool:e.tool_name,target:ye.split(`
122
- `)[0].trim()})}if(e.tool_name==="Read"&&(e.tool_input?.offset!=null||e.tool_input?.limit!=null))return null;let l=Ff(e.tool_response);if(l==null)return $x(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<gx||e.tool_name==="Glob"&&l.split(`
123
- `).length<yx||o)return null;let{loadSettingsCache:u,processOutput:f,captureForRestore:d,captureOriginalForRestore:m,FOLD_MARKER_RE:p,resolveAllowedFilters:k,gatingPlan:y,graceExceeded:A,recordEvent:v,recordTelemetry:T,recordStat:E,countedSaving:I,statCmdLabel:M,statOutcome:L,installDaemonResolver:z,closeDaemonResolver:D}=await Promise.resolve().then(()=>(Nf(),Pf)),Z=await u();if(!Z.enabled)return null;let{slugKey:V}=await Promise.resolve().then(()=>(Ge(),Hi)),Se=i?.token?y(i):null;!t.resolver&&Se&&z(Se);let ue=i?.token?k(i.allowedFilters,A(i)):null,U=new Set(Z.filters.disabled.map(V)),J=ue&&U.size>0?new Set([...ue].filter(H=>!U.has(H))):ue,G=Cx(e),K=`${e.tool_name.toLowerCase()}-tool`,W=`${K}: ${G}`;try{let H=await f(W,l,J,{verbosity:Z.outputVerbosity,resolver:t.resolver,yolo:r,exitCode:e.tool_name==="Bash"?void 0:0});if(H.filterId!=null&&e.tool_name==="Bash"&&e.session_id){let wi=Cf(e.session_id,e.agent_id??"main",l,s.split(`
124
- `)[0]??"");if(wi){let xi=Of(wi.cmd,c);return r?xi:await m(l,xi)}}let ye=new RegExp(p.source,"m"),sn=e.tool_name==="Bash"?M(e.tool_input?.command??""):e.tool_name,bi=e.tool_name==="Read"&&!r&&(ye.test(H.output)||xx.test(H.output))?`${H.output}${H.output.endsWith(`
118
+ `):null:""}var Cx=64*1024;function Ox(e,t){try{if(!t||typeof t!="object")return;let n=Bf(x(),"drift.jsonl");try{if(dx(n).size>Cx)return}catch{}let r=Object.keys(t).slice(0,12);fx(n,`${JSON.stringify({t:Math.floor(Date.now()/1e3),tool:e,keys:r})}
119
+ `)}catch{}}function Ix(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 Px=/'(?:[A-Za-z]:)?\/[^']*\/(?:tkr-exec(?:\.exe|\.js)?'|tkr(?:\.exe)?' exec)(?:\\'')?(?:\s|$)/,Nx=/;|\|\||\n|(?<![>&|])&(?![&>])/,Dx=new Set(["cd","export","set","unset","true",":"]),Mx=/^(?:\S*\/)?(?:sh|bash|zsh|dash|ksh)\s+-[elux]*c[elux]*\s+'([^']*)'$/,Fx=/(?:^|[\s;&|(])(?:[A-Za-z]:)?\/\S*\/tkr-exec(?:\.exe|\.js)?\s|(?:^|[;&|(\n])\s*(?:\S*\/)?tkr-exec(?:\.exe|\.js)?\s/;function Gf(e){return Px.test(e)||Fx.test(e)}function Zf(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==="|&")||Dx.has(i.split(/\s+/)[0]))continue;let l=n<3?Mx.exec(i):null;if(!(l&&Zf(l[1],t,n+1)))return!1}return!0}function Lx(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 jx(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||!yx(n)||hx(gx(n))!=="tool-results")return null;try{let s=await mx(n);if(!s.isFile()||s.size>Vr)return null;let o=await px(n,Mf.O_RDONLY|(Mf.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 Hx(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||Nx.test(e)||jf(e))return null;let n=[];if(si(e,"tkr-exec",()=>!0,s=>n.push(s)),n.length!==1||jf(n[0])||!Zf(e,n[0])||Yt(e).some(s=>s.kind==="sep"&&s.text!=="&&"&&s.text!=="|"&&s.text!=="|&"))return null;let r=Lx(n[0]);return r?{argv:r,stdout:t.stdout,stderr:t.stderr??"",exitCode:t.returnCodeInterpretation!=null?1:0}:null}async function Bx(e,t,n,r,s){let{processCapturedOutput:o}=await Promise.resolve().then(()=>(Yo(),af)),i=null,a=b=>{i=b},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>=Uf){let b=ai(t.session_id,t.agent_id??"main",f,(t.tool_input?.command??"").split(`
122
+ `)[0]??"");if(b){let g=li(b.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:(Jf(d,Buffer.byteLength(m,"utf8")),m)}function Ux(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 zx(e,t={}){if(!Ux(e))return null;let n=e.tool_name==="Bash"&&!Gf(e.tool_input?.command??"")?await jx(e.tool_response):void 0;return n===null?null:n===void 0?Hf(e,t):Hf({...e,tool_response:{...e.tool_response,stdout:n}},t,_x)}async function Hf(e,t,n){let r=_e();if(!e.tool_name||!bx.has(e.tool_name))return null;let s=e.tool_name==="Bash"?e.tool_input?.command??"":"",o=Gf(s);if(/\btkr(?:\.js)?\s+restore\b/.test(s))return null;let i=await ht();if(!Pf())return null;let a=e.tool_name==="Bash"&&!o?Hx(s,e.tool_response):null;if(a)return Buffer.byteLength(a.stdout,"utf8")+Buffer.byteLength(a.stderr,"utf8")>Vr?null:Bx(a,e,r,t,n);if(e.session_id&&!o&&i?.token){let H=e.tool_input??{},ye=H.command??H.file_path??H.pattern??H.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=Lf(e.tool_response);if(l==null)return Ox(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<Uf||e.tool_name==="Glob"&&l.split(`
125
+ `).length<kx||o)return null;let{loadSettingsCache:u,processOutput:f,captureForRestore:d,captureOriginalForRestore:m,FOLD_MARKER_RE:p,resolveAllowedFilters:b,gatingPlan:g,graceExceeded:T,recordEvent:v,recordTelemetry:R,recordStat:E,countedSaving:I,statCmdLabel:M,statOutcome:L,installDaemonResolver:z,closeDaemonResolver:D}=await Promise.resolve().then(()=>(fi(),ui)),Z=await u();if(!Z.enabled)return null;let{slugKey:V}=await Promise.resolve().then(()=>(Ge(),Gi)),Se=i?.token?g(i):null;!t.resolver&&Se&&z(Se);let ue=i?.token?b(i.allowedFilters,T(i)):null,U=new Set(Z.filters.disabled.map(V)),J=ue&&U.size>0?new Set([...ue].filter(H=>!U.has(H))):ue,G=Ix(e),W=`${e.tool_name.toLowerCase()}-tool`,K=`${W}: ${G}`;try{let H=await f(K,l,J,{verbosity:Z.outputVerbosity,resolver:t.resolver,yolo:r,exitCode:e.tool_name==="Bash"?void 0:0});if(H.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"?M(e.tool_input?.command??""):e.tool_name,Si=e.tool_name==="Read"&&!r&&(ye.test(H.output)||vx.test(H.output))?`${H.output}${H.output.endsWith(`
125
127
  `)?"":`
126
- `}${Sx}`:H.output,ie;if(H.filteredBytes>=H.rawBytes?ie=null:r?ie=H.output:e.tool_name==="Glob"||ye.test(H.output)?ie=await m(l,bi,void 0,{label:sn}):ie=await d(H.droppedTail??null,bi,void 0,{raw:l,label:sn}),r&&ie!=null&&(ie=Ff(Bf(e.tool_response,ie,e.tool_name))),n!=null&&(ie==null||ie.length>n))return null;let sd=ie==null?H.rawBytes:Buffer.byteLength(ie,"utf8"),ns=Dr().host,qe=I(H.rawBytes,sd,Nr(ns));ie!=null&&Uf(qe.raw,qe.filtered);let od=e.cwd||(t.inferCwd===!1?void 0:process.cwd()),id=e.tool_name==="Bash"?"sh":void 0,rs=t.deferAccounting,ki=!1,_i=async()=>{ki||(ki=!0,await v({cmd:K,filterId:H.filterId,rawBytes:H.rawBytes,filteredBytes:H.filteredBytes,plan:Se}),E(qe.raw,qe.filtered,void 0,!1,ns,id,sn,od,L(H)),await T({cmd:K,tokensSaved:Math.round((qe.raw-qe.filtered)/4),rawTokens:Math.round(qe.raw/4),optimized:H.filterId!=null,telemetryOptIn:Z.telemetryOptIn&&(!rs||(await u()).telemetryOptIn),host:ns}))};return rs?rs(_i):await _i(),ie}finally{t.resolver||D()}}async function Gf(e,t={}){if(If(e,"claude-code")!=="claude-code")return"";let n=await Bx(e,t);return n?Ex(e,n,Rx()??void 0):""}we();we();var li=JSON.stringify({permission:"allow"});function Zf(e,t=xe("cursor"),n=se){if(e.tool_name!=="Shell")return li;let r=e.tool_input??{},s=r.command;if(typeof s!="string"||!s)return li;let o=typeof r.working_directory=="string"?r.working_directory:void 0,i=Fe(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}}):li}we();var Yr="{}";function Wf(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=Fe(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?Fe(e,{host:t,sessionId:n},he()?null:r,s):null}var Ux=new Set(["bash","file_system.bash"]),ui=JSON.stringify({decision:"allow"});function Kf(e,t=(n,r)=>Xt(n,"vibe",r)){if(!F(e)||e.hook_event_name!=="pre_tool"||typeof e.tool_name!="string"||!Ux.has(e.tool_name))return"";let n=e.tool_input;if(!F(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 Vf(e,t=(n,r)=>Xt(n,"antigravity",r)){if(!F(e)||!F(e.toolCall)||e.toolCall.name!=="run_command")return ui;let n=e.toolCall.args;if(!F(n)||typeof n.CommandLine!="string"||!n.CommandLine)return ui;let r=t(n.CommandLine,typeof e.conversationId=="string"?e.conversationId:"unknown");return r?JSON.stringify({decision:"allow",overwrite:{CommandLine:r}}):ui}we();var Le="{}",zx=new Set(["runTerminalCommand","run_in_terminal","Bash","bash"]),Jx=["run_in_background","is_background","isBackground"];function qr(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function Gx(e){let t=e.session_id??e.sessionId;return typeof t=="string"&&t?t:"unknown"}function Zx(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)||Jx.some(i=>t[i]===!0))return null;let o=t.command;return typeof o!="string"||!o?null:Fe(o,{host:e,sessionId:Gx(n),cwd:Zx(n,t)},he()?null:r,s)}function en(e,t){return JSON.stringify({hookSpecificOutput:{hookEventName:"PreToolUse",updatedInput:{...e,command:t}}})}function Wx(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 Kx(e,t,n){if(typeof e.tool_name=="string"){if(!zx.has(e.tool_name))return Le;let o=e.tool_input,i=Xr("copilot",o,e,t,n);return i?en(o,i):Le}if(e.toolName!=="bash")return Le;let r=Wx(e.toolArgs),s=Xr("copilot",r,e,t,n);return s?JSON.stringify({modifiedArgs:{...r,command:s}}):Le}function Qt(e,t,n){return(r,s,o)=>{if(r.tool_name!==t)return Le;let i=r.tool_input,a=Xr(e,i,r,s,o);return a?n(i,a):Le}}var Vx=new Set(["run_terminal_command","Bash","bash"]);function Yx(e,t,n){let r=e.toolName??e.tool_name;if(typeof r!="string"||!Vx.has(r))return Le;let s=e.toolInput??e.tool_input,o=Xr("grok",s,e,t,n);return o?en(s,o):Le}var qx={copilot:Kx,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:Yx};function Yf(e,t,n=xe(e),r=se){return qr(t)?qx[e](t,n,r):Le}function tn(e){return he()?null:xe(e)}function Xx(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"?"":Ef(t,e,tn(e),r,n.claudeDirs??Kr(),n.pathEnv??process.env.PATH)??"";case"cursor":return Zf(t,tn(e),r);case"gemini-cli":return Wf(t,tn(e),r);case"vibe":return Kf(t,(s,o)=>Xt(s,"vibe",o,tn(e),r));case"antigravity":return Vf(t,(s,o)=>Xt(s,"antigravity",o,tn(e),r));default:return Yf(e,t,tn(e),r)}}function qt(e,t,n={}){let r=ii(e,t);return r?Xx(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 qf(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 sS={"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:""},oS=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(),iS=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(),aS=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 Qf(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=eS(nS(e.path));if(!f.isDirectory()||f.uid!==process.getuid?.()||(f.mode&63)!==0)throw new Error("unsafe processing directory")}let n=tS(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=rS(f=>{if(a||s.size>=l){f.destroy();return}s.add(f);let d="prepare",m=null,p=!1,k=0,y=!1,A,v,T=()=>{i-=k,k=0},E=()=>{clearTimeout(v),L.close(),y||T(),d="closed",f.destroy()},I=z=>{clearTimeout(v),v=setTimeout(E,z),v.unref()},M=z=>{f.write(nn(Buffer.from(JSON.stringify(z))))},L=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?.(),y=!0;let U=(A?.()??Promise.resolve()).then(()=>{f.destroyed||f.end(nn(Buffer.from([1])))}).catch(()=>E()).finally(()=>{y=!1,f.destroyed&&(T(),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",y=!0,I(e.processingTimeoutMs??5e3);let G=Gf(J,{inferCwd:!1,deferAccounting:K=>{A=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");T(),d="delivery",I(e.processingTimeoutMs??5e3),f.write(nn(W))}).catch(()=>E()).finally(()=>{y=!1,f.destroyed&&(T(),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=aS.parse(U);if(!di(r,Buffer.from(G.token,"hex"))||G.version!==e.version||G.home!==n||!rn(e.getRuntime())){E();return}e.onActivity?.(),T(),d="hook-payload",I(e.prepareTimeoutMs??1e3),M({ok:!0,protocol:2});return}if(U?.kind==="pre-tool-use"){let G=iS.parse(U);if(!di(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??""}),H=Buffer.from(JSON.stringify({ok:!0,protocol:2,output:W}));if(H.length>1024*1024)throw new Error("hook response limit");A=async()=>{let ye=K;K=void 0,ye&&se(ye.sessionId,ye.routed)},T(),d="delivery",I(e.processingTimeoutMs??5e3),f.write(nn(H));return}let J=oS.parse(U);if(!di(r,Buffer.from(J.token,"hex"))||J.version!==e.version||J.home!==n||!rn(e.getRuntime())){E();return}m=J,e.onActivity?.(),p=_e(),T(),d="capture",I(J.timeoutMs+5e3),M({ok:!0,protocol:2,yolo:p});return}if(d!=="capture"||!m)throw new Error("unexpected processing frame");let D=qf(z);e.onActivity?.();let Z=e.getRuntime();if(!rn(Z)){E();return}d="processing",y=!0,I(e.processingTimeoutMs??5e3);let V={},Se=sS[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({...D,argv:m.argv},{env:V,yolo:p,onMissingState:Br,deferAccounting:U=>{A=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",I(e.processingTimeoutMs??5e3),f.write(nn(Buffer.concat([K,J,G])))}).catch(()=>E()).finally(()=>{y=!1,f.destroyed&&(T(),s.delete(f)),o.delete(ue)});o.add(ue)},z=>{if(i+z>c)throw new Error("processing capacity exceeded");i+=z,k+=z});I(e.prepareTimeoutMs??1e3),f.on("data",z=>{try{L.push(z)}catch{E()}}),f.on("error",E),f.on("close",()=>{y||s.delete(f),E()})});try{await new Promise((f,d)=>{u.once("error",d),u.listen(e.path,()=>{u.off("error",d),f()})}),t||Qx(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 pi(e=pe){return`processing-${e}.json`}function gS(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 td(e,t,n="processing.json"){let r=process.platform==="win32",s=fS(x()),o=es(s,"run");uS(o,{recursive:!0,mode:448});let i=cS(o);if(!i.isDirectory()||!r&&(i.uid!==process.getuid?.()||(i.mode&63)!==0))throw new Error("unsafe processing descriptor directory");let a=ed().slice(0,8),l=r?gS(process.env.USERNAME??"user",pe,a):es(hS(kt().path),`p${a}`);if(!r&&Buffer.byteLength(l)>100)throw new Error("processing socket path too long");let c=lS(32).toString("hex"),u=await Qf({path:l,token:c,version:pe,getRuntime:e,...t?{onActivity:t}:{}}),f=es(o,`${n}.${ed()}.tmp`);try{return pS(f,JSON.stringify({protocol:2,version:pe,home:s,path:l,token:c}),{mode:384,flag:"wx"}),dS(f,es(o,n)),u}catch(d){throw await u.close(),d}finally{mS(f,{force:!0})}}function nd(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}}j();It();var _S=6e4,wS=5e3,xS=30*6e4;function rd(){let e=Number(process.env.TOKMIZER_PROCESSOR_IDLE_MS);return Number.isFinite(e)&&e>0?e:xS}async function SS(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(`
127
- `),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 vS(e){try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}function ES(e){for(let t=0;t<2;t+=1)try{return kS(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{let n=Number.NaN;try{n=Number(yi(e,"utf8"))}catch{}if(Number.isInteger(n)&&n>0&&vS(n))return!1;ts(e,{force:!0})}return!1}function gi(e,t){try{return t(yi(e,"utf8"))}catch{return!1}}async function TS(){let e=hi(bS(x()),"run");yS(e,{recursive:!0,mode:448});let t=hi(e,`processor-${pe}.pid`);if(!ES(t))return;let n=nd(Xn,Ft,wS),r=Date.now(),s=()=>{r=Date.now()},o=hi(e,pi()),i=null,a=null,l=!1,c=()=>{l||(l=!0,(a?.close()??Promise.resolve()).finally(()=>{i&&gi(o,d=>JSON.parse(d).path===i)&&ts(o,{force:!0}),gi(t,d=>Number(d)===process.pid)&&ts(t,{force:!0}),process.exit(0)}))};await n.reload();try{a=await td(n.current,s,pi())}catch{ts(t,{force:!0});return}i=gi(o,()=>!0)?JSON.parse(yi(o,"utf8")).path:null,setInterval(()=>{n.reload()},_S).unref(),setInterval(()=>{(a?.activeConnections()??0)===0&&Date.now()-r>rd()&&c()},Math.min(6e4,rd())).unref(),process.on("SIGINT",c),process.on("SIGTERM",c),setImmediate(()=>{SS(n.current())}),setTimeout(()=>{process.title="tkr-processor"},1e3).unref()}TS().catch(()=>process.exit(0));
128
+ `}${Ex}`:H.output,ie;if(H.filteredBytes>=H.rawBytes?ie=null:r?ie=H.output:e.tool_name==="Glob"||ye.test(H.output)?ie=await m(l,Si,void 0,{label:sn}):ie=await d(H.droppedTail??null,Si,void 0,{raw:l,label:sn}),r&&ie!=null&&(ie=Lf(zf(e.tool_response,ie,e.tool_name))),n!=null&&(ie==null||ie.length>n))return null;let id=ie==null?H.rawBytes:Buffer.byteLength(ie,"utf8"),ns=Dr().host,qe=I(H.rawBytes,id,Nr(ns));ie!=null&&Jf(qe.raw,qe.filtered);let ad=e.cwd||(t.inferCwd===!1?void 0:process.cwd()),ld=e.tool_name==="Bash"?"sh":void 0,rs=t.deferAccounting,vi=!1,Ei=async()=>{vi||(vi=!0,await v({cmd:W,filterId:H.filterId,rawBytes:H.rawBytes,filteredBytes:H.filteredBytes,plan:Se}),E(qe.raw,qe.filtered,void 0,!1,ns,ld,sn,ad,L(H)),await R({cmd:W,tokensSaved:Math.round((qe.raw-qe.filtered)/4),rawTokens:Math.round(qe.raw/4),optimized:H.filterId!=null,telemetryOptIn:Z.telemetryOptIn&&(!rs||(await u()).telemetryOptIn),host:ns}))};return rs?rs(Ei):await Ei(),ie}finally{t.resolver||D()}}async function Kf(e,t={}){if(Df(e,"claude-code")!=="claude-code")return"";let n=await zx(e,t);return n?Rx(e,n,$x()??void 0):""}we();we();var mi=JSON.stringify({permission:"allow"});function Wf(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=Fe(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 Vf(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=Fe(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?Fe(e,{host:t,sessionId:n},he()?null:r,s):null}var Jx=new Set(["bash","file_system.bash"]),hi=JSON.stringify({decision:"allow"});function Yf(e,t=(n,r)=>Xt(n,"vibe",r)){if(!F(e)||e.hook_event_name!=="pre_tool"||typeof e.tool_name!="string"||!Jx.has(e.tool_name))return"";let n=e.tool_input;if(!F(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 qf(e,t=(n,r)=>Xt(n,"antigravity",r)){if(!F(e)||!F(e.toolCall)||e.toolCall.name!=="run_command")return hi;let n=e.toolCall.args;if(!F(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 Le="{}",Gx=new Set(["runTerminalCommand","run_in_terminal","Bash","bash"]),Zx=["run_in_background","is_background","isBackground"];function qr(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function Kx(e){let t=e.session_id??e.sessionId;return typeof t=="string"&&t?t:"unknown"}function Wx(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)||Zx.some(i=>t[i]===!0))return null;let o=t.command;return typeof o!="string"||!o?null:Fe(o,{host:e,sessionId:Kx(n),cwd:Wx(n,t)},he()?null:r,s)}function en(e,t){return JSON.stringify({hookSpecificOutput:{hookEventName:"PreToolUse",updatedInput:{...e,command:t}}})}function Vx(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 Yx(e,t,n){if(typeof e.tool_name=="string"){if(!Gx.has(e.tool_name))return Le;let o=e.tool_input,i=Xr("copilot",o,e,t,n);return i?en(o,i):Le}if(e.toolName!=="bash")return Le;let r=Vx(e.toolArgs),s=Xr("copilot",r,e,t,n);return s?JSON.stringify({modifiedArgs:{...r,command:s}}):Le}function Qt(e,t,n){return(r,s,o)=>{if(r.tool_name!==t)return Le;let i=r.tool_input,a=Xr(e,i,r,s,o);return a?n(i,a):Le}}var qx=new Set(["run_terminal_command","Bash","bash"]);function Xx(e,t,n){let r=e.toolName??e.tool_name;if(typeof r!="string"||!qx.has(r))return Le;let s=e.toolInput??e.tool_input,o=Xr("grok",s,e,t,n);return o?en(s,o):Le}var Qx={copilot:Yx,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:Xx};function Xf(e,t,n=xe(e),r=se){return qr(t)?Qx[e](t,n,r):Le}function tn(e){return he()?null:xe(e)}function eS(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??Wr(),n.pathEnv??process.env.PATH)??"";case"cursor":return Wf(t,tn(e),r);case"gemini-cli":return Vf(t,tn(e),r);case"vibe":return Yf(t,(s,o)=>Xt(s,"vibe",o,tn(e),r));case"antigravity":return qf(t,(s,o)=>Xt(s,"antigravity",o,tn(e),r));default:return Xf(e,t,tn(e),r)}}function qt(e,t,n={}){let r=ci(e,t);return r?eS(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 Qf(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 iS={"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:""},aS=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(),lS=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(),cS=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 td(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=nS(sS(e.path));if(!f.isDirectory()||f.uid!==process.getuid?.()||(f.mode&63)!==0)throw new Error("unsafe processing directory")}let n=rS(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=oS(f=>{if(a||s.size>=l){f.destroy();return}s.add(f);let d="prepare",m=null,p=!1,b=0,g=!1,T,v,R=()=>{i-=b,b=0},E=()=>{clearTimeout(v),L.close(),g||R(),d="closed",f.destroy()},I=z=>{clearTimeout(v),v=setTimeout(E,z),v.unref()},M=z=>{f.write(nn(Buffer.from(JSON.stringify(z))))},L=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&&(R(),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,I(e.processingTimeoutMs??5e3);let G=Kf(J,{inferCwd:!1,deferAccounting:W=>{T=W},resolver:async(W,K)=>{if(!rn(U))throw new Error("expired processing rules");return U.selectFor(W,"pro",K?[...K]:void 0)}}).then(W=>{if(f.destroyed)return;let K=Buffer.from(JSON.stringify({ok:!0,protocol:2,output:W}));if(K.length>20971536)throw new Error("hook response limit");R(),d="delivery",I(e.processingTimeoutMs??5e3),f.write(nn(K))}).catch(()=>E()).finally(()=>{g=!1,f.destroyed&&(R(),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=cS.parse(U);if(!yi(r,Buffer.from(G.token,"hex"))||G.version!==e.version||G.home!==n||!rn(e.getRuntime())){E();return}e.onActivity?.(),R(),d="hook-payload",I(e.prepareTimeoutMs??1e3),M({ok:!0,protocol:2});return}if(U?.kind==="pre-tool-use"){let G=lS.parse(U);if(!yi(r,Buffer.from(G.token,"hex"))||G.version!==e.version||G.home!==n){E();return}e.onActivity?.();let W,K=qt(G.payload,G.host,{recordUsage:(ye,sn)=>{W={sessionId:ye,routed:sn}},claudeDirs:{projectDir:G.claudeProjectDir,configDir:G.claudeConfigDir},pathEnv:G.path??""}),H=Buffer.from(JSON.stringify({ok:!0,protocol:2,output:K}));if(H.length>1024*1024)throw new Error("hook response limit");T=async()=>{let ye=W;W=void 0,ye&&se(ye.sessionId,ye.routed)},R(),d="delivery",I(e.processingTimeoutMs??5e3),f.write(nn(H));return}let J=aS.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(),R(),d="capture",I(J.timeoutMs+5e3),M({ok:!0,protocol:2,yolo:p});return}if(d!=="capture"||!m)throw new Error("unexpected processing frame");let D=Qf(z);e.onActivity?.();let Z=e.getRuntime();if(!rn(Z)){E();return}d="processing",g=!0,I(e.processingTimeoutMs??5e3);let V={},Se=iS[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({...D,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 W=Buffer.allocUnsafe(8);W.writeUInt32BE(J.length,0),W.writeUInt32BE(G.length,4),d="delivery",I(e.processingTimeoutMs??5e3),f.write(nn(Buffer.concat([W,J,G])))}).catch(()=>E()).finally(()=>{g=!1,f.destroyed&&(R(),s.delete(f)),o.delete(ue)});o.add(ue)},z=>{if(i+z>c)throw new Error("processing capacity exceeded");i+=z,b+=z});I(e.prepareTimeoutMs??1e3),f.on("data",z=>{try{L.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||tS(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 bS(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 rd(e,t,n="processing.json"){let r=process.platform==="win32",s=mS(x()),o=es(s,"run");dS(o,{recursive:!0,mode:448});let i=fS(o);if(!i.isDirectory()||!r&&(i.uid!==process.getuid?.()||(i.mode&63)!==0))throw new Error("unsafe processing descriptor directory");let a=nd().slice(0,8),l=r?bS(process.env.USERNAME??"user",pe,a):es(yS(kt().path),`p${a}`);if(!r&&Buffer.byteLength(l)>100)throw new Error("processing socket path too long");let c=uS(32).toString("hex"),u=await td({path:l,token:c,version:pe,getRuntime:e,...t?{onActivity:t}:{}}),f=es(o,`${n}.${nd()}.tmp`);try{return gS(f,JSON.stringify({protocol:2,version:pe,home:s,path:l,token:c}),{mode:384,flag:"wx"}),pS(f,es(o,n)),u}catch(d){throw await u.close(),d}finally{hS(f,{force:!0})}}function sd(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}}j();It();var xS=6e4,SS=5e3,vS=30*6e4;function od(){let e=Number(process.env.TOKMIZER_PROCESSOR_IDLE_MS);return Number.isFinite(e)&&e>0?e:vS}async function ES(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 Ke(r,t,null,{resolver:n}).catch(()=>null)}function TS(e){try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}function RS(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(xi(e,"utf8"))}catch{}if(Number.isInteger(n)&&n>0&&TS(n))return!1;ts(e,{force:!0})}return!1}function wi(e,t){try{return t(xi(e,"utf8"))}catch{return!1}}async function AS(){let e=_i(_S(x()),"run");kS(e,{recursive:!0,mode:448});let t=_i(e,`processor-${pe}.pid`);if(!RS(t))return;let n=sd(Xn,Ft,SS),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 rd(n.current,s,ki())}catch{ts(t,{force:!0});return}i=wi(o,()=>!0)?JSON.parse(xi(o,"utf8")).path:null,setInterval(()=>{n.reload()},xS).unref(),setInterval(()=>{(a?.activeConnections()??0)===0&&Date.now()-r>od()&&c()},Math.min(6e4,od())).unref(),process.on("SIGINT",c),process.on("SIGTERM",c),setImmediate(()=>{ES(n.current())}),setTimeout(()=>{process.title="tkr-processor"},1e3).unref()}AS().catch(()=>process.exit(0));
128
130
  /*! Bundled license information:
129
131
 
130
132
  smol-toml/dist/error.js: