@tokmizer/plugin 0.9.56 → 0.9.58

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/README.md +168 -9
  3. package/agent-plugins/amp.js +38 -0
  4. package/agent-plugins/hermes/__init__.py +39 -0
  5. package/agent-plugins/hermes/plugin.yaml +5 -0
  6. package/agent-plugins/kilo.js +40 -0
  7. package/agent-plugins/omp.js +32 -0
  8. package/agent-plugins/openclaw/index.js +39 -0
  9. package/agent-plugins/openclaw/openclaw.plugin.json +12 -0
  10. package/agent-plugins/openclaw/package.json +11 -0
  11. package/agent-plugins/opencode.js +40 -0
  12. package/agent-plugins/pi.js +30 -0
  13. package/codex-plugin/plugin.json +1 -1
  14. package/command-templates/tkr-gain.md +7 -2
  15. package/command-templates/tkr-link.md +1 -1
  16. package/command-templates/tkr-status.md +5 -3
  17. package/command-templates/tkr-telemetry.md +3 -3
  18. package/command-templates/tkr-unlink.md +2 -2
  19. package/dist/bin/tkr-agent-hook.js +11 -0
  20. package/dist/bin/tkr-codex-hook.js +131 -40
  21. package/dist/bin/tkr-copilot-hook.js +11 -0
  22. package/dist/bin/tkr-crush-hook.js +11 -0
  23. package/dist/bin/tkr-cursor-hook.js +11 -0
  24. package/dist/bin/tkr-daemon.js +161 -55
  25. package/dist/bin/tkr-droid-hook.js +11 -0
  26. package/dist/bin/tkr-exec +135 -42
  27. package/dist/bin/tkr-exec.js +135 -42
  28. package/dist/bin/tkr-gemini-hook.js +11 -0
  29. package/dist/bin/tkr-grok-hook.js +11 -0
  30. package/dist/bin/tkr-junie-hook.js +11 -0
  31. package/dist/bin/tkr-processor.js +162 -0
  32. package/dist/bin/tkr-qwen-hook.js +11 -0
  33. package/dist/bin/tkr-shim.js +131 -38
  34. package/dist/bin/tkr-trae-hook.js +11 -0
  35. package/dist/bin/tkr-zcode-hook.js +11 -0
  36. package/dist/bin/tkr.js +356 -152
  37. package/dist/hooks-host/post-tool-use.js +144 -48
  38. package/dist/hooks-host/pre-tool-use.js +8 -7
  39. package/dist/hooks-host/reducer-prompt-submit.js +1 -1
  40. package/dist/hooks-host/reducer-session-start.js +1 -1
  41. package/dist/hooks-host/reducer-stop.js +25 -16
  42. package/dist/hooks-host/session-recap.js +4 -3
  43. package/dist/index.js +125 -39
  44. package/dist/native/manifest.json +18 -8
  45. package/dist/native/single.json +38 -0
  46. package/dist/native/tkr-exec-darwin-arm64 +0 -0
  47. package/dist/native/tkr-exec-darwin-x64 +0 -0
  48. package/dist/native/tkr-exec-linux-arm64 +0 -0
  49. package/dist/native/tkr-exec-linux-x64 +0 -0
  50. package/dist/native/tkr-exec-win32-arm64.exe +0 -0
  51. package/dist/native/tkr-exec-win32-x64.exe +0 -0
  52. package/hooks/on-session-start.d.mts +1 -0
  53. package/hooks/on-session-start.mjs +25 -8
  54. package/package.json +24 -2
  55. package/scripts/README-INSTALL.md +13 -5
  56. package/scripts/install-mac-linux.sh +72 -6
  57. package/scripts/install-native.mjs +164 -25
@@ -1,56 +1,152 @@
1
1
  import { createRequire as __tkrCreateRequire } from "node:module"; const require = __tkrCreateRequire(import.meta.url);
2
- var gi=Object.defineProperty;var _=(t,e,n)=>()=>{if(n)throw n[0];try{return t&&(e=t(t=0)),e}catch(r){throw n=[r],r}};var Ct=(t,e)=>{for(var n in e)gi(t,n,{get:e[n],enumerable:!0})};import yi from"node:os";import{join as ct}from"node:path";function A(){return process.env.TOKMIZER_HOME||ct(yi.homedir(),".tokmizer")}function He(){return ct(A(),"install-id")}function Ot(){return ct(A(),"content-cache")}function Tn(t){return ct(Ot(),t)}var F=_(()=>{"use strict"});import{join as vi}from"node:path";import{mkdir as Gu,readFile as xi,writeFile as Wu,unlink as Yu,rename as Ju}from"node:fs/promises";function Ei(){try{let t=Intl.DateTimeFormat().resolvedOptions().timeZone;return t&&t.length>0?t:"Etc/UTC"}catch{return"Etc/UTC"}}function wi(t){return t?.dir??A()}async function Ke(t){let e=wi(t);try{let n=await xi(vi(e,ki),"utf8"),r=JSON.parse(n),s=r.timeZone;return{...r,lastSettingsRevision:r.lastSettingsRevision??0,get timeZone(){return s??=Ei()},bonusActive:r.bonusActive??!1,...r.bonusResetAt!==void 0?{bonusResetAt:r.bonusResetAt}:{}}}catch{return null}}var ki,lt=_(()=>{"use strict";F();ki="state.json"});import{readFileSync as Yi}from"node:fs";import{join as Ji}from"node:path";function re(){try{return Yi(Ji(A(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var $t=_(()=>{"use strict";F()});var R,Dt,y,W,Ge=_(()=>{(function(t){t.assertEqual=s=>{};function e(s){}t.assertIs=e;function n(s){throw new Error}t.assertNever=n,t.arrayToEnum=s=>{let i={};for(let o of s)i[o]=o;return i},t.getValidEnumValues=s=>{let i=t.objectKeys(s).filter(a=>typeof s[s[a]]!="number"),o={};for(let a of i)o[a]=s[a];return t.objectValues(o)},t.objectValues=s=>t.objectKeys(s).map(function(i){return s[i]}),t.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let i=[];for(let o in s)Object.prototype.hasOwnProperty.call(s,o)&&i.push(o);return i},t.find=(s,i)=>{for(let o of s)if(i(o))return o},t.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,i=" | "){return s.map(o=>typeof o=="string"?`'${o}'`:o).join(i)}t.joinValues=r,t.jsonStringifyReplacer=(s,i)=>typeof i=="bigint"?i.toString():i})(R||(R={}));(function(t){t.mergeShapes=(e,n)=>({...e,...n})})(Dt||(Dt={}));y=R.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),W=t=>{switch(typeof t){case"undefined":return y.undefined;case"string":return y.string;case"number":return Number.isNaN(t)?y.nan:y.number;case"boolean":return y.boolean;case"function":return y.function;case"bigint":return y.bigint;case"symbol":return y.symbol;case"object":return Array.isArray(t)?y.array:t===null?y.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?y.promise:typeof Map<"u"&&t instanceof Map?y.map:typeof Set<"u"&&t instanceof Set?y.set:typeof Date<"u"&&t instanceof Date?y.date:y.object;default:return y.unknown}}});var f,qi,j,ut=_(()=>{Ge();f=R.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"]),qi=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),j=class t extends Error{get errors(){return this.issues}constructor(e){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=e}format(e){let n=e||function(i){return i.message},r={_errors:[]},s=i=>{for(let o of i.issues)if(o.code==="invalid_union")o.unionErrors.map(s);else if(o.code==="invalid_return_type")s(o.returnTypeError);else if(o.code==="invalid_arguments")s(o.argumentsError);else if(o.path.length===0)r._errors.push(n(o));else{let a=r,c=0;for(;c<o.path.length;){let u=o.path[c];c===o.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(n(o))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return s(this),r}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,R.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=n=>n.message){let n={},r=[];for(let s of this.issues)if(s.path.length>0){let i=s.path[0];n[i]=n[i]||[],n[i].push(e(s))}else r.push(e(s));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};j.create=t=>new j(t)});var Xi,X,Nt=_(()=>{ut();Ge();Xi=(t,e)=>{let n;switch(t.code){case f.invalid_type:t.received===y.undefined?n="Required":n=`Expected ${t.expected}, received ${t.received}`;break;case f.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(t.expected,R.jsonStringifyReplacer)}`;break;case f.unrecognized_keys:n=`Unrecognized key(s) in object: ${R.joinValues(t.keys,", ")}`;break;case f.invalid_union:n="Invalid input";break;case f.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${R.joinValues(t.options)}`;break;case f.invalid_enum_value:n=`Invalid enum value. Expected ${R.joinValues(t.options)}, received '${t.received}'`;break;case f.invalid_arguments:n="Invalid function arguments";break;case f.invalid_return_type:n="Invalid function return type";break;case f.invalid_date:n="Invalid date";break;case f.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(n=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?n=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?n=`Invalid input: must end with "${t.validation.endsWith}"`:R.assertNever(t.validation):t.validation!=="regex"?n=`Invalid ${t.validation}`:n="Invalid";break;case f.too_small:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:n="Invalid input";break;case f.too_big:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?n=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:n="Invalid input";break;case f.custom:n="Invalid input";break;case f.invalid_intersection_types:n="Intersection results could not be merged";break;case f.not_multiple_of:n=`Number must be a multiple of ${t.multipleOf}`;break;case f.not_finite:n="Number must be finite";break;default:n=e.defaultError,R.assertNever(t)}return{message:n}},X=Xi});function Qi(t){Bn=t}function $e(){return Bn}var Bn,dt=_(()=>{Nt();Bn=X});function h(t,e){let n=$e(),r=We({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,n,n===X?void 0:X].filter(s=>!!s)});t.common.issues.push(r)}var We,eo,P,x,de,L,ft,mt,se,De,Pt=_(()=>{dt();Nt();We=t=>{let{data:e,path:n,errorMaps:r,issueData:s}=t,i=[...n,...s.path||[]],o={...s,path:i};if(s.message!==void 0)return{...s,path:i,message:s.message};let a="",c=r.filter(u=>!!u).slice().reverse();for(let u of c)a=u(o,{data:e,defaultError:a}).message;return{...s,path:i,message:a}},eo=[];P=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,n){let r=[];for(let s of n){if(s.status==="aborted")return x;s.status==="dirty"&&e.dirty(),r.push(s.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,n){let r=[];for(let s of n){let i=await s.key,o=await s.value;r.push({key:i,value:o})}return t.mergeObjectSync(e,r)}static mergeObjectSync(e,n){let r={};for(let s of n){let{key:i,value:o}=s;if(i.status==="aborted"||o.status==="aborted")return x;i.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),i.value!=="__proto__"&&(typeof o.value<"u"||s.alwaysSet)&&(r[i.value]=o.value)}return{status:e.value,value:r}}},x=Object.freeze({status:"aborted"}),de=t=>({status:"dirty",value:t}),L=t=>({status:"valid",value:t}),ft=t=>t.status==="aborted",mt=t=>t.status==="dirty",se=t=>t.status==="valid",De=t=>typeof Promise<"u"&&t instanceof Promise});var zn=_(()=>{});var b,Zn=_(()=>{(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(b||(b={}))});function E(t){if(!t)return{};let{errorMap:e,invalid_type_error:n,required_error:r,description:s}=t;if(e&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:s}:{errorMap:(o,a)=>{let{message:c}=t;return o.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??r??a.defaultError}:o.code!=="invalid_type"?{message:a.defaultError}:{message:c??n??a.defaultError}},description:s}}function Kn(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let n=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${n}`}function _o(t){return new RegExp(`^${Kn(t)}$`)}function Gn(t){let e=`${Hn}T${Kn(t)}`,n=[];return n.push(t.local?"Z?":"Z"),t.offset&&n.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${n.join("|")})`,new RegExp(`^${e}$`)}function bo(t,e){return!!((e==="v4"||!e)&&uo.test(t)||(e==="v6"||!e)&&mo.test(t))}function vo(t,e){if(!oo.test(t))return!1;try{let[n]=t.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||e&&s.alg!==e)}catch{return!1}}function xo(t,e){return!!((e==="v4"||!e)&&fo.test(t)||(e==="v6"||!e)&&po.test(t))}function ko(t,e){let n=(t.toString().split(".")[1]||"").length,r=(e.toString().split(".")[1]||"").length,s=n>r?n:r,i=Number.parseInt(t.toFixed(s).replace(".","")),o=Number.parseInt(e.toFixed(s).replace(".",""));return i%o/10**s}function Ne(t){if(t instanceof B){let e={};for(let n in t.shape){let r=t.shape[n];e[n]=U.create(Ne(r))}return new B({...t._def,shape:()=>e})}else return t instanceof te?new te({...t._def,type:Ne(t.element)}):t instanceof U?U.create(Ne(t.unwrap())):t instanceof J?J.create(Ne(t.unwrap())):t instanceof Y?Y.create(t.items.map(e=>Ne(e))):t}function Lt(t,e){let n=W(t),r=W(e);if(t===e)return{valid:!0,data:t};if(n===y.object&&r===y.object){let s=R.objectKeys(e),i=R.objectKeys(t).filter(a=>s.indexOf(a)!==-1),o={...t,...e};for(let a of i){let c=Lt(t[a],e[a]);if(!c.valid)return{valid:!1};o[a]=c.data}return{valid:!0,data:o}}else if(n===y.array&&r===y.array){if(t.length!==e.length)return{valid:!1};let s=[];for(let i=0;i<t.length;i++){let o=t[i],a=e[i],c=Lt(o,a);if(!c.valid)return{valid:!1};s.push(c.data)}return{valid:!0,data:s}}else return n===y.date&&r===y.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}function Wn(t,e){return new ke({values:t,typeName:k.ZodEnum,...E(e)})}function Vn(t,e){let n=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof n=="string"?{message:n}:n}function Yn(t,e={},n){return t?oe.create().superRefine((r,s)=>{let i=t(r);if(i instanceof Promise)return i.then(o=>{if(!o){let a=Vn(e,r),c=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:c})}});if(!i){let o=Vn(e,r),a=o.fatal??n??!0;s.addIssue({code:"custom",...o,fatal:a})}}):oe.create()}var V,Un,w,to,no,ro,so,io,oo,ao,co,lo,Mt,uo,fo,mo,po,ho,go,Hn,yo,ie,fe,me,pe,he,Pe,ge,ye,oe,ee,G,Me,te,B,_e,Q,pt,be,Y,ht,Le,Fe,gt,ve,xe,ke,Ee,ae,H,U,J,we,Se,je,Eo,Ye,Je,Te,wo,k,So,Jn,qn,To,Ro,Xn,Ao,Co,Oo,Io,$o,Do,No,Po,Mo,Lo,Fo,jo,Bo,zo,Zo,Uo,Vo,Ho,Ko,Go,Wo,Yo,Jo,qo,Xo,Qo,ea,ta,na,ra,sa,ia,oa,aa,Qn=_(()=>{ut();dt();Zn();Pt();Ge();V=class{constructor(e,n,r,s){this._cachedPath=[],this.parent=e,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}},Un=(t,e)=>{if(se(e))return{success:!0,data:e.value};if(!t.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 j(t.common.issues);return this._error=n,this._error}}};w=class{get description(){return this._def.description}_getType(e){return W(e.data)}_getOrReturnCtx(e,n){return n||{common:e.parent.common,data:e.data,parsedType:W(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new P,ctx:{common:e.parent.common,data:e.data,parsedType:W(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let n=this._parse(e);if(De(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(e){let n=this._parse(e);return Promise.resolve(n)}parse(e,n){let r=this.safeParse(e,n);if(r.success)return r.data;throw r.error}safeParse(e,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:W(e)},s=this._parseSync({data:e,path:r.path,parent:r});return Un(r,s)}"~validate"(e){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:W(e)};if(!this["~standard"].async)try{let r=this._parseSync({data:e,path:[],parent:n});return se(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:e,path:[],parent:n}).then(r=>se(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(e,n){let r=await this.safeParseAsync(e,n);if(r.success)return r.data;throw r.error}async safeParseAsync(e,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:W(e)},s=this._parse({data:e,path:r.path,parent:r}),i=await(De(s)?s:Promise.resolve(s));return Un(r,i)}refine(e,n){let r=s=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(s):n;return this._refinement((s,i)=>{let o=e(s),a=()=>i.addIssue({code:f.custom,...r(s)});return typeof Promise<"u"&&o instanceof Promise?o.then(c=>c?!0:(a(),!1)):o?!0:(a(),!1)})}refinement(e,n){return this._refinement((r,s)=>e(r)?!0:(s.addIssue(typeof n=="function"?n(r,s):n),!1))}_refinement(e){return new H({schema:this,typeName:k.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,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 U.create(this,this._def)}nullable(){return J.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return te.create(this)}promise(){return ae.create(this,this._def)}or(e){return _e.create([this,e],this._def)}and(e){return be.create(this,e,this._def)}transform(e){return new H({...E(this._def),schema:this,typeName:k.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let n=typeof e=="function"?e:()=>e;return new we({...E(this._def),innerType:this,defaultValue:n,typeName:k.ZodDefault})}brand(){return new Ye({typeName:k.ZodBranded,type:this,...E(this._def)})}catch(e){let n=typeof e=="function"?e:()=>e;return new Se({...E(this._def),innerType:this,catchValue:n,typeName:k.ZodCatch})}describe(e){let n=this.constructor;return new n({...this._def,description:e})}pipe(e){return Je.create(this,e)}readonly(){return Te.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},to=/^c[^\s-]{8,}$/i,no=/^[0-9a-z]+$/,ro=/^[0-9A-HJKMNP-TV-Z]{26}$/i,so=/^[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,io=/^[a-z0-9_-]{21}$/i,oo=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,ao=/^[-+]?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)?)??$/,co=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,lo="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",uo=/^(?:(?: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])$/,fo=/^(?:(?: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])$/,mo=/^(([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]))$/,po=/^(([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])$/,ho=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,go=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Hn="((\\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])))",yo=new RegExp(`^${Hn}$`);ie=class t extends w{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==y.string){let i=this._getOrReturnCtx(e);return h(i,{code:f.invalid_type,expected:y.string,received:i.parsedType}),x}let r=new P,s;for(let i of this._def.checks)if(i.kind==="min")e.data.length<i.value&&(s=this._getOrReturnCtx(e,s),h(s,{code:f.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),r.dirty());else if(i.kind==="max")e.data.length>i.value&&(s=this._getOrReturnCtx(e,s),h(s,{code:f.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),r.dirty());else if(i.kind==="length"){let o=e.data.length>i.value,a=e.data.length<i.value;(o||a)&&(s=this._getOrReturnCtx(e,s),o?h(s,{code:f.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):a&&h(s,{code:f.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),r.dirty())}else if(i.kind==="email")co.test(e.data)||(s=this._getOrReturnCtx(e,s),h(s,{validation:"email",code:f.invalid_string,message:i.message}),r.dirty());else if(i.kind==="emoji")Mt||(Mt=new RegExp(lo,"u")),Mt.test(e.data)||(s=this._getOrReturnCtx(e,s),h(s,{validation:"emoji",code:f.invalid_string,message:i.message}),r.dirty());else if(i.kind==="uuid")so.test(e.data)||(s=this._getOrReturnCtx(e,s),h(s,{validation:"uuid",code:f.invalid_string,message:i.message}),r.dirty());else if(i.kind==="nanoid")io.test(e.data)||(s=this._getOrReturnCtx(e,s),h(s,{validation:"nanoid",code:f.invalid_string,message:i.message}),r.dirty());else if(i.kind==="cuid")to.test(e.data)||(s=this._getOrReturnCtx(e,s),h(s,{validation:"cuid",code:f.invalid_string,message:i.message}),r.dirty());else if(i.kind==="cuid2")no.test(e.data)||(s=this._getOrReturnCtx(e,s),h(s,{validation:"cuid2",code:f.invalid_string,message:i.message}),r.dirty());else if(i.kind==="ulid")ro.test(e.data)||(s=this._getOrReturnCtx(e,s),h(s,{validation:"ulid",code:f.invalid_string,message:i.message}),r.dirty());else if(i.kind==="url")try{new URL(e.data)}catch{s=this._getOrReturnCtx(e,s),h(s,{validation:"url",code:f.invalid_string,message:i.message}),r.dirty()}else i.kind==="regex"?(i.regex.lastIndex=0,i.regex.test(e.data)||(s=this._getOrReturnCtx(e,s),h(s,{validation:"regex",code:f.invalid_string,message:i.message}),r.dirty())):i.kind==="trim"?e.data=e.data.trim():i.kind==="includes"?e.data.includes(i.value,i.position)||(s=this._getOrReturnCtx(e,s),h(s,{code:f.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),r.dirty()):i.kind==="toLowerCase"?e.data=e.data.toLowerCase():i.kind==="toUpperCase"?e.data=e.data.toUpperCase():i.kind==="startsWith"?e.data.startsWith(i.value)||(s=this._getOrReturnCtx(e,s),h(s,{code:f.invalid_string,validation:{startsWith:i.value},message:i.message}),r.dirty()):i.kind==="endsWith"?e.data.endsWith(i.value)||(s=this._getOrReturnCtx(e,s),h(s,{code:f.invalid_string,validation:{endsWith:i.value},message:i.message}),r.dirty()):i.kind==="datetime"?Gn(i).test(e.data)||(s=this._getOrReturnCtx(e,s),h(s,{code:f.invalid_string,validation:"datetime",message:i.message}),r.dirty()):i.kind==="date"?yo.test(e.data)||(s=this._getOrReturnCtx(e,s),h(s,{code:f.invalid_string,validation:"date",message:i.message}),r.dirty()):i.kind==="time"?_o(i).test(e.data)||(s=this._getOrReturnCtx(e,s),h(s,{code:f.invalid_string,validation:"time",message:i.message}),r.dirty()):i.kind==="duration"?ao.test(e.data)||(s=this._getOrReturnCtx(e,s),h(s,{validation:"duration",code:f.invalid_string,message:i.message}),r.dirty()):i.kind==="ip"?bo(e.data,i.version)||(s=this._getOrReturnCtx(e,s),h(s,{validation:"ip",code:f.invalid_string,message:i.message}),r.dirty()):i.kind==="jwt"?vo(e.data,i.alg)||(s=this._getOrReturnCtx(e,s),h(s,{validation:"jwt",code:f.invalid_string,message:i.message}),r.dirty()):i.kind==="cidr"?xo(e.data,i.version)||(s=this._getOrReturnCtx(e,s),h(s,{validation:"cidr",code:f.invalid_string,message:i.message}),r.dirty()):i.kind==="base64"?ho.test(e.data)||(s=this._getOrReturnCtx(e,s),h(s,{validation:"base64",code:f.invalid_string,message:i.message}),r.dirty()):i.kind==="base64url"?go.test(e.data)||(s=this._getOrReturnCtx(e,s),h(s,{validation:"base64url",code:f.invalid_string,message:i.message}),r.dirty()):R.assertNever(i);return{status:r.value,value:e.data}}_regex(e,n,r){return this.refinement(s=>e.test(s),{validation:n,code:f.invalid_string,...b.errToObj(r)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...b.errToObj(e)})}url(e){return this._addCheck({kind:"url",...b.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...b.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...b.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...b.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...b.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...b.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...b.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...b.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...b.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...b.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...b.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...b.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...b.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...b.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...b.errToObj(e)})}regex(e,n){return this._addCheck({kind:"regex",regex:e,...b.errToObj(n)})}includes(e,n){return this._addCheck({kind:"includes",value:e,position:n?.position,...b.errToObj(n?.message)})}startsWith(e,n){return this._addCheck({kind:"startsWith",value:e,...b.errToObj(n)})}endsWith(e,n){return this._addCheck({kind:"endsWith",value:e,...b.errToObj(n)})}min(e,n){return this._addCheck({kind:"min",value:e,...b.errToObj(n)})}max(e,n){return this._addCheck({kind:"max",value:e,...b.errToObj(n)})}length(e,n){return this._addCheck({kind:"length",value:e,...b.errToObj(n)})}nonempty(e){return this.min(1,b.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxLength(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}};ie.create=t=>new ie({checks:[],typeName:k.ZodString,coerce:t?.coerce??!1,...E(t)});fe=class t extends w{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==y.number){let i=this._getOrReturnCtx(e);return h(i,{code:f.invalid_type,expected:y.number,received:i.parsedType}),x}let r,s=new P;for(let i of this._def.checks)i.kind==="int"?R.isInteger(e.data)||(r=this._getOrReturnCtx(e,r),h(r,{code:f.invalid_type,expected:"integer",received:"float",message:i.message}),s.dirty()):i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(r=this._getOrReturnCtx(e,r),h(r,{code:f.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(r=this._getOrReturnCtx(e,r),h(r,{code:f.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="multipleOf"?ko(e.data,i.value)!==0&&(r=this._getOrReturnCtx(e,r),h(r,{code:f.not_multiple_of,multipleOf:i.value,message:i.message}),s.dirty()):i.kind==="finite"?Number.isFinite(e.data)||(r=this._getOrReturnCtx(e,r),h(r,{code:f.not_finite,message:i.message}),s.dirty()):R.assertNever(i);return{status:s.value,value:e.data}}gte(e,n){return this.setLimit("min",e,!0,b.toString(n))}gt(e,n){return this.setLimit("min",e,!1,b.toString(n))}lte(e,n){return this.setLimit("max",e,!0,b.toString(n))}lt(e,n){return this.setLimit("max",e,!1,b.toString(n))}setLimit(e,n,r,s){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:b.toString(s)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:b.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:b.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:b.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:b.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:b.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:b.toString(n)})}finite(e){return this._addCheck({kind:"finite",message:b.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:b.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:b.toString(e)})}get minValue(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&R.isInteger(e.value))}get isFinite(){let e=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"&&(e===null||r.value<e)&&(e=r.value)}return Number.isFinite(n)&&Number.isFinite(e)}};fe.create=t=>new fe({checks:[],typeName:k.ZodNumber,coerce:t?.coerce||!1,...E(t)});me=class t extends w{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==y.bigint)return this._getInvalidInput(e);let r,s=new P;for(let i of this._def.checks)i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(r=this._getOrReturnCtx(e,r),h(r,{code:f.too_small,type:"bigint",minimum:i.value,inclusive:i.inclusive,message:i.message}),s.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(r=this._getOrReturnCtx(e,r),h(r,{code:f.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),s.dirty()):i.kind==="multipleOf"?e.data%i.value!==BigInt(0)&&(r=this._getOrReturnCtx(e,r),h(r,{code:f.not_multiple_of,multipleOf:i.value,message:i.message}),s.dirty()):R.assertNever(i);return{status:s.value,value:e.data}}_getInvalidInput(e){let n=this._getOrReturnCtx(e);return h(n,{code:f.invalid_type,expected:y.bigint,received:n.parsedType}),x}gte(e,n){return this.setLimit("min",e,!0,b.toString(n))}gt(e,n){return this.setLimit("min",e,!1,b.toString(n))}lte(e,n){return this.setLimit("max",e,!0,b.toString(n))}lt(e,n){return this.setLimit("max",e,!1,b.toString(n))}setLimit(e,n,r,s){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:b.toString(s)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:b.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:b.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:b.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:b.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:b.toString(n)})}get minValue(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}};me.create=t=>new me({checks:[],typeName:k.ZodBigInt,coerce:t?.coerce??!1,...E(t)});pe=class extends w{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==y.boolean){let r=this._getOrReturnCtx(e);return h(r,{code:f.invalid_type,expected:y.boolean,received:r.parsedType}),x}return L(e.data)}};pe.create=t=>new pe({typeName:k.ZodBoolean,coerce:t?.coerce||!1,...E(t)});he=class t extends w{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==y.date){let i=this._getOrReturnCtx(e);return h(i,{code:f.invalid_type,expected:y.date,received:i.parsedType}),x}if(Number.isNaN(e.data.getTime())){let i=this._getOrReturnCtx(e);return h(i,{code:f.invalid_date}),x}let r=new P,s;for(let i of this._def.checks)i.kind==="min"?e.data.getTime()<i.value&&(s=this._getOrReturnCtx(e,s),h(s,{code:f.too_small,message:i.message,inclusive:!0,exact:!1,minimum:i.value,type:"date"}),r.dirty()):i.kind==="max"?e.data.getTime()>i.value&&(s=this._getOrReturnCtx(e,s),h(s,{code:f.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),r.dirty()):R.assertNever(i);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,n){return this._addCheck({kind:"min",value:e.getTime(),message:b.toString(n)})}max(e,n){return this._addCheck({kind:"max",value:e.getTime(),message:b.toString(n)})}get minDate(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e!=null?new Date(e):null}};he.create=t=>new he({checks:[],coerce:t?.coerce||!1,typeName:k.ZodDate,...E(t)});Pe=class extends w{_parse(e){if(this._getType(e)!==y.symbol){let r=this._getOrReturnCtx(e);return h(r,{code:f.invalid_type,expected:y.symbol,received:r.parsedType}),x}return L(e.data)}};Pe.create=t=>new Pe({typeName:k.ZodSymbol,...E(t)});ge=class extends w{_parse(e){if(this._getType(e)!==y.undefined){let r=this._getOrReturnCtx(e);return h(r,{code:f.invalid_type,expected:y.undefined,received:r.parsedType}),x}return L(e.data)}};ge.create=t=>new ge({typeName:k.ZodUndefined,...E(t)});ye=class extends w{_parse(e){if(this._getType(e)!==y.null){let r=this._getOrReturnCtx(e);return h(r,{code:f.invalid_type,expected:y.null,received:r.parsedType}),x}return L(e.data)}};ye.create=t=>new ye({typeName:k.ZodNull,...E(t)});oe=class extends w{constructor(){super(...arguments),this._any=!0}_parse(e){return L(e.data)}};oe.create=t=>new oe({typeName:k.ZodAny,...E(t)});ee=class extends w{constructor(){super(...arguments),this._unknown=!0}_parse(e){return L(e.data)}};ee.create=t=>new ee({typeName:k.ZodUnknown,...E(t)});G=class extends w{_parse(e){let n=this._getOrReturnCtx(e);return h(n,{code:f.invalid_type,expected:y.never,received:n.parsedType}),x}};G.create=t=>new G({typeName:k.ZodNever,...E(t)});Me=class extends w{_parse(e){if(this._getType(e)!==y.undefined){let r=this._getOrReturnCtx(e);return h(r,{code:f.invalid_type,expected:y.void,received:r.parsedType}),x}return L(e.data)}};Me.create=t=>new Me({typeName:k.ZodVoid,...E(t)});te=class t extends w{_parse(e){let{ctx:n,status:r}=this._processInputParams(e),s=this._def;if(n.parsedType!==y.array)return h(n,{code:f.invalid_type,expected:y.array,received:n.parsedType}),x;if(s.exactLength!==null){let o=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(o||a)&&(h(n,{code:o?f.too_big:f.too_small,minimum:a?s.exactLength.value:void 0,maximum:o?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&&(h(n,{code:f.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&&(h(n,{code:f.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((o,a)=>s.type._parseAsync(new V(n,o,n.path,a)))).then(o=>P.mergeArray(r,o));let i=[...n.data].map((o,a)=>s.type._parseSync(new V(n,o,n.path,a)));return P.mergeArray(r,i)}get element(){return this._def.type}min(e,n){return new t({...this._def,minLength:{value:e,message:b.toString(n)}})}max(e,n){return new t({...this._def,maxLength:{value:e,message:b.toString(n)}})}length(e,n){return new t({...this._def,exactLength:{value:e,message:b.toString(n)}})}nonempty(e){return this.min(1,e)}};te.create=(t,e)=>new te({type:t,minLength:null,maxLength:null,exactLength:null,typeName:k.ZodArray,...E(e)});B=class t extends w{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),n=R.objectKeys(e);return this._cached={shape:e,keys:n},this._cached}_parse(e){if(this._getType(e)!==y.object){let u=this._getOrReturnCtx(e);return h(u,{code:f.invalid_type,expected:y.object,received:u.parsedType}),x}let{status:r,ctx:s}=this._processInputParams(e),{shape:i,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof G&&this._def.unknownKeys==="strip"))for(let u in s.data)o.includes(u)||a.push(u);let c=[];for(let u of o){let l=i[u],m=s.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new V(s,m,s.path,u)),alwaysSet:u in s.data})}if(this._def.catchall instanceof G){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of a)c.push({key:{status:"valid",value:l},value:{status:"valid",value:s.data[l]}});else if(u==="strict")a.length>0&&(h(s,{code:f.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of a){let m=s.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new V(s,m,s.path,l)),alwaysSet:l in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let m=await l.key,d=await l.value;u.push({key:m,value:d,alwaysSet:l.alwaysSet})}return u}).then(u=>P.mergeObjectSync(r,u)):P.mergeObjectSync(r,c)}get shape(){return this._def.shape()}strict(e){return b.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(n,r)=>{let s=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:b.errToObj(e).message??s}:{message:s}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:k.ZodObject})}setKey(e,n){return this.augment({[e]:n})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let n={};for(let r of R.objectKeys(e))e[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new t({...this._def,shape:()=>n})}omit(e){let n={};for(let r of R.objectKeys(this.shape))e[r]||(n[r]=this.shape[r]);return new t({...this._def,shape:()=>n})}deepPartial(){return Ne(this)}partial(e){let n={};for(let r of R.objectKeys(this.shape)){let s=this.shape[r];e&&!e[r]?n[r]=s:n[r]=s.optional()}return new t({...this._def,shape:()=>n})}required(e){let n={};for(let r of R.objectKeys(this.shape))if(e&&!e[r])n[r]=this.shape[r];else{let i=this.shape[r];for(;i instanceof U;)i=i._def.innerType;n[r]=i}return new t({...this._def,shape:()=>n})}keyof(){return Wn(R.objectKeys(this.shape))}};B.create=(t,e)=>new B({shape:()=>t,unknownKeys:"strip",catchall:G.create(),typeName:k.ZodObject,...E(e)});B.strictCreate=(t,e)=>new B({shape:()=>t,unknownKeys:"strict",catchall:G.create(),typeName:k.ZodObject,...E(e)});B.lazycreate=(t,e)=>new B({shape:t,unknownKeys:"strip",catchall:G.create(),typeName:k.ZodObject,...E(e)});_e=class extends w{_parse(e){let{ctx:n}=this._processInputParams(e),r=this._def.options;function s(i){for(let a of i)if(a.result.status==="valid")return a.result;for(let a of i)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;let o=i.map(a=>new j(a.ctx.common.issues));return h(n,{code:f.invalid_union,unionErrors:o}),x}if(n.common.async)return Promise.all(r.map(async i=>{let o={...n,common:{...n.common,issues:[]},parent:null};return{result:await i._parseAsync({data:n.data,path:n.path,parent:o}),ctx:o}})).then(s);{let i,o=[];for(let c of r){let u={...n,common:{...n.common,issues:[]},parent:null},l=c._parseSync({data:n.data,path:n.path,parent:u});if(l.status==="valid")return l;l.status==="dirty"&&!i&&(i={result:l,ctx:u}),u.common.issues.length&&o.push(u.common.issues)}if(i)return n.common.issues.push(...i.ctx.common.issues),i.result;let a=o.map(c=>new j(c));return h(n,{code:f.invalid_union,unionErrors:a}),x}}get options(){return this._def.options}};_e.create=(t,e)=>new _e({options:t,typeName:k.ZodUnion,...E(e)});Q=t=>t instanceof ve?Q(t.schema):t instanceof H?Q(t.innerType()):t instanceof xe?[t.value]:t instanceof ke?t.options:t instanceof Ee?R.objectValues(t.enum):t instanceof we?Q(t._def.innerType):t instanceof ge?[void 0]:t instanceof ye?[null]:t instanceof U?[void 0,...Q(t.unwrap())]:t instanceof J?[null,...Q(t.unwrap())]:t instanceof Ye||t instanceof Te?Q(t.unwrap()):t instanceof Se?Q(t._def.innerType):[],pt=class t extends w{_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==y.object)return h(n,{code:f.invalid_type,expected:y.object,received:n.parsedType}),x;let r=this.discriminator,s=n.data[r],i=this.optionsMap.get(s);return i?n.common.async?i._parseAsync({data:n.data,path:n.path,parent:n}):i._parseSync({data:n.data,path:n.path,parent:n}):(h(n,{code:f.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),x)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,n,r){let s=new Map;for(let i of n){let o=Q(i.shape[e]);if(!o.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of o){if(s.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);s.set(a,i)}}return new t({typeName:k.ZodDiscriminatedUnion,discriminator:e,options:n,optionsMap:s,...E(r)})}};be=class extends w{_parse(e){let{status:n,ctx:r}=this._processInputParams(e),s=(i,o)=>{if(ft(i)||ft(o))return x;let a=Lt(i.value,o.value);return a.valid?((mt(i)||mt(o))&&n.dirty(),{status:n.value,value:a.data}):(h(r,{code:f.invalid_intersection_types}),x)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([i,o])=>s(i,o)):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}))}};be.create=(t,e,n)=>new be({left:t,right:e,typeName:k.ZodIntersection,...E(n)});Y=class t extends w{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==y.array)return h(r,{code:f.invalid_type,expected:y.array,received:r.parsedType}),x;if(r.data.length<this._def.items.length)return h(r,{code:f.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),x;!this._def.rest&&r.data.length>this._def.items.length&&(h(r,{code:f.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let i=[...r.data].map((o,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new V(r,o,r.path,a)):null}).filter(o=>!!o);return r.common.async?Promise.all(i).then(o=>P.mergeArray(n,o)):P.mergeArray(n,i)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};Y.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Y({items:t,typeName:k.ZodTuple,rest:null,...E(e)})};ht=class t extends w{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==y.object)return h(r,{code:f.invalid_type,expected:y.object,received:r.parsedType}),x;let s=[],i=this._def.keyType,o=this._def.valueType;for(let a in r.data)s.push({key:i._parse(new V(r,a,r.path,a)),value:o._parse(new V(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?P.mergeObjectAsync(n,s):P.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(e,n,r){return n instanceof w?new t({keyType:e,valueType:n,typeName:k.ZodRecord,...E(r)}):new t({keyType:ie.create(),valueType:e,typeName:k.ZodRecord,...E(n)})}},Le=class extends w{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==y.map)return h(r,{code:f.invalid_type,expected:y.map,received:r.parsedType}),x;let s=this._def.keyType,i=this._def.valueType,o=[...r.data.entries()].map(([a,c],u)=>({key:s._parse(new V(r,a,r.path,[u,"key"])),value:i._parse(new V(r,c,r.path,[u,"value"]))}));if(r.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of o){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return x;(u.status==="dirty"||l.status==="dirty")&&n.dirty(),a.set(u.value,l.value)}return{status:n.value,value:a}})}else{let a=new Map;for(let c of o){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return x;(u.status==="dirty"||l.status==="dirty")&&n.dirty(),a.set(u.value,l.value)}return{status:n.value,value:a}}}};Le.create=(t,e,n)=>new Le({valueType:e,keyType:t,typeName:k.ZodMap,...E(n)});Fe=class t extends w{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==y.set)return h(r,{code:f.invalid_type,expected:y.set,received:r.parsedType}),x;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(h(r,{code:f.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&&(h(r,{code:f.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),n.dirty());let i=this._def.valueType;function o(c){let u=new Set;for(let l of c){if(l.status==="aborted")return x;l.status==="dirty"&&n.dirty(),u.add(l.value)}return{status:n.value,value:u}}let a=[...r.data.values()].map((c,u)=>i._parse(new V(r,c,r.path,u)));return r.common.async?Promise.all(a).then(c=>o(c)):o(a)}min(e,n){return new t({...this._def,minSize:{value:e,message:b.toString(n)}})}max(e,n){return new t({...this._def,maxSize:{value:e,message:b.toString(n)}})}size(e,n){return this.min(e,n).max(e,n)}nonempty(e){return this.min(1,e)}};Fe.create=(t,e)=>new Fe({valueType:t,minSize:null,maxSize:null,typeName:k.ZodSet,...E(e)});gt=class t extends w{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==y.function)return h(n,{code:f.invalid_type,expected:y.function,received:n.parsedType}),x;function r(a,c){return We({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,$e(),X].filter(u=>!!u),issueData:{code:f.invalid_arguments,argumentsError:c}})}function s(a,c){return We({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,$e(),X].filter(u=>!!u),issueData:{code:f.invalid_return_type,returnTypeError:c}})}let i={errorMap:n.common.contextualErrorMap},o=n.data;if(this._def.returns instanceof ae){let a=this;return L(async function(...c){let u=new j([]),l=await a._def.args.parseAsync(c,i).catch(g=>{throw u.addIssue(r(c,g)),u}),m=await Reflect.apply(o,this,l);return await a._def.returns._def.type.parseAsync(m,i).catch(g=>{throw u.addIssue(s(m,g)),u})})}else{let a=this;return L(function(...c){let u=a._def.args.safeParse(c,i);if(!u.success)throw new j([r(c,u.error)]);let l=Reflect.apply(o,this,u.data),m=a._def.returns.safeParse(l,i);if(!m.success)throw new j([s(l,m.error)]);return m.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:Y.create(e).rest(ee.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,n,r){return new t({args:e||Y.create([]).rest(ee.create()),returns:n||ee.create(),typeName:k.ZodFunction,...E(r)})}},ve=class extends w{get schema(){return this._def.getter()}_parse(e){let{ctx:n}=this._processInputParams(e);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};ve.create=(t,e)=>new ve({getter:t,typeName:k.ZodLazy,...E(e)});xe=class extends w{_parse(e){if(e.data!==this._def.value){let n=this._getOrReturnCtx(e);return h(n,{received:n.data,code:f.invalid_literal,expected:this._def.value}),x}return{status:"valid",value:e.data}}get value(){return this._def.value}};xe.create=(t,e)=>new xe({value:t,typeName:k.ZodLiteral,...E(e)});ke=class t extends w{_parse(e){if(typeof e.data!="string"){let n=this._getOrReturnCtx(e),r=this._def.values;return h(n,{expected:R.joinValues(r),received:n.parsedType,code:f.invalid_type}),x}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let n=this._getOrReturnCtx(e),r=this._def.values;return h(n,{received:n.data,code:f.invalid_enum_value,options:r}),x}return L(e.data)}get options(){return this._def.values}get enum(){let e={};for(let n of this._def.values)e[n]=n;return e}get Values(){let e={};for(let n of this._def.values)e[n]=n;return e}get Enum(){let e={};for(let n of this._def.values)e[n]=n;return e}extract(e,n=this._def){return t.create(e,{...this._def,...n})}exclude(e,n=this._def){return t.create(this.options.filter(r=>!e.includes(r)),{...this._def,...n})}};ke.create=Wn;Ee=class extends w{_parse(e){let n=R.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==y.string&&r.parsedType!==y.number){let s=R.objectValues(n);return h(r,{expected:R.joinValues(s),received:r.parsedType,code:f.invalid_type}),x}if(this._cache||(this._cache=new Set(R.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let s=R.objectValues(n);return h(r,{received:r.data,code:f.invalid_enum_value,options:s}),x}return L(e.data)}get enum(){return this._def.values}};Ee.create=(t,e)=>new Ee({values:t,typeName:k.ZodNativeEnum,...E(e)});ae=class extends w{unwrap(){return this._def.type}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==y.promise&&n.common.async===!1)return h(n,{code:f.invalid_type,expected:y.promise,received:n.parsedType}),x;let r=n.parsedType===y.promise?n.data:Promise.resolve(n.data);return L(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};ae.create=(t,e)=>new ae({type:t,typeName:k.ZodPromise,...E(e)});H=class extends w{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===k.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:n,ctx:r}=this._processInputParams(e),s=this._def.effect||null,i={addIssue:o=>{h(r,o),o.fatal?n.abort():n.dirty()},get path(){return r.path}};if(i.addIssue=i.addIssue.bind(i),s.type==="preprocess"){let o=s.transform(r.data,i);if(r.common.async)return Promise.resolve(o).then(async a=>{if(n.value==="aborted")return x;let c=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return c.status==="aborted"?x:c.status==="dirty"?de(c.value):n.value==="dirty"?de(c.value):c});{if(n.value==="aborted")return x;let a=this._def.schema._parseSync({data:o,path:r.path,parent:r});return a.status==="aborted"?x:a.status==="dirty"?de(a.value):n.value==="dirty"?de(a.value):a}}if(s.type==="refinement"){let o=a=>{let c=s.refinement(a,i);if(r.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?x:(a.status==="dirty"&&n.dirty(),o(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?x:(a.status==="dirty"&&n.dirty(),o(a.value).then(()=>({status:n.value,value:a.value}))))}if(s.type==="transform")if(r.common.async===!1){let o=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!se(o))return x;let a=s.transform(o.value,i);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(o=>se(o)?Promise.resolve(s.transform(o.value,i)).then(a=>({status:n.value,value:a})):x);R.assertNever(s)}};H.create=(t,e,n)=>new H({schema:t,typeName:k.ZodEffects,effect:e,...E(n)});H.createWithPreprocess=(t,e,n)=>new H({schema:e,effect:{type:"preprocess",transform:t},typeName:k.ZodEffects,...E(n)});U=class extends w{_parse(e){return this._getType(e)===y.undefined?L(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};U.create=(t,e)=>new U({innerType:t,typeName:k.ZodOptional,...E(e)});J=class extends w{_parse(e){return this._getType(e)===y.null?L(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};J.create=(t,e)=>new J({innerType:t,typeName:k.ZodNullable,...E(e)});we=class extends w{_parse(e){let{ctx:n}=this._processInputParams(e),r=n.data;return n.parsedType===y.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};we.create=(t,e)=>new we({innerType:t,typeName:k.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...E(e)});Se=class extends w{_parse(e){let{ctx:n}=this._processInputParams(e),r={...n,common:{...n.common,issues:[]}},s=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return De(s)?s.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new j(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new j(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};Se.create=(t,e)=>new Se({innerType:t,typeName:k.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...E(e)});je=class extends w{_parse(e){if(this._getType(e)!==y.nan){let r=this._getOrReturnCtx(e);return h(r,{code:f.invalid_type,expected:y.nan,received:r.parsedType}),x}return{status:"valid",value:e.data}}};je.create=t=>new je({typeName:k.ZodNaN,...E(t)});Eo=Symbol("zod_brand"),Ye=class extends w{_parse(e){let{ctx:n}=this._processInputParams(e),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},Je=class t extends w{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.common.async)return(async()=>{let i=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?x:i.status==="dirty"?(n.dirty(),de(i.value)):this._def.out._parseAsync({data:i.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?x:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(e,n){return new t({in:e,out:n,typeName:k.ZodPipeline})}},Te=class extends w{_parse(e){let n=this._def.innerType._parse(e),r=s=>(se(s)&&(s.value=Object.freeze(s.value)),s);return De(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};Te.create=(t,e)=>new Te({innerType:t,typeName:k.ZodReadonly,...E(e)});wo={object:B.lazycreate};(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(k||(k={}));So=(t,e={message:`Input not instance of ${t.name}`})=>Yn(n=>n instanceof t,e),Jn=ie.create,qn=fe.create,To=je.create,Ro=me.create,Xn=pe.create,Ao=he.create,Co=Pe.create,Oo=ge.create,Io=ye.create,$o=oe.create,Do=ee.create,No=G.create,Po=Me.create,Mo=te.create,Lo=B.create,Fo=B.strictCreate,jo=_e.create,Bo=pt.create,zo=be.create,Zo=Y.create,Uo=ht.create,Vo=Le.create,Ho=Fe.create,Ko=gt.create,Go=ve.create,Wo=xe.create,Yo=ke.create,Jo=Ee.create,qo=ae.create,Xo=H.create,Qo=U.create,ea=J.create,ta=H.createWithPreprocess,na=Je.create,ra=()=>Jn().optional(),sa=()=>qn().optional(),ia=()=>Xn().optional(),oa={string:(t=>ie.create({...t,coerce:!0})),number:(t=>fe.create({...t,coerce:!0})),boolean:(t=>pe.create({...t,coerce:!0})),bigint:(t=>me.create({...t,coerce:!0})),date:(t=>he.create({...t,coerce:!0}))},aa=x});var p={};Ct(p,{BRAND:()=>Eo,DIRTY:()=>de,EMPTY_PATH:()=>eo,INVALID:()=>x,NEVER:()=>aa,OK:()=>L,ParseStatus:()=>P,Schema:()=>w,ZodAny:()=>oe,ZodArray:()=>te,ZodBigInt:()=>me,ZodBoolean:()=>pe,ZodBranded:()=>Ye,ZodCatch:()=>Se,ZodDate:()=>he,ZodDefault:()=>we,ZodDiscriminatedUnion:()=>pt,ZodEffects:()=>H,ZodEnum:()=>ke,ZodError:()=>j,ZodFirstPartyTypeKind:()=>k,ZodFunction:()=>gt,ZodIntersection:()=>be,ZodIssueCode:()=>f,ZodLazy:()=>ve,ZodLiteral:()=>xe,ZodMap:()=>Le,ZodNaN:()=>je,ZodNativeEnum:()=>Ee,ZodNever:()=>G,ZodNull:()=>ye,ZodNullable:()=>J,ZodNumber:()=>fe,ZodObject:()=>B,ZodOptional:()=>U,ZodParsedType:()=>y,ZodPipeline:()=>Je,ZodPromise:()=>ae,ZodReadonly:()=>Te,ZodRecord:()=>ht,ZodSchema:()=>w,ZodSet:()=>Fe,ZodString:()=>ie,ZodSymbol:()=>Pe,ZodTransformer:()=>H,ZodTuple:()=>Y,ZodType:()=>w,ZodUndefined:()=>ge,ZodUnion:()=>_e,ZodUnknown:()=>ee,ZodVoid:()=>Me,addIssueToContext:()=>h,any:()=>$o,array:()=>Mo,bigint:()=>Ro,boolean:()=>Xn,coerce:()=>oa,custom:()=>Yn,date:()=>Ao,datetimeRegex:()=>Gn,defaultErrorMap:()=>X,discriminatedUnion:()=>Bo,effect:()=>Xo,enum:()=>Yo,function:()=>Ko,getErrorMap:()=>$e,getParsedType:()=>W,instanceof:()=>So,intersection:()=>zo,isAborted:()=>ft,isAsync:()=>De,isDirty:()=>mt,isValid:()=>se,late:()=>wo,lazy:()=>Go,literal:()=>Wo,makeIssue:()=>We,map:()=>Vo,nan:()=>To,nativeEnum:()=>Jo,never:()=>No,null:()=>Io,nullable:()=>ea,number:()=>qn,object:()=>Lo,objectUtil:()=>Dt,oboolean:()=>ia,onumber:()=>sa,optional:()=>Qo,ostring:()=>ra,pipeline:()=>na,preprocess:()=>ta,promise:()=>qo,quotelessJson:()=>qi,record:()=>Uo,set:()=>Ho,setErrorMap:()=>Qi,strictObject:()=>Fo,string:()=>Jn,symbol:()=>Co,transformer:()=>Xo,tuple:()=>Zo,undefined:()=>Oo,union:()=>jo,unknown:()=>Do,util:()=>R,void:()=>Po});var Ft=_(()=>{dt();Pt();zn();Ge();Qn();ut()});var Be=_(()=>{Ft();Ft()});var ze,yt=_(()=>{"use strict";Be();ze=p.object({slug:p.string().min(1).max(64),description:p.string().max(255).optional(),match_command:p.string().min(1),priority:p.number().int().default(50),strip_ansi:p.boolean().default(!1),strip_lines_matching:p.array(p.string()).default([]),keep_failures:p.boolean().default(!1),fold_passing:p.boolean().default(!1),fold_passing_threshold:p.number().int().positive().max(1e3).optional(),mask_abs_paths:p.boolean().default(!1),preserve_exact:p.boolean().default(!1),truncate_lines_at:p.number().int().positive().max(1e4).optional(),max_lines:p.number().int().positive().max(1e5).optional(),scale_with_level:p.boolean().default(!0),transform:p.string().max(64).optional(),on_empty:p.string().max(255).optional()})});import{readdir as ca,readFile as la}from"node:fs/promises";import{join as nr,dirname as ua}from"node:path";import{fileURLToPath as da}from"node:url";function ma(){return process.env.TOKMIZER_DEV==="1"||process.env.TOKMIZER_DEV==="true"}async function rr(){if(ce)return ce;if(!ma())return!tr&&process.env.TOKMIZER_DEBUG==="1"&&(process.stderr.write(`tokmizer: disk loader disabled (set TOKMIZER_DEV=1 to re-enable for local dev).
3
- `),tr=!0),ce=new Map,ce;let t=new Map,e,n;try{e=(await import("smol-toml")).parse,n=(await ca(er)).filter(r=>r.endsWith(".toml"))}catch{return ce=t,ce}for(let r of n){let s=await la(nr(er,r),"utf8"),o=e(s).filters;if(o)for(let[a,c]of Object.entries(o)){let u=ze.parse({slug:a,...c});t.set(a,{...u,matchRegex:new RegExp(u.match_command)})}}return ce=t,ce}var fa,er,ce,tr,sr=_(()=>{"use strict";yt();fa=ua(da(import.meta.url)),er=process.env.TOKMIZER_FILTERS_DIR||nr(fa,"..","..","filters"),ce=null,tr=!1});var ur={};Ct(ur,{FREE_FALLBACK:()=>lr,OutputVerbosity:()=>ar,ReducerLevel:()=>cr,Settings:()=>Ze,resolveAllowedFilters:()=>qe,slugKey:()=>q});import{createHash as pa}from"node:crypto";function q(t){let e=ir.get(t);return e||(e=pa("sha256").update(`tkr:${t}`).digest("hex").slice(0,16),ir.set(t,e)),e}function qe(t,e=!1){return e||!t||t.length===0?(or??=new Set(lr.map(q)),new Set(or)):new Set(t.map(n=>ha.test(n)?n:q(n)))}var ar,cr,Ze,lr,ha,ir,or,Re=_(()=>{"use strict";Be();ar=p.enum(["normal","compact","minimal"]),cr=p.enum(["off","light","balanced","max"]),Ze=p.object({enabled:p.boolean().default(!0),telemetryOptIn:p.boolean().default(!0),outputVerbosity:ar.default("compact"),reducer:cr.default("off"),filters:p.object({enableAll:p.boolean().default(!0),disabled:p.array(p.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),lr=["git","git-status","git-log","git-diff","grep","find","diff","ls","ls-long","ps","cat","head","tail","df","du","tree","wc","nl","xargs","seq","echo","printf","sleep","shasum","python","node","read-tool","grep-tool","glob-tool","bash-tool","npm","npm-test","docker","kubectl","curl","cargo","go-test","go-build","gh","gh-api","aws","dotnet","prisma","tsc","next","jest","vitest","pytest","pip","rspec"],ha=/^[0-9a-f]{16}$/,ir=new Map;or=null});function _t(t,e,n,r=e){let s=dr.get(r);s||(s=new Map,dr.set(r,s));let i=JSON.stringify([t,n?[...n].sort():null]),o=s.get(i);if(o!==void 0)return o;let a=null;for(let c of e)n&&!n.has(q(c.slug))||c.matchRegex.test(t)&&(!a||c.priority>a.priority)&&(a=c);if(s.size>=ga){let c=s.keys().next().value;c&&s.delete(c)}return s.set(i,a),a}var dr,ga,jt=_(()=>{"use strict";Re();dr=new WeakMap,ga=256});function Ae(t){return t.replace(ya,"").replace(_a,"")}var ya,_a,bt=_(()=>{"use strict";ya=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,_a=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g});function fr(t,e){return e.length===0?t:t.filter(n=>!e.some(r=>r.test(n)))}var mr=_(()=>{"use strict"});function pr(t,e){return t.map(n=>{if(n.length<=e)return n;let r=n.charCodeAt(e-1),s=n.charCodeAt(e),i=r>=55296&&r<=56319&&s>=56320&&s<=57343?e-1:e;return`${n.slice(0,i)}\u2026`})}var hr=_(()=>{"use strict"});function vt(t){return`\u2026 (${t} more lines omitted)`}function gr(t,e){if(t.length<=e)return{kept:t,dropped:[]};let n=Math.ceil(e*.7),r=e-n,s=t.slice(n,t.length-r);return{kept:[...t.slice(0,n),vt(s.length),...t.slice(t.length-r)],dropped:s}}var yr=_(()=>{"use strict"});function _r(t,e){let n=e>0?e:5,r=[],s=0,i=a=>{s>=n?r.push(`\u2026 ${s} passing checks folded \u2026`):r.push(...a)},o=[];for(let a of t)ba.test(a)&&!le.test(a)?(o.push(a),s+=1):(i(o),o=[],s=0,r.push(a));return i(o),r}var ba,le,Bt=_(()=>{"use strict";ba=/^\s*(?:[✓✔√]|ok )/,le=/✕|✗|×|\bFAIL\b|\bERROR\b|\bFATAL\b|\bError|\berror|Expected|Received|\bfailed\b|^\s*Tests?:|^\s*Test Suites?:/});function br(t){return t.map(e=>e.replace(va,n=>{let r=n.split("/").filter(Boolean);return r.length<=2?n:`\u2026/${r.slice(-2).join("/")}`}))}var va,vr=_(()=>{"use strict";va=/(?:\/[\w.@+-]+){3,}/g});function Sa(t){let e=Ea.exec(t);return!e||wa.has(e[1])?!1:!/=>|\bfunction\b/.test(e[2])}function Ra(t,e,n){let r=e;for(;r<t.length;){if(t[r]==="\\"){r+=2;continue}if(t[r]===n)return!0;r+=1}return!1}function Aa(t,e){let n=0,r=null,s=0;for(;s<t.length;){let i=t[s];if(e.inBlockComment){if(i==="*"&&t[s+1]==="/"){e.inBlockComment=!1,s+=2;continue}s+=1;continue}if(e.inTemplate){if(i==="\\"){s+=2;continue}i==="`"&&(e.inTemplate=!1),s+=1;continue}if(r){if(i==="\\"){s+=2;continue}i===r&&(r=null),s+=1;continue}if(i==="/"&&t[s+1]==="/")break;if(i==="/"&&t[s+1]==="*"){e.inBlockComment=!0,s+=2;continue}if(i==="`"){e.inTemplate=!0,s+=1;continue}if(i==="'"||i==='"'){let o=s>0?t[s-1]:"";!(i==="'"&&(o==="<"||o==="&"))&&Ra(t,s+1,i)&&(r=i),s+=1;continue}i==="{"||i==="("||i==="["?n+=1:(i==="}"||i===")"||i==="]")&&(n-=1),s+=1}return n}function zt(t){let e=new Array(t.length).fill(!1);for(let n=0;n<t.length;n+=1){let r=Ca.exec(t[n]);if(!r)continue;let s=Number(r[1])-1,i=n+1;for(;s>0&&i<t.length&&t[i]==="";)e[i]=!0,s-=1,i+=1;n=i-1}return e}function Xe(t,e=3){let n=[],r=0;for(;r<t.length;){let s=t[r];if(xa.test(s)&&ka.test(s)||Sa(s)||Ta.test(s)){let i={inBlockComment:!1,inTemplate:!1},o=0,a=r,c=!1;for(;a<t.length&&a-r<200;)if(o+=Aa(t[a],i),a+=1,o<=0&&!i.inTemplate&&!i.inBlockComment){c=!0;break}let u=a-r;if(c&&u<e){n.push(...t.slice(r,a)),r=a;continue}if(c&&u>=3){let l=u-2,m=/^\s*/.exec(t[r+1]??"")?.[0]??" ";n.push(s),n.push(`${m}\u2026 ${l} ${l===1?"line":"lines"} folded \u2026`);for(let d=0;d<l-1;d++)n.push("");n.push(t[a-1]),r=a;continue}}n.push(s),r+=1}return n}function xt(t){let e=t.slice(0,4096);return!(!Oa.test(e)||e.split(`
4
- `).length<6)}var xa,ka,Ea,wa,Ta,xr,Ca,Oa,Qe=_(()=>{"use strict";xa=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,ka=/\{\s*$/,Ea=/^\s*(?:(?:public|private|protected|static|async|get|set|readonly|override)\s+)*([\w$]+)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\{\s*$/,wa=new Set(["if","for","while","switch","catch","do","with","return","else","function","await","yield"]);Ta=/^\s*(?:if|for|while|switch|try|do)\b[^{}]*\{\s*$/;xr=/^\s*… \d+ lines? folded …$/,Ca=/^\s*… (\d+) lines? folded …$/;Oa=/\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 kr(t){let e=[],n=0,r=()=>{n>0&&e.push(`\u2026 ${n} verbose log line${n===1?"":"s"} dropped \u2026`),n=0};for(let s of t){if($a.test(s.replace(Ia,""))&&!Da.test(s)&&!Na.test(s)){n+=1;continue}r(),e.push(s)}return r(),e}function Er(t){if(t.length===0)return t;let e=[],n=1,r=t[0];for(let s=1;s<t.length;s++){if(t[s]===r){n+=1;continue}e.push(n>1?`${r} \xD7${n}`:r),r=t[s],n=1}return e.push(n>1?`${r} \xD7${n}`:r),e}function wr(t){let e=[],n=0;for(let r of t){if(r.trim()===""){n+=1;continue}n>0&&e.push(""),n=0,e.push(r)}return e}var Ia,$a,Da,Na,Sr=_(()=>{"use strict";Bt();Ia=/^\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*/,$a=/^\s*(?:\[(?:DEBUG|TRACE|INFO|VERBOSE)\]|(?:DEBUG|TRACE|INFO|VERBOSE)(?!\s*:))(?=\s|:|$)(?!\s*[+\-*\/%&|^?]*=)/,Da=new RegExp(le.source,"i"),Na=/\bWARN(?:ING)?\b/i});function z(t,e){Tr.set(t,e)}function Rr(t){return Tr.get(t)}var Tr,ne=_(()=>{"use strict";Tr=new Map});function La(t){if(t<1024)return String(t);let e=["K","M","G","T"],n=t/1024,r=0;for(;n>=1024&&r<e.length-1;)n/=1024,r+=1;return`${n.toFixed(1)}${e[r]}`}function Fa(t){if(!Pa.test(t))return null;let e=t.split(/\s+/);if(e.length<9)return null;let n=Number(e[4]);if(!Number.isFinite(n))return null;let r=e.slice(8).join(" ").trim();if(r===""||r==="."||r==="..")return null;let s=e[0].charCodeAt(0)===100;return{name:r,size:n,isDir:s}}function ja(t){if(t.length<3)return null;let e=new Map;for(let s of t){let i=s.name.lastIndexOf(".");if(i<=0)continue;let o=s.name.slice(i);e.set(o,(e.get(o)??0)+1)}let n=null,r=0;for(let[s,i]of e)i>r&&(r=i,n=s);return n&&r>=Math.ceil(t.length/2)?`${r} ${n}`:null}function Ba(t){let e=[],n=[],r=!1;for(let d of t){if(/^total\s+\d+/.test(d))continue;if(Ma.test(d.trim()))return t;let g=Fa(d);g&&(r=!0,(g.isDir?e:n).push(g))}if(!r)return t;let s=(d,g)=>d.name.localeCompare(g.name);e.sort(s),n.sort((d,g)=>g.size-d.size||s(d,g));let i=[...e,...n],o=Math.min(40,Math.max(0,...i.map(d=>d.isDir?d.name.length+1:d.name.length))),a=[];for(let d of i){let g=d.isDir?`${d.name}/`:d.name,T=d.isDir?"":La(d.size);a.push(T?`${g.padEnd(o)} ${T}`:g)}if(a.length>Zt){let d=a.length-Zt;a=[...a.slice(0,Zt),`\u2026 ${d} more lines omitted`]}let c=n.length===1?"file":"files",u=e.length===1?"dir":"dirs",l=ja(n),m=`${n.length} ${c}, ${e.length} ${u}`+(l?` (${l})`:"");return a.push(m),a}var Pa,Ma,Zt,Ar=_(()=>{"use strict";ne();Pa=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/,Ma=/^[./~][^\s]*:$/,Zt=1e3;z("smart-ls",Ba)});var Cr=_(()=>{"use strict";Qe();ne();z("smart-read",t=>Xe(t))});function za(t){let e=t.filter(l=>l.trim()!=="");if(e.length===0||e.filter(l=>!/\s/.test(l.trim())).length<e.length*.6)return t;let r=new Map,s=[],i=0;for(let l of e){let m=l.trim();if(m.startsWith("find:")){s.push(m);continue}let d=m.replace(/^\.\//,"").replace(/\/+$/,""),g=d.lastIndexOf("/"),T=g>=0?d.slice(0,g):"",O=g>=0?d.slice(g+1):d;if(!O)continue;let v=r.get(T)??[];v.push(/\s/.test(O)?`"${O}"`:O),r.set(T,v),i+=1}if(i===0)return t;let o=new Set([""]);for(let l of r.keys()){if(l==="")continue;let m=l.split("/");for(let d=1;d<=m.length;d+=1)o.add(m.slice(0,d).join("/"))}let a=[...o].sort(),c=a.filter(l=>l!=="").length,u=[`${i}F ${c}D:`,""];for(let l of a){let m=l===""?0:l.split("/").length,d=l===""?".":l.slice(l.lastIndexOf("/")+1),g=r.get(l)??[],T=g.length?` ${g.join(" ")}`:"";u.push(`${" ".repeat(m)}${d}/${T}`)}if(u.length+s.length>Or){let l=Math.max(0,Or-s.length),m=u.length-l;return[...u.slice(0,l),`\u2026 ${m} more lines omitted`,...s]}return[...u,...s]}var Or,Ir=_(()=>{"use strict";ne();Or=1e3;z("smart-find",za)});function Nr(t){let e=t.trim();return e.length>$r?`${e.slice(0,$r)}\u2026`:e}function Ga(t){let e=[],n="";for(let r of t){let s=n?`${n}, ${r}`:r;s.length>Ua&&n?(e.push(`${n},`),n=r):n=s}return n&&e.push(n),e}function Wa(t){let e=t.filter(m=>m.trim()!=="");if(e.length===0)return t;let n=new Map,r=new Map,s=null,i=0,o=0;for(let m of e){if(m==="--"){s&&n.get(s).push({separator:!0});continue}if(/^[A-Za-z]:[\\/]/.test(m))return t;let d=Va.exec(m),g=Ha.exec(m);if(d&&g)return t;let T=d||g?null:Ka.exec(m),O=(d??g??T)?.[1];if(!O)return t;let v=d?{line:d[2],content:d[3],context:!1}:g?{line:g[2],content:g[3],context:!0}:{line:"",content:T[2],context:!1},C=n.get(O)??[];C.push(v),n.set(O,C),v.context||(i+=1,r.set(O,(r.get(O)??0)+1)),o+=1,s=O}if(n.size===o)return t;let a=[...n.keys()].sort((m,d)=>{let g=Dr.test(m)?1:0,T=Dr.test(d)?1:0;return g-T||(m<d?-1:m>d?1:0)}),c=[];for(let m of a){c.push(`${m} (${r.get(m)??0}):`);for(let d of n.get(m))"separator"in d?c.push(" --"):d.line?c.push(` ${d.line}${d.context?"-":":"} ${Nr(d.content)}`):c.push(` ${Nr(d.content)}`)}let u=a.length>1&&c.length>Za?Ga(a.map(m=>`${m} (${r.get(m)??0})`)):[],l=[`${i}m ${a.length}f:`,...u,"",...c];if(l.length>Ut){let m=l.length-Ut;return[...l.slice(0,Ut),`\u2026 ${m} more lines omitted`]}return l}var Ut,$r,Za,Ua,Va,Ha,Ka,Dr,Pr=_(()=>{"use strict";ne();Ut=1e3,$r=200,Za=60,Ua=190,Va=/^([^\s:]+):(\d+):(.*)$/,Ha=/^([^:]+?)-(\d+)-(.*)$/,Ka=/^([^\s:]+):(.*)$/,Dr=/(?:^|\/)(?:__tests__|tests?|spec|fixtures?|__mocks__|__snapshots__)\/|\.(?:test|spec)\.[^/]+$/i;z("smart-grep",Wa)});function Xa(t){if(!t.some(u=>Mr.test(u)))return t;let e=[],n=0,r=0,s=0,i="",o=!1,a=!1,c=()=>{r>0&&e.push(`${i} \u2026 ${r} ${r===1?"line":"lines"} folded \u2026`),r=0};for(let u of t){let l=u.slice(0,s),m=Ya.test(l),d=m?u.slice(s):u,g=Ja.test(d),T=o&&g?null:Mr.exec(u);if(T){c(),n=0,s=T[1]?.length??0,o=!0,a=!1,e.push(u);continue}if(/^diff --(?:git|cc|combined) /.test(d)&&(a=!0),g&&!a&&!(s>0&&d.trim().length===0)){n+=1,n<=qa?e.push(u):(r+=1,i=m?l:"");continue}c(),e.push(u)}return c(),e}var Mr,Ya,Ja,qa,Lr=_(()=>{"use strict";ne();Mr=/^(?:([|\\/ ._-]*\*[|\\/* ._-]* ))?commit [0-9a-f]{7,40}\b/,Ya=/^[|\\/* ._-]*$/,Ja=/^ {4}/,qa=2;z("smart-log",Xa)});var Qa,ec,tc,Fr=_(()=>{"use strict";ne();Qa=/^[\s=]+$/,ec=/^\s*=+\s+(.*?)\s+=+\s*$/,tc=512;z("strip-banners",t=>{let e=[];for(let n of t){if(Qa.test(n))continue;let r=n.length<=tc?ec.exec(n):null;e.push(r?r[1]:n)}return e})});function nc(t){let e=[],n=0,r=0;for(;r<t.length;){let s=t[r].replace(/\s+$/,"");if(s===""){n+=1,r+=1,n<=1&&e.push("");continue}n=0;let i=1;for(;r+i<t.length&&t[r+i].replace(/\s+$/,"")===s;)i+=1;if(i>=3)e.push(s),e.push(` \u2026 (repeated ${i}x)`);else for(let o=0;o<i;o++)e.push(s);r+=i}for(;e.length>0&&e[e.length-1]==="";)e.pop();return e}var jr=_(()=>{"use strict";ne();z("squeeze-output",nc)});function rc(t){return t==="compact"?.6:t==="minimal"?.3:1}function ic(t){let[e,n,r,s]=t.slice(-4);if(!e||!n||!r||!s||!/^\s*Test Files\s+([1-9]\d*) passed \(\1\)$/.test(e)||!/^\s*Tests\s+([1-9]\d*) passed \(\1\)$/.test(n)||!/^\s*Start at\s+\d{2}:\d{2}:\d{2}$/.test(r))return t;let i=/^(\s*Duration\s+\d+(?:\.\d+)?(?:ms|s)) \(transform [^\n]+\)$/.exec(s)?.[1];return i?[...t.slice(0,-4).filter((a,c)=>c>2||!/^ RUN v\d+\.\d+\.\d+(?:[\w.+-]*) .+$/.test(a)),e,n,i]:t}function oc(t){let e=Br.get(t);if(e)return e;let n=t.strip_lines_matching.map(s=>new RegExp(s)),r={def:t,stripRegexes:n};return Br.set(t,r),r}function zr(t,e,n={}){return Vt(t,e,n).text}function Vt(t,e,n={}){let r=n.verbosity??"normal";if(!e.strip_ansi&&e.strip_lines_matching.length===0&&!e.transform&&!e.mask_abs_paths&&!e.fold_passing&&!e.truncate_lines_at&&!e.max_lines&&!e.on_empty&&!n.smartCode&&r==="normal")return{text:t,droppedTail:null};let s=oc(e),i=t;e.strip_ansi&&(i=Ae(i));let o=i.endsWith(`
5
- `),a=(o?i.slice(0,-1):i).split(`
6
- `);s.stripRegexes.length&&(a=e.keep_failures?a.filter(d=>le.test(d)||!s.stripRegexes.some(g=>g.test(d))):fr(a,s.stripRegexes)),r!=="normal"&&!e.preserve_exact&&(a=Er(a),a=wr(a)),r==="minimal"&&!e.preserve_exact&&(a=kr(a),(e.slug==="vitest"||e.slug==="npm-test")&&(a=ic(a)));let c=e.transform==="smart-read"&&n.smartCode!==!0?r==="compact"?8:r==="minimal"?6:3:3;if(!e.preserve_exact&&(n.smartCode||n.smartCode===void 0&&r!=="normal"&&xt(i))&&(a=Xe(a,c)),e.transform){let d=Rr(e.transform);e.transform==="smart-read"?a=Xe(a,c):d&&(a=d(a))}let u=e.slug==="read-tool";if(!u){let d=zt(a);d.some(Boolean)&&(a=a.filter((g,T)=>!d[T]))}e.mask_abs_paths&&(a=br(a)),e.fold_passing&&(a=_r(a,e.fold_passing_threshold??5)),e.truncate_lines_at&&(a=pr(a,e.truncate_lines_at));let l=null;if(e.max_lines){let d=e.scale_with_level?rc(n.verbosity):1,g=Math.min(e.max_lines,Math.max(sc,Math.round(e.max_lines*d))),T=u?zt(a):null,O=T?T.filter(v=>!v).length:a.length;if(O>g){let v=g;if(T){let S=0;for(v=0;v<a.length&&S<g;)T[v]||(S+=1),v+=1}let C=O-g;if(e.keep_failures){let S=a.slice(v),I=S.filter(M=>!le.test(M)),N=S.reduce((M,Z,Ce)=>M+(!le.test(Z)&&!T?.[v+Ce]?1:0),0);l=I.length>0?I.join(`
7
- `):null,a=[...a.slice(0,v),...N>0?[vt(N)]:[],...S.filter(M=>le.test(M))]}else if(u)l=a.slice(v).join(`
8
- `),a=[...a.slice(0,v),vt(C)];else{let{kept:S,dropped:I}=gr(a,g);l=I.length>0?I.join(`
9
- `):null,a=S}}}let m=a.join(`
10
- `);return o&&m.length>0&&(m+=`
11
- `),m.trim().length===0&&e.on_empty&&(m=e.on_empty),{text:m,droppedTail:l}}var sc,Br,Zr=_(()=>{"use strict";bt();mr();hr();yr();Bt();vr();Qe();Sr();ne();Ar();Cr();Ir();Pr();Lr();Fr();jr();sc=20;Br=new WeakMap});function Ur(t){if(!t)return!1;for(let e of Ae(t).split(`
12
- `))if(!/^\s*[✓✔√]\s/.test(e)&&ac.some(n=>n.test(e)))return!0;return!1}var ac,Vr=_(()=>{"use strict";bt();ac=[/\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 Ue(t){let e=t.trim(),n=e.split(/\s+/),r=0;for(;r<n.length;){let a=n[r];if(lc.test(a)){r++;continue}if(cc.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 e;let s=n[r],i=s.includes("/")?s.slice(s.lastIndexOf("/")+1):s,o=n.slice(r+1);return o.length?`${i} ${o.join(" ")}`:i}function Hr(t,e){let n=!1,r=!1,s=0,i=[];for(let o=0;o<t.length;o++){let a=t[o];if(a==="\\"&&!n){o++;continue}a==="'"&&!r?n=!n:a==='"'&&!n?r=!r:!n&&!r&&(a===";"?(i.push(t.slice(s,o)),s=o+1):a==="|"&&t[o+1]==="|"?(i.push(t.slice(s,o)),o++,s=o+1):a==="|"?e||(i.push(t.slice(s,o)),s=o+1):a==="&"&&t[o+1]==="&"&&(i.push(t.slice(s,o)),o++,s=o+1))}return i.push(t.slice(s)),i}function dc(t){let e=Hr(t,!1);for(let n=e.length-1;n>=0;n--){let r=e[n].trim();if(r)return r}return t.trim()}function Kt(t){let e=Hr(t,!0).map(n=>n.trim()).filter(Boolean);if(e.length===0)return null;for(let n of e.slice(0,-1)){let r=Ue(n).split(/\s+/)[0]??"";if(!uc.has(r))return null}return dc(e[e.length-1])}function Kr(t){let e=!1,n=!1,r=0,s=[];for(let i=0;i<t.length;i++){let o=t[i];if(o==="\\"&&!e){i++;continue}o==="'"&&!n?e=!e:o==='"'&&!e?n=!n:!e&&!n&&(o==="|"||o===";"?(s.push(t.slice(r,i)),o==="|"&&t[i+1]==="|"&&i++,r=i+1):o==="&"&&t[i+1]==="&"&&(s.push(t.slice(r,i)),i++,r=i+1))}s.push(t.slice(r));for(let i=s.length-1;i>=0;i--){let o=s[i].trim();if(o)return o}return t.trim()}function Gr(t){let e=Ht.exec(t),n=t;if(e){if(e[1]!=="bash")return[t];let i=t.indexOf(": ");if(i<0)return[t];n=t.slice(i+2)}let r=Kt(n),s=r?Ue(r):null;return s&&s!==t?[s,t]:[t]}var cc,lc,Ht,uc,Wr=_(()=>{"use strict";cc=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),lc=/^[A-Za-z_][A-Za-z0-9_]*=/,Ht=/^([a-z]+)-tool(?::\s|$)/;uc=new Set(["cd","export","source","set","unset","mkdir","true",":","pushd","popd","alias","ulimit","umask","echo","printf","sleep","touch","rm","cp","mv","chmod","ln"])});function Gt(t){let e=Buffer.from(t,"utf8");if(e.length<=256)return t;let n=256-Buffer.byteLength(Yr,"utf8"),r=Math.floor(n/2);for(;(e[r]&192)===128;)r-=1;let s=e.length-(n-r);for(;(e[s]&192)===128;)s+=1;return e.subarray(0,r).toString("utf8")+Yr+e.subarray(s).toString("utf8")}var Yr,Jr=_(()=>{"use strict";Yr=`
2
+ var bl=Object.defineProperty;var y=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var jt=(e,t)=>{for(var n in t)bl(e,n,{get:t[n],enumerable:!0})};import xl from"node:os";import{join as ct}from"node:path";function R(){return process.env.TOKMIZER_HOME||ct(xl.homedir(),".tokmizer")}function dt(){return ct(R(),"install-id")}function An(){return ct(R(),"content-cache")}function ms(){return ct(R(),"restore.json")}function $n(e){return ct(An(),e)}var F=y(()=>{"use strict"});import{join as vl}from"node:path";import{mkdir as qg,readFile as wl,writeFile as Xg,unlink as Qg,rename as ey}from"node:fs/promises";function Sl(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e&&e.length>0?e:"Etc/UTC"}catch{return"Etc/UTC"}}function Tl(e){return e?.dir??R()}async function ft(e){let t=Tl(e);try{let n=await wl(vl(t,El),"utf8"),r=JSON.parse(n),s=r.timeZone;return{...r,lastSettingsRevision:r.lastSettingsRevision??0,get timeZone(){return s??=Sl()},bonusActive:r.bonusActive??!1,...r.bonusResetAt!==void 0?{bonusResetAt:r.bonusResetAt}:{}}}catch{return null}}var El,Ht=y(()=>{"use strict";F();El="state.json"});import{basename as Rl}from"node:path";function Cn(e){let t=Rl(e).replace(/\.(m?js|ts)$/,"");if(t==="tkr")return[];for(let[n,r]of Object.entries(Al))if(r===t)return[n];for(let[n,r]of Object.entries($l))if(r===t)return["hook",n];return null}var Al,$l,On=y(()=>{"use strict";Al={exec:"tkr-exec",processor:"tkr-processor",daemon:"tkr-daemon","shim-run":"tkr-shim"},$l={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","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 Bt(){return!1}function In(e,t=process.execPath){let n=Bt()?Cn(e):null;return n?[process.execPath,...n]:[t,e]}var zt=y(()=>{"use strict";On()});import{readFileSync as ic}from"node:fs";import{join as ac}from"node:path";function Se(){try{return ic(ac(R(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var Jn=y(()=>{"use strict";F()});var C,Gn,k,re,kt=y(()=>{(function(e){e.assertEqual=s=>{};function t(s){}e.assertIs=t;function n(s){throw new Error}e.assertNever=n,e.arrayToEnum=s=>{let o={};for(let i of s)o[i]=i;return o},e.getValidEnumValues=s=>{let o=e.objectKeys(s).filter(a=>typeof s[s[a]]!="number"),i={};for(let a of o)i[a]=s[a];return e.objectValues(i)},e.objectValues=s=>e.objectKeys(s).map(function(o){return s[o]}),e.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let o=[];for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&o.push(i);return o},e.find=(s,o)=>{for(let i of s)if(o(i))return i},e.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,o=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(s,o)=>typeof o=="bigint"?o.toString():o})(C||(C={}));(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Gn||(Gn={}));k=C.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),re=e=>{switch(typeof e){case"undefined":return k.undefined;case"string":return k.string;case"number":return Number.isNaN(e)?k.nan:k.number;case"boolean":return k.boolean;case"function":return k.function;case"bigint":return k.bigint;case"symbol":return k.symbol;case"object":return Array.isArray(e)?k.array:e===null?k.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?k.promise:typeof Map<"u"&&e instanceof Map?k.map:typeof Set<"u"&&e instanceof Set?k.set:typeof Date<"u"&&e instanceof Date?k.date:k.object;default:return k.unknown}}});var p,lc,U,Jt=y(()=>{kt();p=C.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),lc=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),U=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 u=i.path[l];l===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(n(i))):a[u]=a[u]||{_errors:[]},a=a[u],l++}}};return s(this),r}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,C.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){let n={},r=[];for(let s of this.issues)if(s.path.length>0){let o=s.path[0];n[o]=n[o]||[],n[o].push(t(s))}else r.push(t(s));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};U.create=e=>new U(e)});var uc,le,Kn=y(()=>{Jt();kt();uc=(e,t)=>{let n;switch(e.code){case p.invalid_type:e.received===k.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case p.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,C.jsonStringifyReplacer)}`;break;case p.unrecognized_keys:n=`Unrecognized key(s) in object: ${C.joinValues(e.keys,", ")}`;break;case p.invalid_union:n="Invalid input";break;case p.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${C.joinValues(e.options)}`;break;case p.invalid_enum_value:n=`Invalid enum value. Expected ${C.joinValues(e.options)}, received '${e.received}'`;break;case p.invalid_arguments:n="Invalid function arguments";break;case p.invalid_return_type:n="Invalid function return type";break;case p.invalid_date:n="Invalid date";break;case p.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:C.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case p.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case p.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case p.custom:n="Invalid input";break;case p.invalid_intersection_types:n="Intersection results could not be merged";break;case p.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case p.not_finite:n="Number must be finite";break;default:n=t.defaultError,C.assertNever(e)}return{message:n}},le=uc});function cc(e){eo=e}function Ke(){return eo}var eo,Gt=y(()=>{Kn();eo=le});function b(e,t){let n=Ke(),r=_t({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===le?void 0:le].filter(s=>!!s)});e.common.issues.push(r)}var _t,dc,j,v,Te,B,Kt,Vt,ge,Ve,Vn=y(()=>{Gt();Kn();_t=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(u=>!!u).slice().reverse();for(let u of l)a=u(i,{data:t,defaultError:a}).message;return{...s,path:o,message:a}},dc=[];j=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){let r=[];for(let s of n){if(s.status==="aborted")return v;s.status==="dirty"&&t.dirty(),r.push(s.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){let r=[];for(let s of n){let o=await s.key,i=await s.value;r.push({key:o,value:i})}return e.mergeObjectSync(t,r)}static mergeObjectSync(t,n){let r={};for(let s of n){let{key:o,value:i}=s;if(o.status==="aborted"||i.status==="aborted")return v;o.status==="dirty"&&t.dirty(),i.status==="dirty"&&t.dirty(),o.value!=="__proto__"&&(typeof i.value<"u"||s.alwaysSet)&&(r[o.value]=i.value)}return{status:t.value,value:r}}},v=Object.freeze({status:"aborted"}),Te=e=>({status:"dirty",value:e}),B=e=>({status:"valid",value:e}),Kt=e=>e.status==="aborted",Vt=e=>e.status==="dirty",ge=e=>e.status==="valid",Ve=e=>typeof Promise<"u"&&e instanceof Promise});var to=y(()=>{});var x,no=y(()=>{(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(x||(x={}))});function A(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 io(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 Ac(e){return new RegExp(`^${io(e)}$`)}function ao(e){let t=`${oo}T${io(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 $c(e,t){return!!((t==="v4"||!t)&&xc.test(e)||(t==="v6"||!t)&&wc.test(e))}function Cc(e,t){if(!yc.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 Oc(e,t){return!!((t==="v4"||!t)&&vc.test(e)||(t==="v6"||!t)&&Ec.test(e))}function Ic(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 We(e){if(e instanceof Z){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=W.create(We(r))}return new Z({...e._def,shape:()=>t})}else return e instanceof de?new de({...e._def,type:We(e.element)}):e instanceof W?W.create(We(e.unwrap())):e instanceof oe?oe.create(We(e.unwrap())):e instanceof se?se.create(e.items.map(t=>We(t))):e}function Yn(e,t){let n=re(e),r=re(t);if(e===t)return{valid:!0,data:e};if(n===k.object&&r===k.object){let s=C.objectKeys(t),o=C.objectKeys(e).filter(a=>s.indexOf(a)!==-1),i={...e,...t};for(let a of o){let l=Yn(e[a],t[a]);if(!l.valid)return{valid:!1};i[a]=l.data}return{valid:!0,data:i}}else if(n===k.array&&r===k.array){if(e.length!==t.length)return{valid:!1};let s=[];for(let o=0;o<e.length;o++){let i=e[o],a=t[o],l=Yn(i,a);if(!l.valid)return{valid:!1};s.push(l.data)}return{valid:!0,data:s}}else return n===k.date&&r===k.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}function lo(e,t){return new Fe({values:e,typeName:E.ZodEnum,...A(t)})}function so(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function uo(e,t={},n){return e?be.create().superRefine((r,s)=>{let o=e(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=so(t,r),l=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:l})}});if(!o){let i=so(t,r),a=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:a})}}):be.create()}var Y,ro,$,fc,mc,pc,hc,gc,yc,bc,kc,_c,Wn,xc,vc,wc,Ec,Sc,Tc,oo,Rc,ye,Re,Ae,$e,Ce,Ye,Oe,Ie,be,ce,Q,qe,de,Z,Pe,ue,Wt,Ne,se,Yt,Xe,Qe,qt,De,Me,Fe,Le,ke,q,W,oe,je,He,et,Pc,xt,vt,Be,Nc,E,Dc,co,fo,Mc,Fc,mo,Lc,jc,Hc,Bc,zc,Uc,Zc,Jc,Gc,Kc,Vc,Wc,Yc,qc,Xc,Qc,ed,td,nd,rd,sd,od,id,ad,ld,ud,cd,dd,fd,md,pd,hd,gd,yd,po=y(()=>{Jt();Gt();no();Vn();kt();Y=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}},ro=(e,t)=>{if(ge(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 U(e.common.issues);return this._error=n,this._error}}};$=class{get description(){return this._def.description}_getType(t){return re(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:re(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new j,ctx:{common:t.parent.common,data:t.data,parsedType:re(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(Ve(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:re(t)},s=this._parseSync({data:t,path:r.path,parent:r});return ro(r,s)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:re(t)};if(!this["~standard"].async)try{let r=this._parseSync({data:t,path:[],parent:n});return ge(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=>ge(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:re(t)},s=this._parse({data:t,path:r.path,parent:r}),o=await(Ve(s)?s:Promise.resolve(s));return ro(r,o)}refine(t,n){let r=s=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(s):n;return this._refinement((s,o)=>{let i=t(s),a=()=>o.addIssue({code:p.custom,...r(s)});return typeof Promise<"u"&&i instanceof Promise?i.then(l=>l?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,s)=>t(r)?!0:(s.addIssue(typeof n=="function"?n(r,s):n),!1))}_refinement(t){return new q({schema:this,typeName:E.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 W.create(this,this._def)}nullable(){return oe.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return de.create(this)}promise(){return ke.create(this,this._def)}or(t){return Pe.create([this,t],this._def)}and(t){return Ne.create(this,t,this._def)}transform(t){return new q({...A(this._def),schema:this,typeName:E.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new je({...A(this._def),innerType:this,defaultValue:n,typeName:E.ZodDefault})}brand(){return new xt({typeName:E.ZodBranded,type:this,...A(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new He({...A(this._def),innerType:this,catchValue:n,typeName:E.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return vt.create(this,t)}readonly(){return Be.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},fc=/^c[^\s-]{8,}$/i,mc=/^[0-9a-z]+$/,pc=/^[0-9A-HJKMNP-TV-Z]{26}$/i,hc=/^[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,gc=/^[a-z0-9_-]{21}$/i,yc=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,bc=/^[-+]?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)?)??$/,kc=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,_c="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",xc=/^(?:(?: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])$/,vc=/^(?:(?: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])$/,wc=/^(([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]))$/,Ec=/^(([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])$/,Sc=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Tc=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,oo="((\\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])))",Rc=new RegExp(`^${oo}$`);ye=class e extends ${_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==k.string){let o=this._getOrReturnCtx(t);return b(o,{code:p.invalid_type,expected:k.string,received:o.parsedType}),v}let r=new j,s;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(s=this._getOrReturnCtx(t,s),b(s,{code:p.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="max")t.data.length>o.value&&(s=this._getOrReturnCtx(t,s),b(s,{code:p.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){let i=t.data.length>o.value,a=t.data.length<o.value;(i||a)&&(s=this._getOrReturnCtx(t,s),i?b(s,{code:p.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&b(s,{code:p.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),r.dirty())}else if(o.kind==="email")kc.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"email",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="emoji")Wn||(Wn=new RegExp(_c,"u")),Wn.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"emoji",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="uuid")hc.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"uuid",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="nanoid")gc.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"nanoid",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid")fc.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"cuid",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid2")mc.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"cuid2",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="ulid")pc.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"ulid",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{s=this._getOrReturnCtx(t,s),b(s,{validation:"url",code:p.invalid_string,message:o.message}),r.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"regex",code:p.invalid_string,message:o.message}),r.dirty())):o.kind==="trim"?t.data=t.data.trim():o.kind==="includes"?t.data.includes(o.value,o.position)||(s=this._getOrReturnCtx(t,s),b(s,{code:p.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),r.dirty()):o.kind==="toLowerCase"?t.data=t.data.toLowerCase():o.kind==="toUpperCase"?t.data=t.data.toUpperCase():o.kind==="startsWith"?t.data.startsWith(o.value)||(s=this._getOrReturnCtx(t,s),b(s,{code:p.invalid_string,validation:{startsWith:o.value},message:o.message}),r.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(s=this._getOrReturnCtx(t,s),b(s,{code:p.invalid_string,validation:{endsWith:o.value},message:o.message}),r.dirty()):o.kind==="datetime"?ao(o).test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{code:p.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?Rc.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{code:p.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?Ac(o).test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{code:p.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?bc.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"duration",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?$c(t.data,o.version)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"ip",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?Cc(t.data,o.alg)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"jwt",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?Oc(t.data,o.version)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"cidr",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?Sc.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"base64",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?Tc.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"base64url",code:p.invalid_string,message:o.message}),r.dirty()):C.assertNever(o);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:p.invalid_string,...x.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...x.errToObj(t)})}url(t){return this._addCheck({kind:"url",...x.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...x.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...x.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...x.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...x.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...x.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...x.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...x.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...x.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...x.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...x.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...x.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,...x.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,...x.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...x.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...x.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...x.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...x.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...x.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...x.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...x.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...x.errToObj(n)})}nonempty(t){return this.min(1,x.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}};ye.create=e=>new ye({checks:[],typeName:E.ZodString,coerce:e?.coerce??!1,...A(e)});Re=class e extends ${constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==k.number){let o=this._getOrReturnCtx(t);return b(o,{code:p.invalid_type,expected:k.number,received:o.parsedType}),v}let r,s=new j;for(let o of this._def.checks)o.kind==="int"?C.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),b(r,{code:p.invalid_type,expected:"integer",received:"float",message:o.message}),s.dirty()):o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(r=this._getOrReturnCtx(t,r),b(r,{code:p.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),b(r,{code:p.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?Ic(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),b(r,{code:p.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),b(r,{code:p.not_finite,message:o.message}),s.dirty()):C.assertNever(o);return{status:s.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,x.toString(n))}gt(t,n){return this.setLimit("min",t,!1,x.toString(n))}lte(t,n){return this.setLimit("max",t,!0,x.toString(n))}lt(t,n){return this.setLimit("max",t,!1,x.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:x.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:x.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:x.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:x.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:x.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:x.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:x.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:x.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:x.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:x.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&C.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}};Re.create=e=>new Re({checks:[],typeName:E.ZodNumber,coerce:e?.coerce||!1,...A(e)});Ae=class e extends ${constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==k.bigint)return this._getInvalidInput(t);let r,s=new j;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),b(r,{code:p.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),b(r,{code:p.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),b(r,{code:p.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):C.assertNever(o);return{status:s.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return b(n,{code:p.invalid_type,expected:k.bigint,received:n.parsedType}),v}gte(t,n){return this.setLimit("min",t,!0,x.toString(n))}gt(t,n){return this.setLimit("min",t,!1,x.toString(n))}lte(t,n){return this.setLimit("max",t,!0,x.toString(n))}lt(t,n){return this.setLimit("max",t,!1,x.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:x.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:x.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:x.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:x.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:x.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:x.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}};Ae.create=e=>new Ae({checks:[],typeName:E.ZodBigInt,coerce:e?.coerce??!1,...A(e)});$e=class extends ${_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==k.boolean){let r=this._getOrReturnCtx(t);return b(r,{code:p.invalid_type,expected:k.boolean,received:r.parsedType}),v}return B(t.data)}};$e.create=e=>new $e({typeName:E.ZodBoolean,coerce:e?.coerce||!1,...A(e)});Ce=class e extends ${_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==k.date){let o=this._getOrReturnCtx(t);return b(o,{code:p.invalid_type,expected:k.date,received:o.parsedType}),v}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return b(o,{code:p.invalid_date}),v}let r=new j,s;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(s=this._getOrReturnCtx(t,s),b(s,{code:p.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),r.dirty()):o.kind==="max"?t.data.getTime()>o.value&&(s=this._getOrReturnCtx(t,s),b(s,{code:p.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):C.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:x.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:x.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}};Ce.create=e=>new Ce({checks:[],coerce:e?.coerce||!1,typeName:E.ZodDate,...A(e)});Ye=class extends ${_parse(t){if(this._getType(t)!==k.symbol){let r=this._getOrReturnCtx(t);return b(r,{code:p.invalid_type,expected:k.symbol,received:r.parsedType}),v}return B(t.data)}};Ye.create=e=>new Ye({typeName:E.ZodSymbol,...A(e)});Oe=class extends ${_parse(t){if(this._getType(t)!==k.undefined){let r=this._getOrReturnCtx(t);return b(r,{code:p.invalid_type,expected:k.undefined,received:r.parsedType}),v}return B(t.data)}};Oe.create=e=>new Oe({typeName:E.ZodUndefined,...A(e)});Ie=class extends ${_parse(t){if(this._getType(t)!==k.null){let r=this._getOrReturnCtx(t);return b(r,{code:p.invalid_type,expected:k.null,received:r.parsedType}),v}return B(t.data)}};Ie.create=e=>new Ie({typeName:E.ZodNull,...A(e)});be=class extends ${constructor(){super(...arguments),this._any=!0}_parse(t){return B(t.data)}};be.create=e=>new be({typeName:E.ZodAny,...A(e)});ce=class extends ${constructor(){super(...arguments),this._unknown=!0}_parse(t){return B(t.data)}};ce.create=e=>new ce({typeName:E.ZodUnknown,...A(e)});Q=class extends ${_parse(t){let n=this._getOrReturnCtx(t);return b(n,{code:p.invalid_type,expected:k.never,received:n.parsedType}),v}};Q.create=e=>new Q({typeName:E.ZodNever,...A(e)});qe=class extends ${_parse(t){if(this._getType(t)!==k.undefined){let r=this._getOrReturnCtx(t);return b(r,{code:p.invalid_type,expected:k.void,received:r.parsedType}),v}return B(t.data)}};qe.create=e=>new qe({typeName:E.ZodVoid,...A(e)});de=class e extends ${_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==k.array)return b(n,{code:p.invalid_type,expected:k.array,received:n.parsedType}),v;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(i||a)&&(b(n,{code:i?p.too_big:p.too_small,minimum:a?s.exactLength.value:void 0,maximum:i?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),r.dirty())}if(s.minLength!==null&&n.data.length<s.minLength.value&&(b(n,{code:p.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),r.dirty()),s.maxLength!==null&&n.data.length>s.maxLength.value&&(b(n,{code:p.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((i,a)=>s.type._parseAsync(new Y(n,i,n.path,a)))).then(i=>j.mergeArray(r,i));let o=[...n.data].map((i,a)=>s.type._parseSync(new Y(n,i,n.path,a)));return j.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:x.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:x.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:x.toString(n)}})}nonempty(t){return this.min(1,t)}};de.create=(e,t)=>new de({type:e,minLength:null,maxLength:null,exactLength:null,typeName:E.ZodArray,...A(t)});Z=class e extends ${constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),n=C.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==k.object){let u=this._getOrReturnCtx(t);return b(u,{code:p.invalid_type,expected:k.object,received:u.parsedType}),v}let{status:r,ctx:s}=this._processInputParams(t),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof Q&&this._def.unknownKeys==="strip"))for(let u in s.data)i.includes(u)||a.push(u);let l=[];for(let u of i){let c=o[u],d=s.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new Y(s,d,s.path,u)),alwaysSet:u in s.data})}if(this._def.catchall instanceof Q){let u=this._def.unknownKeys;if(u==="passthrough")for(let c of a)l.push({key:{status:"valid",value:c},value:{status:"valid",value:s.data[c]}});else if(u==="strict")a.length>0&&(b(s,{code:p.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let c of a){let d=s.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new Y(s,d,s.path,c)),alwaysSet:c in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let u=[];for(let c of l){let d=await c.key,f=await c.value;u.push({key:d,value:f,alwaysSet:c.alwaysSet})}return u}).then(u=>j.mergeObjectSync(r,u)):j.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return x.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:x.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:E.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let r of C.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let r of C.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return We(this)}partial(t){let n={};for(let r of C.objectKeys(this.shape)){let s=this.shape[r];t&&!t[r]?n[r]=s:n[r]=s.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let r of C.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof W;)o=o._def.innerType;n[r]=o}return new e({...this._def,shape:()=>n})}keyof(){return lo(C.objectKeys(this.shape))}};Z.create=(e,t)=>new Z({shape:()=>e,unknownKeys:"strip",catchall:Q.create(),typeName:E.ZodObject,...A(t)});Z.strictCreate=(e,t)=>new Z({shape:()=>e,unknownKeys:"strict",catchall:Q.create(),typeName:E.ZodObject,...A(t)});Z.lazycreate=(e,t)=>new Z({shape:e,unknownKeys:"strip",catchall:Q.create(),typeName:E.ZodObject,...A(t)});Pe=class extends ${_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 U(a.ctx.common.issues));return b(n,{code:p.invalid_union,unionErrors:i}),v}if(n.common.async)return Promise.all(r.map(async o=>{let i={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:i}),ctx:i}})).then(s);{let o,i=[];for(let l of r){let u={...n,common:{...n.common,issues:[]},parent:null},c=l._parseSync({data:n.data,path:n.path,parent:u});if(c.status==="valid")return c;c.status==="dirty"&&!o&&(o={result:c,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;let a=i.map(l=>new U(l));return b(n,{code:p.invalid_union,unionErrors:a}),v}}get options(){return this._def.options}};Pe.create=(e,t)=>new Pe({options:e,typeName:E.ZodUnion,...A(t)});ue=e=>e instanceof De?ue(e.schema):e instanceof q?ue(e.innerType()):e instanceof Me?[e.value]:e instanceof Fe?e.options:e instanceof Le?C.objectValues(e.enum):e instanceof je?ue(e._def.innerType):e instanceof Oe?[void 0]:e instanceof Ie?[null]:e instanceof W?[void 0,...ue(e.unwrap())]:e instanceof oe?[null,...ue(e.unwrap())]:e instanceof xt||e instanceof Be?ue(e.unwrap()):e instanceof He?ue(e._def.innerType):[],Wt=class e extends ${_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==k.object)return b(n,{code:p.invalid_type,expected:k.object,received:n.parsedType}),v;let r=this.discriminator,s=n.data[r],o=this.optionsMap.get(s);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(b(n,{code:p.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),v)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let s=new Map;for(let o of n){let i=ue(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:E.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...A(r)})}};Ne=class extends ${_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(o,i)=>{if(Kt(o)||Kt(i))return v;let a=Yn(o.value,i.value);return a.valid?((Vt(o)||Vt(i))&&n.dirty(),{status:n.value,value:a.data}):(b(r,{code:p.invalid_intersection_types}),v)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,i])=>s(o,i)):s(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};Ne.create=(e,t,n)=>new Ne({left:e,right:t,typeName:E.ZodIntersection,...A(n)});se=class e extends ${_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==k.array)return b(r,{code:p.invalid_type,expected:k.array,received:r.parsedType}),v;if(r.data.length<this._def.items.length)return b(r,{code:p.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),v;!this._def.rest&&r.data.length>this._def.items.length&&(b(r,{code:p.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let o=[...r.data].map((i,a)=>{let l=this._def.items[a]||this._def.rest;return l?l._parse(new Y(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(o).then(i=>j.mergeArray(n,i)):j.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};se.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new se({items:e,typeName:E.ZodTuple,rest:null,...A(t)})};Yt=class e extends ${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==k.object)return b(r,{code:p.invalid_type,expected:k.object,received:r.parsedType}),v;let s=[],o=this._def.keyType,i=this._def.valueType;for(let a in r.data)s.push({key:o._parse(new Y(r,a,r.path,a)),value:i._parse(new Y(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?j.mergeObjectAsync(n,s):j.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof $?new e({keyType:t,valueType:n,typeName:E.ZodRecord,...A(r)}):new e({keyType:ye.create(),valueType:t,typeName:E.ZodRecord,...A(n)})}},Xe=class extends ${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==k.map)return b(r,{code:p.invalid_type,expected:k.map,received:r.parsedType}),v;let s=this._def.keyType,o=this._def.valueType,i=[...r.data.entries()].map(([a,l],u)=>({key:s._parse(new Y(r,a,r.path,[u,"key"])),value:o._parse(new Y(r,l,r.path,[u,"value"]))}));if(r.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let l of i){let u=await l.key,c=await l.value;if(u.status==="aborted"||c.status==="aborted")return v;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}})}else{let a=new Map;for(let l of i){let u=l.key,c=l.value;if(u.status==="aborted"||c.status==="aborted")return v;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}}}};Xe.create=(e,t,n)=>new Xe({valueType:t,keyType:e,typeName:E.ZodMap,...A(n)});Qe=class e extends ${_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==k.set)return b(r,{code:p.invalid_type,expected:k.set,received:r.parsedType}),v;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(b(r,{code:p.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),n.dirty()),s.maxSize!==null&&r.data.size>s.maxSize.value&&(b(r,{code:p.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),n.dirty());let o=this._def.valueType;function i(l){let u=new Set;for(let c of l){if(c.status==="aborted")return v;c.status==="dirty"&&n.dirty(),u.add(c.value)}return{status:n.value,value:u}}let a=[...r.data.values()].map((l,u)=>o._parse(new Y(r,l,r.path,u)));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:x.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:x.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};Qe.create=(e,t)=>new Qe({valueType:e,minSize:null,maxSize:null,typeName:E.ZodSet,...A(t)});qt=class e extends ${constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==k.function)return b(n,{code:p.invalid_type,expected:k.function,received:n.parsedType}),v;function r(a,l){return _t({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Ke(),le].filter(u=>!!u),issueData:{code:p.invalid_arguments,argumentsError:l}})}function s(a,l){return _t({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Ke(),le].filter(u=>!!u),issueData:{code:p.invalid_return_type,returnTypeError:l}})}let o={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof ke){let a=this;return B(async function(...l){let u=new U([]),c=await a._def.args.parseAsync(l,o).catch(m=>{throw u.addIssue(r(l,m)),u}),d=await Reflect.apply(i,this,c);return await a._def.returns._def.type.parseAsync(d,o).catch(m=>{throw u.addIssue(s(d,m)),u})})}else{let a=this;return B(function(...l){let u=a._def.args.safeParse(l,o);if(!u.success)throw new U([r(l,u.error)]);let c=Reflect.apply(i,this,u.data),d=a._def.returns.safeParse(c,o);if(!d.success)throw new U([s(c,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:se.create(t).rest(ce.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||se.create([]).rest(ce.create()),returns:n||ce.create(),typeName:E.ZodFunction,...A(r)})}},De=class extends ${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})}};De.create=(e,t)=>new De({getter:e,typeName:E.ZodLazy,...A(t)});Me=class extends ${_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return b(n,{received:n.data,code:p.invalid_literal,expected:this._def.value}),v}return{status:"valid",value:t.data}}get value(){return this._def.value}};Me.create=(e,t)=>new Me({value:e,typeName:E.ZodLiteral,...A(t)});Fe=class e extends ${_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return b(n,{expected:C.joinValues(r),received:n.parsedType,code:p.invalid_type}),v}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),r=this._def.values;return b(n,{received:n.data,code:p.invalid_enum_value,options:r}),v}return B(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})}};Fe.create=lo;Le=class extends ${_parse(t){let n=C.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==k.string&&r.parsedType!==k.number){let s=C.objectValues(n);return b(r,{expected:C.joinValues(s),received:r.parsedType,code:p.invalid_type}),v}if(this._cache||(this._cache=new Set(C.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=C.objectValues(n);return b(r,{received:r.data,code:p.invalid_enum_value,options:s}),v}return B(t.data)}get enum(){return this._def.values}};Le.create=(e,t)=>new Le({values:e,typeName:E.ZodNativeEnum,...A(t)});ke=class extends ${unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==k.promise&&n.common.async===!1)return b(n,{code:p.invalid_type,expected:k.promise,received:n.parsedType}),v;let r=n.parsedType===k.promise?n.data:Promise.resolve(n.data);return B(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};ke.create=(e,t)=>new ke({type:e,typeName:E.ZodPromise,...A(t)});q=class extends ${innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===E.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=>{b(r,i),i.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),s.type==="preprocess"){let i=s.transform(r.data,o);if(r.common.async)return Promise.resolve(i).then(async a=>{if(n.value==="aborted")return v;let l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?v:l.status==="dirty"?Te(l.value):n.value==="dirty"?Te(l.value):l});{if(n.value==="aborted")return v;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?v:a.status==="dirty"?Te(a.value):n.value==="dirty"?Te(a.value):a}}if(s.type==="refinement"){let i=a=>{let l=s.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?v:(a.status==="dirty"&&n.dirty(),i(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?v:(a.status==="dirty"&&n.dirty(),i(a.value).then(()=>({status:n.value,value:a.value}))))}if(s.type==="transform")if(r.common.async===!1){let i=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!ge(i))return v;let a=s.transform(i.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(i=>ge(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:n.value,value:a})):v);C.assertNever(s)}};q.create=(e,t,n)=>new q({schema:e,typeName:E.ZodEffects,effect:t,...A(n)});q.createWithPreprocess=(e,t,n)=>new q({schema:t,effect:{type:"preprocess",transform:e},typeName:E.ZodEffects,...A(n)});W=class extends ${_parse(t){return this._getType(t)===k.undefined?B(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};W.create=(e,t)=>new W({innerType:e,typeName:E.ZodOptional,...A(t)});oe=class extends ${_parse(t){return this._getType(t)===k.null?B(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};oe.create=(e,t)=>new oe({innerType:e,typeName:E.ZodNullable,...A(t)});je=class extends ${_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===k.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};je.create=(e,t)=>new je({innerType:e,typeName:E.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...A(t)});He=class extends ${_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 Ve(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new U(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new U(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};He.create=(e,t)=>new He({innerType:e,typeName:E.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...A(t)});et=class extends ${_parse(t){if(this._getType(t)!==k.nan){let r=this._getOrReturnCtx(t);return b(r,{code:p.invalid_type,expected:k.nan,received:r.parsedType}),v}return{status:"valid",value:t.data}}};et.create=e=>new et({typeName:E.ZodNaN,...A(e)});Pc=Symbol("zod_brand"),xt=class extends ${_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}},vt=class e extends ${_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{let o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?v:o.status==="dirty"?(n.dirty(),Te(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?v:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(t,n){return new e({in:t,out:n,typeName:E.ZodPipeline})}},Be=class extends ${_parse(t){let n=this._def.innerType._parse(t),r=s=>(ge(s)&&(s.value=Object.freeze(s.value)),s);return Ve(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};Be.create=(e,t)=>new Be({innerType:e,typeName:E.ZodReadonly,...A(t)});Nc={object:Z.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"})(E||(E={}));Dc=(e,t={message:`Input not instance of ${e.name}`})=>uo(n=>n instanceof e,t),co=ye.create,fo=Re.create,Mc=et.create,Fc=Ae.create,mo=$e.create,Lc=Ce.create,jc=Ye.create,Hc=Oe.create,Bc=Ie.create,zc=be.create,Uc=ce.create,Zc=Q.create,Jc=qe.create,Gc=de.create,Kc=Z.create,Vc=Z.strictCreate,Wc=Pe.create,Yc=Wt.create,qc=Ne.create,Xc=se.create,Qc=Yt.create,ed=Xe.create,td=Qe.create,nd=qt.create,rd=De.create,sd=Me.create,od=Fe.create,id=Le.create,ad=ke.create,ld=q.create,ud=W.create,cd=oe.create,dd=q.createWithPreprocess,fd=vt.create,md=()=>co().optional(),pd=()=>fo().optional(),hd=()=>mo().optional(),gd={string:(e=>ye.create({...e,coerce:!0})),number:(e=>Re.create({...e,coerce:!0})),boolean:(e=>$e.create({...e,coerce:!0})),bigint:(e=>Ae.create({...e,coerce:!0})),date:(e=>Ce.create({...e,coerce:!0}))},yd=v});var g={};jt(g,{BRAND:()=>Pc,DIRTY:()=>Te,EMPTY_PATH:()=>dc,INVALID:()=>v,NEVER:()=>yd,OK:()=>B,ParseStatus:()=>j,Schema:()=>$,ZodAny:()=>be,ZodArray:()=>de,ZodBigInt:()=>Ae,ZodBoolean:()=>$e,ZodBranded:()=>xt,ZodCatch:()=>He,ZodDate:()=>Ce,ZodDefault:()=>je,ZodDiscriminatedUnion:()=>Wt,ZodEffects:()=>q,ZodEnum:()=>Fe,ZodError:()=>U,ZodFirstPartyTypeKind:()=>E,ZodFunction:()=>qt,ZodIntersection:()=>Ne,ZodIssueCode:()=>p,ZodLazy:()=>De,ZodLiteral:()=>Me,ZodMap:()=>Xe,ZodNaN:()=>et,ZodNativeEnum:()=>Le,ZodNever:()=>Q,ZodNull:()=>Ie,ZodNullable:()=>oe,ZodNumber:()=>Re,ZodObject:()=>Z,ZodOptional:()=>W,ZodParsedType:()=>k,ZodPipeline:()=>vt,ZodPromise:()=>ke,ZodReadonly:()=>Be,ZodRecord:()=>Yt,ZodSchema:()=>$,ZodSet:()=>Qe,ZodString:()=>ye,ZodSymbol:()=>Ye,ZodTransformer:()=>q,ZodTuple:()=>se,ZodType:()=>$,ZodUndefined:()=>Oe,ZodUnion:()=>Pe,ZodUnknown:()=>ce,ZodVoid:()=>qe,addIssueToContext:()=>b,any:()=>zc,array:()=>Gc,bigint:()=>Fc,boolean:()=>mo,coerce:()=>gd,custom:()=>uo,date:()=>Lc,datetimeRegex:()=>ao,defaultErrorMap:()=>le,discriminatedUnion:()=>Yc,effect:()=>ld,enum:()=>od,function:()=>nd,getErrorMap:()=>Ke,getParsedType:()=>re,instanceof:()=>Dc,intersection:()=>qc,isAborted:()=>Kt,isAsync:()=>Ve,isDirty:()=>Vt,isValid:()=>ge,late:()=>Nc,lazy:()=>rd,literal:()=>sd,makeIssue:()=>_t,map:()=>ed,nan:()=>Mc,nativeEnum:()=>id,never:()=>Zc,null:()=>Bc,nullable:()=>cd,number:()=>fo,object:()=>Kc,objectUtil:()=>Gn,oboolean:()=>hd,onumber:()=>pd,optional:()=>ud,ostring:()=>md,pipeline:()=>fd,preprocess:()=>dd,promise:()=>ad,quotelessJson:()=>lc,record:()=>Qc,set:()=>td,setErrorMap:()=>cc,strictObject:()=>Vc,string:()=>co,symbol:()=>jc,transformer:()=>ld,tuple:()=>Xc,undefined:()=>Hc,union:()=>Wc,unknown:()=>Uc,util:()=>C,void:()=>Jc});var qn=y(()=>{Gt();Vn();to();kt();po();Jt()});var tt=y(()=>{qn();qn()});var _e,wt=y(()=>{"use strict";tt();_e=g.object({slug:g.string().min(1).max(64),description:g.string().max(255).optional(),match_command:g.string().min(1),priority:g.number().int().default(50),strip_ansi:g.boolean().default(!1),strip_lines_matching:g.array(g.string()).default([]),keep_failures:g.boolean().default(!1),strip_on_failure:g.boolean().default(!1),fold_passing:g.boolean().default(!1),fold_passing_threshold:g.number().int().positive().max(1e3).optional(),mask_abs_paths:g.boolean().default(!1),preserve_exact:g.boolean().default(!1),truncate_lines_at:g.number().int().positive().max(1e4).optional(),max_lines:g.number().int().positive().max(1e5).optional(),scale_with_level:g.boolean().default(!0),transform:g.string().max(64).optional(),on_empty:g.string().max(255).optional()})});function bd(e,t){let n=e.slice(0,t).split(/\r?\n/);return[n.length,n.pop().length+1]}function kd(e,t,n){let r=e.split(/\r?\n/),s="",o=(Math.log10(t+1)|0)+1;for(let i=t-1;i<=t+1;i++){let a=r[i-1];a&&(s+=i.toString().padEnd(o," "),s+=": ",s+=a,s+=`
3
+ `,i===t&&(s+=" ".repeat(o+n+2),s+=`^
4
+ `))}return s}var w,ze=y(()=>{w=class e extends Error{line;column;codeblock;constructor(t,n){let[r,s]=bd(n.toml,n.ptr),o=kd(n.toml,r,s);super(`Invalid TOML document: ${t}
5
+
6
+ ${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 Xt(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)w.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 u=e.s.slice(a,e.p);i=i?i+u:u}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 u=e.p++-1,c=0,d=n===120?2:n===117?4:8;for(let f=0;f<d;f++,e.p++){let m=e.s.charCodeAt(e.p),h=m>=48&&m<=57?m-48:m>=65&&m<=70?m-65+10:m>=97&&m<=102?m-97+10:-1;h<0&&w.x("invalid non-hex character in unicode escape",e),c=c<<4|h}(c<0||c>1114111||c>=55296&&c<=57343)&&w.x("invalid unicode escape",e,u),i+=String.fromCodePoint(c),a=e.p--,l=0}else o&&(n===32||n===9)?l=2:(n===98?i+="\b":n===116?i+=" ":n===110?i+=`
7
+ `:n===102?i+="\f":n===114?i+="\r":n===101?i+="\x1B":n===34?i+='"':n===92?i+="\\":w.x("unrecognised escape sequence",e),a=e.p+1,l=0);else n!==32&&n!==9&&(l===2&&w.x("invalid escape: only line-ending whitespace may be escaped",e,a),l=!s&&n===92?1:0,a=e.p);w.x("unfinished string",e,t)}var Xn=y(()=>{ze();});var _d,Ue,Qn=y(()=>{_d=/^(\d{4}-\d{2}-\d{2})?[Tt ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|z|[-+]\d{2}:\d{2})?$/i,Ue=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(_d);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 K(e,t=10){return t===16?e>47&&e<58||e>64&&e<71||e>96&&e<103:e>47&&e<48+t}function tr(e,t){return e===32||e===9||e===10||e===13||t&&(e===t||e===44)||e===35}function St(e,t){let n=e.p,r=e.s.charCodeAt(e.p);if(r===91||r===123){e.d--||w.x("document contains excessively nested structures. aborting.",e);let s=r===91?yo(e):go(e);return e.d++,s}return r===34||r===39?Xt(e):r===116?((e.s.charCodeAt(++e.p)!==114||e.s.charCodeAt(++e.p)!==117||e.s.charCodeAt(++e.p)!==101)&&w.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)&&w.x("invalid value",e,n),e.p++,!1):r===43||r===45?Qt(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?xd(e,r,t):e.s.charCodeAt(e.p+2)===58?vd(e,r,t):Qt(e,e.p,r,0,t)}function Qt(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)&&w.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)&&w.x("invalid value",e,t),e.p++,NaN;if(o===48){if(++e.p>=e.s.length||tr(o=e.s.charCodeAt(e.p),s))return e.bi===!0?0n:0;if(!r){if(o===120)return er(e,t,16,s);if(o===98)return er(e,t,2,s);if(o===111)return er(e,t,8,s)}o===46?i=2:o===101||o===69?i=4:w.x("illegal leading zero",e,t)}else K(o)||w.x("invalid value",e,t);for(;++e.p<e.s.length&&(o=e.s.charCodeAt(e.p),!tr(o,s));)i||(i=1),o===95?(i&1||w.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)||(K(o)?i>9?i-=11:i&1||i++:w.x("illegal character in numeric literal",e));if(!i){let u=(n-48)*(r||1);return e.bi===!0?BigInt(u):u}i&1||w.x("unfinished numeric value",e,t);let l=e.s.slice(t,e.p);return a&&(l=l.replaceAll("_","")),i>1?parseFloat(l):ho(e,l,10,t)}function er(e,t,n,r){let s,o=1;for(;++e.p<e.s.length&&(s=e.s.charCodeAt(e.p),!tr(s,r));)s===95?(o&1&&w.x("illegal underscore",e),o=3):K(s,n)?o&1&&o--:w.x("illegal character in numeric literal",e);o&1&&w.x("unfinished numeric value",e);let i=e.s.slice(t+2,e.p);return o&&(i=i.replaceAll("_","")),ho(e,i,n,t)}function ho(e,t,n,r){if(e.bi!==!0)e:{let s=parseInt(t,n);if(!Number.isSafeInteger(s)){if(e.bi)break e;w.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 xd(e,t,n){let r=e.p++,s;if(!K(t)||!K(e.s.charCodeAt(e.p++))||!K(e.s.charCodeAt(e.p++))||!K(e.s.charCodeAt(e.p++)))return Qt(e,e.p=r,t,0,n);if(e.p+=5,K(e.s.charCodeAt(e.p++))||w.x("invalid date-time: date part is malformed",e,r),e.p>=e.s.length||((t=e.s.charCodeAt(e.p))!==32||(s=!0,!K(e.s.charCodeAt(e.p+1))))&&t!==84&&t!==116){let i=e.s.slice(r,e.p);return Et(e,i,3,!1,r)}if(e.s.charCodeAt(e.p+=3)!==58&&w.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(;K(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 Et(e,i,1,s,r,"[+00:00]")}if(t===43||t===45){let i=e.s.slice(r,e.p+=6);return Et(e,i,1,s,r,!e.ld&&"["+e.s.slice(e.p-6,e.p)+"]")}}let o=e.s.slice(r,e.p);return Et(e,o,2,s,r)}function vd(e,t,n){let r=e.p;if(!K(t)||!K(e.s.charCodeAt(++e.p)))return Qt(e,--e.p,t,0,n);if(e.s.charCodeAt(e.p+=4)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;K(e.s.charCodeAt(++e.p)););let s=e.s.slice(r,e.p);return Et(e,s,4,!1,r)}function Et(e,t,n,r,s,o){if(e.ld){let i=new Ue(t,n,r);return i.isValid()||w.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){w.x(i instanceof Error?i.message:""+i,e,s)}}var nr=y(()=>{Xn();rr();ze();Qn();});function wd(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)&&w.x("control characters are not allowed in comments",e)}}function ee(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;wd(e)}}var sr=y(()=>{ze();});function en(e,t=61){let n,r=0,s=[],o,i=e.s.charCodeAt(n=e.p);do{if(i===t)return r||w.x("unexpected end of key",e),r===1&&s.push(e.s.slice(o,e.p)),e.p++,s;i===46?(r||w.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)&&w.x("illegal quoted key: multiline strings are not allowed",e),s.push(Xt(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?w.x("illegal character in key",e):r||(r=1,o=e.p)}while(i=e.s.charCodeAt(++e.p));w.x("incomplete key-value: cannot find end of key",e,n)}function go(e){let t=e.p++,n=Object.create(null),r=new Set,s;for(;e.p<e.s.length;){if(ee(e),(s=e.s.charCodeAt(e.p))===125)return e.p++,n;let o,i=n,a=!1,l=e.p,u=en(e);for(let d=0;d<u.length;d++){d&&(i=a?i[o]:i[o]=Object.create(null)),o=u[d],(a=Object.hasOwn(i,o))&&(typeof i[o]!="object"||r.has(i[o]))&&w.x("trying to redefine an already defined value",e,l);let f=o==="__proto__";if(e.uk&&(f||o==="constructor")){i=e.uk!==1&&w.x("document contains an unsafe property",e,l);break}!a&&f&&Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0})}a&&w.x("trying to redefine an already defined value",e,l),ee(e,!0,!0);let c=St(e,125);if(i&&typeof(i[o]=c)=="object"&&r.add(c),ee(e),(s=e.s.charCodeAt(e.p++))===125)return n;s!==44&&w.x("expected comma or end of structure",e,e.p-1)}w.x("unfinished table",e,t)}function yo(e){let t=e.p++,n=[],r;for(;e.p<e.s.length;){if(ee(e),(r=e.s.charCodeAt(e.p))===93)return e.p++,n;if(n.push(St(e,93)),ee(e),(r=e.s.charCodeAt(e.p++))===93)return n;r!==44&&w.x("expected comma or end of structure",e,e.p-1)}w.x("unfinished array",e,t)}var rr=y(()=>{Xn();nr();sr();ze();});function bo(e,t,n,r,s){let o=n,i=r,a,l=!1,u;for(let c=0;c<t.length;c++){if(c){if(o=l?o[a]:o[a]=Object.create(null),i=(u=i[a]).c,s===0&&(u.t===1||u.t===2))return null;if(u.t===2){let d=o.length-1;o=o[d],i=i[d].c}}if(a=t[c],(l=Object.hasOwn(o,a))&&i[a]?.t===0&&i[a]?.d)return null;if(!l){let d=a==="__proto__";if(e.uk&&(d||a==="constructor"))return!1;d&&(Object.defineProperty(o,a,{enumerable:!0,configurable:!0,writable:!0}),Object.defineProperty(i,a,{enumerable:!0,configurable:!0,writable:!0})),i[a]={t:c<t.length-1&&s===2?3:s,d:!1,i:0,c:Object.create(null)}}}if(u=i[a],u.t!==s&&!(s===1&&u.t===3)||(s===2&&(u.d||(u.d=!0,o[a]=[]),o[a].push(o=Object.create(null)),u.c[u.i++]=u={t:1,d:!1,i:0,c:Object.create(null)}),u.d))return null;if(u.d=!0,s===1)o=l?o[a]:o[a]=Object.create(null);else if(s===0&&l)return null;return[a,o,u.c]}function ko(e,t,n){(t===null||e.uk===2)&&w.x(t===null?"trying to redefine an already defined table or value":"document contains an unsafe property",e,n)}function or(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++,ee(n);n.p<e.length;){if(e.charCodeAt(n.p)===91){let u=e.charCodeAt(++n.p)===91;o=n.p+=+u,i=!1;let c=en(n,93);u&&(e.charCodeAt(n.p)!==93&&w.x("expected end of table array declaration",n),n.p++);let d=bo(n,c,r,s,u?2:1);d?(l=d[2],a=d[1]):(ko(n,d,o),i=!0)}else{o=n.p;let u=en(n),c=bo(n,u,a,l,0);!c&&!i&&ko(n,c,o),ee(n,!0,!0);let d=St(n,void 0);c&&!i&&(c[1][c[0]]=d)}ee(n,!0),n.p<e.length&&(o=e.charCodeAt(n.p))!==10&&(o!==13||e.charCodeAt(n.p+1)!==10)&&w.x("each key-value declaration must be followed by an end-of-line",n),ee(n)}return r}var _o=y(()=>{rr();nr();sr();ze();});function Tt(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 Sd(e){for(let t=0;t<e.length;t++)if(Tt(e[t])!=="object")return!1;return e.length!=0}function vo(e){return JSON.stringify(e).replaceAll("\x7F","\\u007f")}function Td(e){return vo(xo?e.toWellFormed():e)}function wo(e){if(Ed.test(e))return e;if(xo&&!e.isWellFormed())throw new RangeError("key contains illegal lone surrogates");return vo(e)}function ir(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 Td(e);case"date":if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString();case"object":return Rd(e,n,r,s);case"array":return Ad(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 Rd(e,t,n,r){let s=Object.keys(e);if(s.length===0)return"{}";let o="{ ";for(let i=0;i<s.length;i++){let a=s[i];i&&(o+=", "),o+=wo(a)+" = "+ir(e[a],Tt(e[a]),t-1,n,r)}return o+" }"}function Ad(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+=ir(e[o],Tt(e[o]),t-1,n,r)}return s+" ]"}function $d(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&&`
8
+ `}[[${t}]]
9
+ `,o+=ar(0,e[i],t,n,r,s);return o}function ar(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 u=0;u<l.length;u++){let c=l[u];if(t[c]!==null&&t[c]!==void 0){let d=Tt(t[c]);if(d==="symbol"||d==="function")throw new TypeError(`cannot serialize values of type '${d}'`);let f=wo(c);if(d==="array"&&Sd(t[c]))a+=(a&&`
10
+ `)+$d(t[c],n?`${n}.${f}`:f,r-1,s,o);else if(d==="object"){let m=n?`${n}.${f}`:f;a+=(a&&`
11
+ `)+ar(m,t[c],m,r-1,s,o)}else i+=f,i+=" = ",i+=ir(t[c],d,r,s,o),i+=`
12
+ `}}return e&&(i||!a)&&(i=i?`[${e}]
13
+ ${i}`:`[${e}]`),i&&a?`${i}
14
+ ${a}`:i||a}function lr(e,{maxDepth:t=1e3,numbersAsFloat:n=!1,strictTemporal:r=!1}={}){if(Tt(e)!=="object")throw new TypeError("stringify can only be called with an object");let s=ar(0,e,"",t,n,r);return s[s.length-1]!==`
15
+ `?s+`
16
+ `:s}var Ed,xo,Eo=y(()=>{Ed=/^[a-z0-9-_]+$/i,xo=!!"".isWellFormed});var ur={};jt(ur,{TomlDate:()=>Ue,TomlError:()=>w,default:()=>Cd,parse:()=>or,stringify:()=>lr});var Cd,cr=y(()=>{_o();Eo();Qn();ze();Cd={parse:or,stringify:lr,TomlDate:Ue,TomlError:w}});import{readdir as Od,readFile as Id}from"node:fs/promises";import{join as To,dirname as Pd}from"node:path";import{fileURLToPath as Nd}from"node:url";function Fd(){return process.env.TOKMIZER_DEV==="1"||process.env.TOKMIZER_DEV==="true"}async function Ro(){return nt||(Fd()?(nt=await Ld(Md),nt):(!So&&process.env.TOKMIZER_DEBUG==="1"&&(process.stderr.write(`tokmizer: disk loader disabled (set TOKMIZER_DEV=1 to re-enable for local dev).
17
+ `),So=!0),nt=new Map,nt))}async function Ld(e){let t=new Map,n,r;try{n=(await Promise.resolve().then(()=>(cr(),ur))).parse,r=(await Od(e)).filter(s=>s.endsWith(".toml"))}catch{return t}for(let s of r){let o=await Id(To(e,s),"utf8"),a=n(o).filters;if(a)for(let[l,u]of Object.entries(a)){let c=_e.parse({slug:l,...u});t.set(l,{...c,matchRegex:new RegExp(c.match_command)})}}return t}var Dd,Md,nt,So,Ao=y(()=>{"use strict";wt();Dd=Pd(Nd(import.meta.url)),Md=process.env.TOKMIZER_FILTERS_DIR||To(Dd,"..","..","filters"),nt=null,So=!1});var Io={};jt(Io,{OutputVerbosity:()=>Co,ReducerLevel:()=>Oo,Settings:()=>rt,slugKey:()=>te});import{createHash as jd}from"node:crypto";function te(e){let t=$o.get(e);return t||(t=jd("sha256").update(`tkr:${e}`).digest("hex").slice(0,16),$o.set(e,t)),t}var Co,Oo,rt,$o,Ze=y(()=>{"use strict";tt();Co=g.enum(["normal","compact","minimal"]),Oo=g.enum(["off","light","balanced","max"]),rt=g.object({enabled:g.boolean().default(!0),telemetryOptIn:g.boolean().default(!0),outputVerbosity:Co.default("compact"),reducer:Oo.default("off"),filters:g.object({enableAll:g.boolean().default(!0),disabled:g.array(g.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),$o=new Map});function st(e,t,n,r=t){let s=Po.get(r);s||(s=new Map,Po.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(te(l.slug))||l.matchRegex.test(e)&&(!a||l.priority>a.priority)&&(a=l);if(s.size>=Hd){let l=s.keys().next().value;l&&s.delete(l)}return s.set(o,a),a}var Po,Hd,tn=y(()=>{"use strict";Ze();Po=new WeakMap,Hd=256});function ie(e){return e.replace(Bd,"").replace(zd,"")}var Bd,zd,Rt=y(()=>{"use strict";Bd=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,zd=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g});function No(e,t){return t.length===0?e:e.filter(n=>!t.some(r=>r.test(n)))}var Do=y(()=>{"use strict"});function Mo(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 Fo=y(()=>{"use strict"});function ot(e){return`\u2026 (${e} more lines omitted)`}function Lo(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),ot(s.length),...e.slice(e.length-r)],dropped:s}}var dr=y(()=>{"use strict"});function jo(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)Ud.test(a)&&!xe.test(a)?(i.push(a),s+=1):(o(i),i=[],s=0,r.push(a));return o(i),r}var Ud,xe,fr=y(()=>{"use strict";Ud=/^\s*(?:[✓✔√]|ok )/,xe=/✕|✗|×|\bFAIL\b|\bERROR\b|\bFATAL\b|\bError|\berror|Expected|Received|\bfailed\b|^\s*Tests?:|^\s*Test Suites?:/});function Ho(e){return e.map(t=>t.replace(Zd,n=>{let r=n.split("/").filter(Boolean);return r.length<=2?n:`\u2026/${r.slice(-2).join("/")}`}))}var Zd,Bo=y(()=>{"use strict";Zd=/(?:\/[\w.@+-]+){3,}/g});function Wd(e){let t=Kd.exec(e);return!t||Vd.has(t[1])?!1:!/=>|\bfunction\b/.test(t[2])}function qd(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 Xd(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==="&"))&&qd(e,s+1,o)&&(r=o),s+=1;continue}o==="{"||o==="("||o==="["?n+=1:(o==="}"||o===")"||o==="]")&&(n-=1),s+=1}return n}function ef(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 mr(e){let t=new Array(e.length).fill(!1);for(let n=0;n<e.length;n+=1){let r=Qd.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 At(e,t=3,n=!1){let r=[],s=0;for(;s<e.length;){let o=e[s];if(Jd.test(o)&&Gd.test(o)||Wd(o)||Yd.test(o)){let i={inBlockComment:!1,inTemplate:!1},a=0,l=s,u=!1;for(;l<e.length&&l-s<200;)if(a+=Xd(e[l],i),l+=1,a<=0&&!i.inTemplate&&!i.inBlockComment){u=!0;break}let c=l-s;if(u&&c<t){r.push(...e.slice(s,l)),s=l;continue}if(u&&c>=3){let d=c-2,f=/^\s*/.exec(e[s+1]??"")?.[0]??" ";r.push(o),r.push(ef(f,d,n?s+2:null));for(let m=0;m<d-1;m++)r.push("");r.push(e[l-1]),s=l;continue}}r.push(o),s+=1}return r}function nn(e){let t=e.slice(0,4096);return!(!tf.test(t)||t.split(`
18
+ `).length<6)}var Jd,Gd,Kd,Vd,Yd,zo,Qd,tf,$t=y(()=>{"use strict";Jd=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,Gd=/\{\s*$/,Kd=/^\s*(?:(?:public|private|protected|static|async|get|set|readonly|override)\s+)*([\w$]+)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\{\s*$/,Vd=new Set(["if","for","while","switch","catch","do","with","return","else","function","await","yield"]);Yd=/^\s*(?:if|for|while|switch|try|do)\b[^{}]*\{\s*$/;zo=/^\s*… \d+ lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/,Qd=/^\s*… (\d+) lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/;tf=/\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 Yo(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(Ko.test(s.replace(Go,""))&&!Vo.test(s)&&!Wo.test(s)){n+=1;continue}r(),t.push(s)}return r(),t}function Jo(e){if(e.trim()===""||/^\s/.test(e)||Vo.test(e)||Wo.test(e)||rf.test(e))return null;let t=e.replace(Go,"");return Ko.test(t)||nf.test(t)?"\0verbose":e.replace(/\d+/g,"#")}function qo(e){let t=[],n=0;for(;n<e.length;){let r=Jo(e[n]),s=n+1;if(r!==null)for(;s<e.length&&Jo(e[s])===r;)s+=1;let o=s-n;r===null||o<sf?t.push(...e.slice(n,s)):(t.push(...e.slice(n,n+Uo)),t.push(`\u2026 ${o-Uo-Zo} similar log lines dropped \u2026`),t.push(...e.slice(s-Zo,s))),n=s}return t}function rn(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 Xo(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 Go,Ko,Vo,Wo,nf,rf,sf,Uo,Zo,sn=y(()=>{"use strict";fr();Go=/^\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*/,Ko=/^\s*(?:\[(?:DEBUG|TRACE|INFO|VERBOSE)\]|(?:DEBUG|TRACE|INFO|VERBOSE)(?!\s*:))(?=\s|:|$)(?!\s*[+\-*\/%&|^?]*=)/,Vo=new RegExp(xe.source,"i"),Wo=/\bWARN(?:ING)?\b/i;nf=/^(?:DEBUG|INFO):[\w.-]+:/,rf=/Error|Exception|Traceback|panic|fail|FAIL|Fail|SEVERE|CRITICAL/,sf=8,Uo=1,Zo=2});function J(e,t){Qo.set(e,t)}function ei(e){return Qo.get(e)}var Qo,fe=y(()=>{"use strict";Qo=new Map});function df(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 ff(e){let t=/^(\d+(?:[.,]\d+)?)([KMGTPkmgtp])?/.exec(e),n=t[2]?cf[t[2].toLowerCase()]:0;return Number(t[1].replace(",","."))*1024**n}function mf(e){let t=uf.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)?df(Number(r)):r,o=e.charCodeAt(0)===100;return{name:n,size:s,sizeKey:ff(r),isDir:o}}function pf(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 hf(e){let t=[],n=[],r=!1;for(let d of e){if(d.trim()===""||/^total\s+\d+/.test(d))continue;if(af.test(d.trim())||!of.test(d))return e;let f=mf(d);if(!f){if(/\s\.\.?$/.test(d))continue;return e}r=!0,(f.isDir?t:n).push(f)}if(!r)return e;let s=(d,f)=>d.name.localeCompare(f.name);t.sort(s),n.sort((d,f)=>f.sizeKey-d.sizeKey||s(d,f));let o=[...t,...n],i=[];for(let d of o){let f=d.isDir?`${d.name}/`:d.name;i.push(d.isDir?f:`${f} ${d.size}`)}if(i.length>pr){let d=i.length-pr;i=[...i.slice(0,pr),`\u2026 ${d} more lines omitted`]}let a=n.length===1?"file":"files",l=t.length===1?"dir":"dirs",u=pf(n),c=`${n.length} ${a}, ${t.length} ${l}`+(u?` (${u})`:"");return i.push(c),i}var of,af,lf,uf,cf,pr,ti=y(()=>{"use strict";fe();of=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/,af=/^[./~][^\s]*:$/,lf=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})?`,uf=new RegExp(String.raw`^\S+\s+\d+\s+\S+\s+(?:\S+\s+)?(\d+(?:[.,]\d+)?[KMGTPkmgtp]?i?B?)\s+(?:${lf})\s+(.+)$`),cf={k:1,m:2,g:3,t:4,p:5},pr=1e3;J("smart-ls",hf)});var ni=y(()=>{"use strict";$t();fe();J("smart-read",e=>At(e))});function gf(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 yf(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 bf(e){let t=e.filter(u=>u.trim()!=="");if(t.length===0||t.filter(u=>!/\s/.test(u.trim())).length<t.length*.6)return e;let r=new Map,s=[],o=0;for(let u of t){let c=u.trim();if(c.startsWith("find:")){s.push(c);continue}let d=c.replace(/^\.\//,"").replace(/\/+$/,""),f=d.lastIndexOf("/"),m=f>=0?d.slice(0,f):"",h=f>=0?d.slice(f+1):d;if(!h)continue;let S=r.get(m)??[];S.push(/\s/.test(h)?`"${h}"`:h),r.set(m,S),o+=1}if(o===0)return e;let i=[...r.keys()].sort(),a=i.every(u=>u!=="")?gf(i):"",l=[`${o}F ${i.length}D${a?` in ${a}/`:""}:`];for(let u of i){let c=a?u.slice(a.length).replace(/^\//,""):u,d=r.get(u),f=yf(d),m=f?d.map(h=>h.slice(0,-f.length)):d;l.push(`${c?`${c}/`:"./"} (${d.length}${f?`, *${f}`:""}): ${m.join(" ")}`)}if(l.length+s.length>ri){let u=Math.max(0,ri-s.length),c=l.length-u;return[...l.slice(0,u),`\u2026 ${c} more lines omitted`,...s]}return[...l,...s]}var ri,si=y(()=>{"use strict";fe();ri=1e3;J("smart-find",bf)});function ai(e){let t=e.trim();return t.length>oi?`${t.slice(0,oi)}\u2026`:t}function Ef(e){let t=[],n="";for(let r of e){let s=n?`${n}, ${r}`:r;s.length>=_f&&n?(t.push(`${n},`),n=r):n=s}return n&&t.push(n),t}function Sf(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 Tf(e){let t=e.filter(m=>m.trim()!=="");if(t.length===0)return e;let n=new Map,r=new Map,s=null,o=0,i=0;for(let m of t){if(m==="--"){s&&n.get(s).push({separator:!0});continue}if(/^[A-Za-z]:[\\/]/.test(m))return e;let h=xf.exec(m),S=vf.exec(m);if(h&&S)return e;let _=h||S?null:wf.exec(m),O=(h??S??_)?.[1];if(!O)return e;let T=h?{line:h[2],content:h[3],context:!1}:S?{line:S[2],content:S[3],context:!0}:{line:"",content:_[2],context:!1},I=n.get(O)??[];I.push(T),n.set(O,I),T.context||(o+=1,r.set(O,(r.get(O)??0)+1)),i+=1,s=O}if(n.size===i)return e;let a=[...n.keys()].sort((m,h)=>{let S=ii.test(m)?1:0,_=ii.test(h)?1:0;return S-_||(m<h?-1:m>h?1:0)}),l=a.length>1?Sf(a):"",u=m=>l?m.slice(l.length+1):m,c=[];for(let m of a){c.push(`${u(m)} (${r.get(m)??0}):`);for(let h of n.get(m))"separator"in h?c.push(" --"):h.line?c.push(` ${h.line}${h.context?"-":":"} ${ai(h.content)}`):c.push(` ${ai(h.content)}`)}let d=a.length>1&&c.length>kf?Ef(a.map(m=>`${u(m)} (${r.get(m)??0})`)):[],f=[`${o}m ${a.length}f${l?` in ${l}/`:""}:`,...d,"",...c];if(f.length>hr){let m=f.length-hr;return[...f.slice(0,hr),`\u2026 ${m} more lines omitted`]}return f}var hr,oi,kf,_f,xf,vf,wf,ii,li=y(()=>{"use strict";fe();hr=1e3,oi=200,kf=60,_f=190,xf=/^([^\s:]+):(\d+):(.*)$/,vf=/^([^:]+?)-(\d+)-(.*)$/,wf=/^([^\s:]+):(.*)$/,ii=/(?:^|\/)(?:__tests__|tests?|spec|fixtures?|__mocks__|__snapshots__)\/|\.(?:test|spec)\.[^/]+$/i;J("smart-grep",Tf)});function Cf(e){if(!e.some(u=>ui.test(u)))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 u of e){let c=u.slice(0,s),d=Rf.test(c),f=d?u.slice(s):u,m=Af.test(f),h=i&&m?null:ui.exec(u);if(h){l(),n=0,s=h[1]?.length??0,i=!0,a=!1,t.push(u);continue}if(/^diff --(?:git|cc|combined) /.test(f)&&(a=!0),m&&!a&&!(s>0&&f.trim().length===0)){n+=1,n<=$f?t.push(u):(r+=1,o=d?c:"");continue}l(),t.push(u)}return l(),t}var ui,Rf,Af,$f,ci=y(()=>{"use strict";fe();ui=/^(?:([|\\/ ._-]*\*[|\\/* ._-]* ))?commit [0-9a-f]{7,40}\b/,Rf=/^[|\\/* ._-]*$/,Af=/^ {4}/,$f=2;J("smart-log",Cf)});var Of,If,Pf,di=y(()=>{"use strict";fe();Of=/^[\s=]+$/,If=/^\s*=+\s+(.*?)\s+=+\s*$/,Pf=512;J("strip-banners",e=>{let t=[];for(let n of e){if(Of.test(n))continue;let r=n.length<=Pf?If.exec(n):null;t.push(r?r[1]:n)}return t})});function Nf(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 fi=y(()=>{"use strict";fe();J("squeeze-output",Nf)});function Df(e){return e==="compact"?.6:e==="minimal"?.3:1}function Ff(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 Lf(e){let t=mi.get(e);if(t)return t;let n=e.strip_lines_matching.map(s=>new RegExp(s)),r={def:e,stripRegexes:n};return mi.set(e,r),r}function on(e,t,n={}){return gr(e,t,n).text}function gr(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=Lf(t),o=e;t.strip_ansi&&(o=ie(o));let i=o.endsWith(`
19
+ `),a=(i?o.slice(0,-1):o).split(`
20
+ `);s.stripRegexes.length&&(a=t.keep_failures?a.filter(f=>xe.test(f)||!s.stripRegexes.some(m=>m.test(f))):No(a,s.stripRegexes)),r!=="normal"&&!t.preserve_exact&&(a=rn(a),a=Xo(a)),r==="minimal"&&!t.preserve_exact&&(a=Yo(a),(t.slug==="vitest"||t.slug==="npm-test")&&(a=Ff(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"&&nn(o))&&(a=At(a,l)),t.transform){let f=ei(t.transform);t.transform==="smart-read"?a=At(a,l,t.slug==="read-tool"):f&&(a=f(a))}let u=t.slug==="read-tool";if(!u){let f=mr(a);f.some(Boolean)&&(a=a.filter((m,h)=>!f[h]))}t.mask_abs_paths&&(a=Ho(a)),t.fold_passing&&(a=jo(a,t.fold_passing_threshold??5)),t.truncate_lines_at&&(a=Mo(a,t.truncate_lines_at));let c=null;if(t.max_lines){let f=t.scale_with_level?Df(n.verbosity):1,m=Math.min(t.max_lines,Math.max(Mf,Math.round(t.max_lines*f))),h=u?mr(a):null,S=h?h.filter(_=>!_).length:a.length;if(S>m){let _=m;if(h){let T=0;for(_=0;_<a.length&&T<m;)h[_]||(T+=1),_+=1}let O=S-m;if(t.keep_failures){let T=a.slice(_),I=T.filter(L=>!xe.test(L)),D=T.reduce((L,me,Ge)=>L+(!xe.test(me)&&!h?.[_+Ge]?1:0),0);c=I.length>0?I.join(`
21
+ `):null,a=[...a.slice(0,_),...D>0?[ot(D)]:[],...T.filter(L=>xe.test(L))]}else if(u)c=a.slice(_).join(`
22
+ `),a=[...a.slice(0,_),ot(O)];else{let{kept:T,dropped:I}=Lo(a,m);c=I.length>0?I.join(`
23
+ `):null,a=T}}}let d=a.join(`
24
+ `);return i&&d.length>0&&(d+=`
25
+ `),d.trim().length===0&&t.on_empty&&(d=t.on_empty),{text:d,droppedTail:c}}var Mf,mi,yr=y(()=>{"use strict";Rt();Do();Fo();dr();fr();Bo();$t();sn();fe();ti();ni();si();li();ci();di();fi();Mf=20;mi=new WeakMap});import{readdir as jf,readFile as yi,writeFile as Sk,mkdir as Tk,rename as Rk}from"node:fs/promises";import{readdirSync as Hf,statSync as pi}from"node:fs";import{createHash as Bf}from"node:crypto";import{basename as Ok,join as cn}from"node:path";function un(){return cn(R(),"filters")}function ki(){return cn(R(),"filters-trust.json")}function _i(e){return typeof e=="string"&&e.startsWith(bi)}function Uf(e){return Bf("sha256").update(e).digest("hex")}async function Zf(){try{let e=JSON.parse(await yi(ki(),"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 Jf(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 Gf(e,t){let n=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},{tests:r,...s}=n,o=Jf(e,r);if("message"in o)return o;let i=_e.safeParse({...s,slug:e});if(!i.success){let l=i.error.issues.map(u=>`${u.path.join(".")||"rule"}: ${u.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:`${bi}${i.data.slug}`,matchRegex:a},tests:o.tests}}function Kf(e){return e===void 0||e===an?null:typeof e=="number"&&Number.isInteger(e)?`schema_version ${e} is not supported: this tkr reads schema_version = ${an}. Update tkr, or write the file for version ${an}`:`schema_version must be the number ${an}`}async function Vf(e){try{return(await jf(e)).filter(t=>t.endsWith(".toml")).sort()}catch{return[]}}async function Wf(e={}){let t=e.requireTrust!==!1,n=un(),r=new Map,s=new Map,o=[],i=await Vf(n);if(i.length===0)return{dir:n,filters:r,tests:s,issues:o};let a=t?await Zf():null;for(let l of i){let u;try{u=await yi(cn(n,l),"utf8")}catch{o.push({file:l,message:"could not be read"});continue}if(a){let d=a.files[l];if(!d){o.push({file:l,message:`not trusted yet. Review it, then run: tkr filters trust ${l}`});continue}if(d!==Uf(u)){o.push({file:l,message:`changed since it was trusted. Review it, then run: tkr filters trust ${l}`});continue}}let c=await Yf(u,l);for(let[d,f]of c.filters)r.set(d,f);for(let[d,f]of c.tests)s.set(d,f);o.push(...c.issues)}return{dir:n,filters:r,tests:s,issues:o}}async function Yf(e,t){let n=new Map,r=new Map,s=[],{parse:o}=await Promise.resolve().then(()=>(cr(),ur)),i;try{i=o(e)}catch(u){return s.push({file:t,message:`not valid TOML (${String(u.message).split(`
26
+ `)[0]})`}),{filters:n,tests:r,issues:s}}let a=Kf(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[u,c]of Object.entries(l)){let d=Gf(u,c);if("message"in d){s.push({file:t,message:d.message});continue}n.set(d.filter.slug,d.filter),d.tests.length>0&&r.set(d.filter.slug,{file:t,tests:d.tests})}return{filters:n,tests:r,issues:s}}function qf(){let e=[];for(let t of[ki(),un()])try{let n=pi(t);e.push(`${n.mtimeMs}:${n.size}`)}catch{e.push("-")}try{for(let t of Hf(un()).filter(n=>n.endsWith(".toml")).sort()){let n=pi(cn(un(),t));e.push(`${t}:${n.mtimeMs}:${n.size}`)}}catch{}return e.join("|")}function Xf(){let e=Date.now();if(!ln||e-gi>=zf){gi=e;let t=qf();(!ln||t!==hi)&&(hi=t,ln=Wf())}return ln}async function Qf(e){let{filters:t}=await Xf();return t.size===0?null:st(e,t.values(),null,t)}function xi(e){return async(t,n)=>await Qf(t)??e(t,n)}var bi,an,ln,hi,gi,zf,br=y(()=>{"use strict";wt();tn();yr();F();bi="user/",an=1,ln=null,hi="",gi=0,zf=1e3});function vi(e){if(!e)return!1;for(let t of ie(e).split(`
27
+ `))if(!/^\s*[✓✔√]\s/.test(t)&&em.some(n=>n.test(t)))return!0;return!1}var em,wi=y(()=>{"use strict";Rt();em=[/\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 Je(e){let t=e.trim(),n=t.split(/\s+/),r=0;for(;r<n.length;){let a=n[r];if(nm.test(a)){r++;continue}if(tm.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 Ei(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 sm(e){let t=Ei(e,!1);for(let n=t.length-1;n>=0;n--){let r=t[n].trim();if(r)return r}return e.trim()}function _r(e){let t=Ei(e,!0).map(n=>n.trim()).filter(Boolean);if(t.length===0)return null;for(let n of t.slice(0,-1)){let r=Je(n).split(/\s+/)[0]??"";if(!rm.has(r))return null}return sm(t[t.length-1])}function Si(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 xr(e){let t=om.exec(e);return t?Je(e.slice(t[0].length)):null}function Ti(e){let t=kr.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=_r(n),s=r?Je(r):null,i=[s?xr(s):null,s,e].filter(a=>!!a);return[...new Set(i)]}var tm,nm,kr,rm,om,Ri=y(()=>{"use strict";tm=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),nm=/^[A-Za-z_][A-Za-z0-9_]*=/,kr=/^([a-z]+)-tool(?::\s|$)/;rm=new Set(["cd","export","source","set","unset","mkdir","true",":","pushd","popd","alias","ulimit","umask","echo","printf","sleep","touch","rm","cp","mv","chmod","ln"]);om=/^(?: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 vr(e){let t=Buffer.from(e,"utf8");if(t.length<=256)return e;let n=256-Buffer.byteLength(Ai,"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")+Ai+t.subarray(s).toString("utf8")}var Ai,$i=y(()=>{"use strict";Ai=`
13
28
  [YOLO: omitted]
14
- `});function pc(t,e){if(!e)return t.split(`
15
- `).map(i=>i.replace(/^[ \t]+|[ \t]+(?=\r?$)/g,"")).join(`
16
- `);let n="",r=!1,s=!1;for(let i of t)r?(n+=i,s?s=!1:i==="\\"?s=!0:i==='"'&&(r=!1)):i==='"'?(r=!0,n+=i):i!==" "&&i!==" "&&i!=="\r"&&i!==`
17
- `&&(n+=i);return n+(t.endsWith(`
29
+ `});function lm(e,t){if(!t)return e.split(`
30
+ `).map(o=>o.replace(/^[ \t]+|[ \t]+(?=\r?$)/g,"")).join(`
31
+ `);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!==`
32
+ `&&(n+=o);return n+(e.endsWith(`
18
33
  `)?`
19
- `:"")}function hc(t,e){if(/@(?:p)?\d|\r/.test(t))return t;let n=t.endsWith(`
34
+ `:"")}function um(e,t){if(/@(?:p)?\d|\r/.test(e))return e;let n=e.endsWith(`
20
35
  `)?`
21
- `:"",r=(n?t.slice(0,-1):t).split(`
22
- `),s=r.findIndex(v=>fc.test(v));if(s>=0&&r.slice(0,s).some(v=>v!==""&&!/^Showing \d+ of \d+ (?:open|closed|all) pull requests in \S+$/.test(v)))return t;let i=s>=0?[...r[s].matchAll(/\S+/g)].map(v=>v.index):[],o=[];for(let v=s+1;v<r.length;v+=1){let C=r[v];if(mc.test(C))continue;if(/…|\.\.\./.test(C))return t;let S;if(s>=0){if(/[^\x20-\x7e]/.test(C))return t;let I=i.map((N,M)=>C.slice(N,i[M+1]));if(I.slice(0,-1).some(N=>N[0]===" "||!N.endsWith(" "))||(S=I.map(N=>N.replace(/ +$/,"")),!/^#\d+$/.test(S[0])||!/^\S+$/.test(S[2])||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(S[3])||!/^\d+(?:s|m|h|d|w|mo|y)$/.test(S[4])))return t}else if(S=C.split(" "),S.length!==5||!/^\d+$/.test(S[0])||!S[1]||!S[2]||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(S[3])||!Wt.test(S[4])||!Number.isFinite(Date.parse(S[4])))return t;if(S.some(I=>/[\u0000-\u001f\u007f]/.test(I)))return t;o.push({index:v,cells:S})}if(o.length===0)return t;s>=0&&(r[s]="ID TITLE BRANCH STATE CREATED");for(let v of o)r[v.index]=v.cells.join(" ");let a=r.join(`
23
- `)+n;if(!e)return a;let c=new Map;for(let{cells:v}of o)c.set(v[1],(c.get(v[1])??0)+1);let u=new Map,l=[];for(let[v,C]of c){if(v.length<40||C<3||v.trim().split(/\s+/).length<8)continue;let S=`@${u.size+1}`,I=JSON.stringify(v).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),N=`TITLE ${S} = ${I}`;C*(Buffer.byteLength(v)-Buffer.byteLength(S))<=Buffer.byteLength(N)+1||(u.set(v,S),l.push(N))}let m=new Map;for(let{cells:v}of o){if(u.has(v[1]))continue;let C=/^((?:\S+\s+){4})\S/.exec(v[1])?.[1];C&&C.length>=24&&m.set(C,(m.get(C)??0)+1)}let d=new Map;for(let[v,C]of m){if(C<3)continue;let S=`@p${d.size+1}`,I=`TITLE prefix ${S} = ${JSON.stringify(v).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}`;C*(Buffer.byteLength(v)-Buffer.byteLength(S)-1)<=Buffer.byteLength(I)+1||(d.set(v,S),l.push(I))}let g=o[0].cells[4].slice(10),T=o.length>=3&&Wt.test(o[0].cells[4])&&o.every(({cells:v})=>Wt.test(v[4])&&v[4].slice(10)===g)&&o.length*g.length>`CREATED suffix = ${JSON.stringify(g)}`.length+1;if(T&&l.push(`CREATED suffix = ${JSON.stringify(g)}`),l.length===0)return a;for(let{index:v,cells:C}of o){let S=u.get(C[1]),I=/^((?:\S+\s+){4})\S/.exec(C[1])?.[1],N=I?d.get(I):void 0;r[v]=C.map((M,Z)=>Z===1?S??(N?`${N}:${M.slice(I.length)}`:M):Z===4&&T?M.slice(0,10):M).join(" ")}let O=[...r,"",...l].join(`
24
- `)+n;return Buffer.byteLength(O)<Buffer.byteLength(a)?O:a}function Yt(t,e,n){if(e!=="compact"&&e!=="minimal")return t;let r=t;if(/^[ \t\r\n]*[\[{]/.test(t)){try{JSON.parse(t)}catch{return t}r=pc(t,e==="minimal")}else n==="gh"&&(r=hc(t,e==="minimal"));return Buffer.byteLength(r)<Buffer.byteLength(t)?r:t}var fc,mc,Wt,qr=_(()=>{"use strict";fc=/^ID {2,}TITLE {2,}BRANCH {2,}STATE {2,}CREATED *$/,mc=/^… \([1-9]\d* more lines omitted\)$/,Wt=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/});function Xr(t){if(Buffer.byteLength(t)<2048||xt(t)||yc.test(t))return t;let e=t.split(`
25
- `),n=[];for(let r=0;r<e.length;){let s=e[r],i=r+1;if(gc.test(s))for(;i<e.length&&e[i]===s;)i+=1;let o=i-r,a=`[tkr: previous log line repeated ${o-1} additional times]`;if(o>=3&&Buffer.byteLength(a)+1<(o-1)*(Buffer.byteLength(s)+1))n.push(s,a);else for(let c=r;c<i;c+=1)n.push(s);r=i}return n.join(`
26
- `)}var gc,yc,Qr=_(()=>{"use strict";Qe();gc=/^(?:\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|$)/,yc=/^\[tkr: previous log line repeated \d+ additional times\]$/m});function Jt(t){es=t}async function _c(t,e){let n=await rr();return _t(t,n.values(),e,n)}async function ts(t,e,n,r={}){let s=Buffer.byteLength(e,"utf8"),{exitCode:i,yolo:o=!1,resolver:a,...c}=r,u=Ue(Kr(t.startsWith("bash-tool: ")?t.slice(11):t)),l=i!=null&&i!==0&&!(i===1&&bc.test(u)),m=a??es??_c,d=null;for(let $ of Gr(t))if(d=await m($,n),d)break;!d&&s>=vc&&!Ht.test(t)&&(d=await m(`bash-tool: ${t}`,n));let g=Kt(t.startsWith("bash-tool: ")?t.slice(11):t),T=d?.slug==="git-log"&&g!=null&&/^git\s+log(?:\s|$)/.test(Ue(g)),O=i==null&&(T?/^(?:fatal|error):/im.test(Ae(e)):Ur(e)),v=d?.transform==="smart-read"&&s<=2048&&(e.endsWith(`
27
- `)?e.slice(0,-1):e).split(`
28
- `).length<=60,C=s<=16384&&g!=null&&/^(?:head|tail)(?:\s|$)|^sed\s+(?:(?:-[Eru]+|--(?:regexp-extended|unbuffered|sandbox))\s+)*(?:-[Enruse]*n[Enruse]*(?:\s|$)|--(?:quiet|silent)(?:\s|$))/.test(Ue(g)),S=d?.transform==="smart-read"&&s<=16384&&(c.verbosity??"normal")==="normal"&&c.smartCode!==!0;if(!o&&(S||C||v&&c.smartCode!==!0))return{output:e,filterId:d?.slug??null,rawBytes:s,filteredBytes:s,debugBypass:l||O,droppedTail:null};if(!d||(l||O)&&d.preserve_exact&&!o)return{output:e,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:l||O,...o?{droppedTail:null}:{}};let I=$=>{if(!o)return $;let Oe=$.filteredBytes>s||s>0&&$.output.length===0?e:$.output,Ie=!$.debugBypass&&!d?.preserve_exact?Yt(Oe,"minimal",$.filterId??""):Oe,ot=Gt(Ie)===Ie?Ie:Gt(Oe);return{...$,output:ot,filteredBytes:Buffer.byteLength(ot,"utf8"),droppedTail:null}};if(l||O){let $=o?zr(e,{...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_ansi&&!d.preserve_exact?Ae(e):e;return!o&&c.verbosity==="minimal"&&d.transform!=="smart-read"&&($=Xr($)),!o&&d.slug==="pytest"&&(c.verbosity==="compact"||c.verbosity==="minimal")&&/^={3,} test session starts ={3,}\r?$/m.test($)&&/^={3,} FAILURES ={3,}\r?$/m.test($)&&($=$.replace(/^([=_])\1{2,} (.+?) \1{3,}(\r?)$/gm,"$2$3")),I({output:$,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength($,"utf8"),debugBypass:!0})}let{text:N,droppedTail:M}=Vt(e,d,o?{...c,verbosity:"minimal",...d.transform==="smart-read"?{smartCode:!0}:{}}:c),Z=!o&&!d.preserve_exact?Yt(N,c.verbosity,d.slug):N,Ce=Buffer.byteLength(Z,"utf8");return e.trim().length>0&&Ce>=s?I({output:e,filterId:d.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):I({output:Z,filterId:d.slug,rawBytes:s,filteredBytes:Ce,debugBypass:!1,droppedTail:M})}var es,bc,vc,qt=_(()=>{"use strict";sr();jt();Zr();Vr();Wr();Jr();bt();qr();Qr();es=null;bc=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,vc=2048});import{chmod as xc,mkdir as kc,readFile as lm,writeFile as Ec,stat as um,readdir as dm,rm as ns,rename as wc}from"node:fs/promises";import{createHash as rs}from"node:crypto";function Rc(t,e,n=process.env){let r=Number(n[t]);return Number.isFinite(r)&&r>0?r:e}async function ss(t,e,n=process.env){if(re()||!Tc.test(t)||Buffer.byteLength(e,"utf8")>Rc("TOKMIZER_CCR_ENTRY_MAX_BYTES",Sc,n))return!1;let r=Tn(t),s=`${r}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{return await kc(Ot(),{recursive:!0}),re()?!1:(await Ec(s,e,{mode:384}),await xc(s,384),re()?(await ns(s,{force:!0}),!1):(await wc(s,r),!0))}catch{try{await ns(s)}catch{}return!1}}async function is(t,e,n=process.env){let r=n.TOKMIZER_CCR_DISABLED;if(r==="1"||r==="true"||re()||!t)return e;let s=rs("sha256").update(t).digest("hex").slice(0,16),i=`
29
- [tkr restore ${s}]`;return Buffer.byteLength(t,"utf8")<=Buffer.byteLength(i,"utf8")||!await ss(s,t,n)?e:`${e}${i}`}async function os(t,e,n=process.env){let r=n.TOKMIZER_CCR_DISABLED;if(r==="1"||r==="true"||re()||!t)return e;let s=rs("sha256").update(t).digest("hex").slice(0,16);return await ss(s,t,n)?`${e}
30
- [tkr restore ${s}]`:e}var hm,gm,Sc,Tc,as=_(()=>{"use strict";F();$t();hm=10080*60*1e3,gm=100*1024*1024,Sc=2*1024*1024,Tc=/^[0-9a-f]{8,64}$/i});function Ac(){let t=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(t)&&t>0?t:6048e5}function cs(t,e=Date.now()){let n=t.lastHeartbeatOkAt;if(typeof n=="number"&&e-n>Ac())return!0;if(t.subEndsAt){let r=Date.parse(t.subEndsAt);if(Number.isFinite(r)&&e>r)return!0}return!1}function ls(t,e=Date.now()){return t.plan}var us=_(()=>{"use strict"});function et(t){let e=t;for(let[n,r]of Cc)e=e.replace(n,r);return e}var Cc,Xt=_(()=>{"use strict";Cc=[[/(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 xm,randomUUID as Oc}from"node:crypto";import{readFile as ds,writeFile as fs,mkdir as Ic}from"node:fs/promises";async function Qt(){try{let n=(await ds(He(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(n))return n}catch{}await Ic(A(),{recursive:!0});let t=Oc();try{return await fs(He(),t,{mode:384,flag:"wx"}),t}catch{try{let e=(await ds(He(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(e))return e}catch{}return await fs(He(),t,{mode:384}),t}}var en=_(()=>{"use strict";F()});import{createRequire as $c}from"node:module";function Nc(){for(let t of["../package.json","../../package.json"])try{let e=Dc(t).version;if(typeof e=="string"&&e)return e}catch{}return"0.0.0"}function ms(t,e){if(!t||!e)return!1;let n=t.split(".").map(s=>parseInt(s,10)),r=e.split(".").map(s=>parseInt(s,10));for(let s=0;s<3;s+=1){let i=n[s]??0,o=r[s]??0;if(Number.isNaN(i)||Number.isNaN(o))return!1;if(i<o)return!0;if(i>o)return!1}return!1}var Dc,kt,tn=_(()=>{"use strict";Dc=$c(import.meta.url);kt=Nc()});var ps,hs=_(()=>{"use strict";ps=`-----BEGIN PUBLIC KEY-----
36
+ `:"",r=(n?e.slice(0,-1):e).split(`
37
+ `),s=r.findIndex(_=>im.test(_));if(s>=0&&r.slice(0,s).some(_=>_!==""&&!/^Showing \d+ of \d+ (?:open|closed|all) pull requests in \S+$/.test(_)))return e;let o=s>=0?[...r[s].matchAll(/\S+/g)].map(_=>_.index):[],i=[];for(let _=s+1;_<r.length;_+=1){let O=r[_];if(am.test(O))continue;if(/…|\.\.\./.test(O))return e;let T;if(s>=0){if(/[^\x20-\x7e]/.test(O))return e;let I=o.map((D,L)=>O.slice(D,o[L+1]));if(I.slice(0,-1).some(D=>D[0]===" "||!D.endsWith(" "))||(T=I.map(D=>D.replace(/ +$/,"")),!/^#\d+$/.test(T[0])||!/^\S+$/.test(T[2])||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(T[3])||!/^\d+(?:s|m|h|d|w|mo|y)$/.test(T[4])))return e}else if(T=O.split(" "),T.length!==5||!/^\d+$/.test(T[0])||!T[1]||!T[2]||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(T[3])||!wr.test(T[4])||!Number.isFinite(Date.parse(T[4])))return e;if(T.some(I=>/[\u0000-\u001f\u007f]/.test(I)))return e;i.push({index:_,cells:T})}if(i.length===0)return e;s>=0&&(r[s]="ID TITLE BRANCH STATE CREATED");for(let _ of i)r[_.index]=_.cells.join(" ");let a=r.join(`
38
+ `)+n;if(!t)return a;let l=new Map;for(let{cells:_}of i)l.set(_[1],(l.get(_[1])??0)+1);let u=new Map,c=[];for(let[_,O]of l){if(_.length<40||O<3||_.trim().split(/\s+/).length<8)continue;let T=`@${u.size+1}`,I=JSON.stringify(_).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),D=`TITLE ${T} = ${I}`;O*(Buffer.byteLength(_)-Buffer.byteLength(T))<=Buffer.byteLength(D)+1||(u.set(_,T),c.push(D))}let d=new Map;for(let{cells:_}of i){if(u.has(_[1]))continue;let O=/^((?:\S+\s+){4})\S/.exec(_[1])?.[1];O&&O.length>=24&&d.set(O,(d.get(O)??0)+1)}let f=new Map;for(let[_,O]of d){if(O<3)continue;let T=`@p${f.size+1}`,I=`TITLE prefix ${T} = ${JSON.stringify(_).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}`;O*(Buffer.byteLength(_)-Buffer.byteLength(T)-1)<=Buffer.byteLength(I)+1||(f.set(_,T),c.push(I))}let m=i[0].cells[4].slice(10),h=i.length>=3&&wr.test(i[0].cells[4])&&i.every(({cells:_})=>wr.test(_[4])&&_[4].slice(10)===m)&&i.length*m.length>`CREATED suffix = ${JSON.stringify(m)}`.length+1;if(h&&c.push(`CREATED suffix = ${JSON.stringify(m)}`),c.length===0)return a;for(let{index:_,cells:O}of i){let T=u.get(O[1]),I=/^((?:\S+\s+){4})\S/.exec(O[1])?.[1],D=I?f.get(I):void 0;r[_]=O.map((L,me)=>me===1?T??(D?`${D}:${L.slice(I.length)}`:L):me===4&&h?L.slice(0,10):L).join(" ")}let S=[...r,"",...c].join(`
39
+ `)+n;return Buffer.byteLength(S)<Buffer.byteLength(a)?S:a}function pm(e){let t=fm.exec(e[0]??"");if(!t)return e;let n=mm.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 hm(e){let t=e.endsWith(`
40
+ `)?`
41
+ `:"",n=pm((t?e.slice(0,-1):e).split(`
42
+ `)),r=null,s=[];for(let o of n){if(Object.hasOwn(Ci,o)){r=Ci[o];continue}if(!o.startsWith(" ")){r=null,s.push(o);continue}if(r==="untracked"){s.push(`?? ${o.slice(1)}`);continue}let i=r?dm.exec(o):null;if(!i)return e;let a=cm[i[1]];s.push(r==="staged"?`${a} ${i[2]}`:` ${a} ${i[2]}`)}return s.join(`
43
+ `)+t}function ym(e){let t=e.split(`
44
+ `);for(let n=0;n<t.length;n+=1){if(!gm.test(t[n]))continue;let r=n;for(;r>0&&Oi.test(t[r-1]);)r-=1;for(let s=r;s<n;s+=1)t[s]=t[s].replace(Oi," $1 | $2")}return t.join(`
45
+ `)}function km(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 _m(e){let t=e.endsWith(`
46
+ `)?`
47
+ `:"",n=(t?e.slice(0,-1):e).split(`
48
+ `),r=[],s=[];for(let u of n)u.startsWith("WARNING:")?r.includes(u)||r.push(u):s.push(u);let o=s.findIndex(u=>Ii.test(u));if(o<0)return[...r,...s].join(`
49
+ `)+t;let i=s[o],a=[...i.matchAll(/\S+/g)].map(u=>u.index),l=[...r,...s.slice(0,o),i.split(/ +/).join(" ")];for(let u of s.slice(o+1)){if(Pi.test(u)){l.push(u);continue}let c=u.startsWith(" ")||/[^\x20-\x7e]/.test(u)?null:km(u,a);if(!c)return[...r,...s].join(`
50
+ `)+t;l.push(c.join(" "))}return l.join(`
51
+ `)+t}function xm(e){let t=e.endsWith(`
52
+ `)?`
53
+ `:"",n=(t?e.slice(0,-1):e).split(`
54
+ `),r=n.findIndex(i=>Ii.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(Pi.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(`
55
+ `)+t}function Er(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=lm(e,t==="minimal")}else n==="gh"?r=um(e,t==="minimal"):n==="git-status"?r=hm(e):n==="gcloud"?r=_m(e):n==="oc"?r=xm(e):n==="git-diff"?r=ym(e):n==="tofu-plan"&&(r=e.replace(bm,"$1 = "));return Buffer.byteLength(r)<Buffer.byteLength(e)?r:e}var im,am,wr,Ci,cm,dm,fm,mm,Oi,gm,bm,Ii,Pi,Ni=y(()=>{"use strict";im=/^ID {2,}TITLE {2,}BRANCH {2,}STATE {2,}CREATED *$/,am=/^… \([1-9]\d* more lines omitted\)$/,wr=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/;Ci={"Changes to be committed:":"staged","Changes not staged for commit:":"unstaged","Untracked files:":"untracked"},cm={modified:"M",deleted:"D","new file":"A",renamed:"R",copied:"C",typechange:"T"},dm=/^\t(modified|deleted|new file|renamed|copied|typechange):\s+(.+)$/,fm=/^On branch (\S+)$/,mm=/^Your branch is (?:up to date with '([^']+)'|(ahead|behind)(?: of)? '([^']+)' by (\d+) commits?(?:, and can be fast-forwarded)?)\.$/;Oi=/^ (\S.*?) +\| +(\d+(?: [+-]+)?|Bin .*)$/,gm=/^ \d+ files? changed(?:, \d+ insertions?\(\+\))?(?:, \d+ deletions?\(-\))?$/;bm=/^( *(?:[~+-] +)?(?:[\w.-]+|"[^"\n]*")) {2,}= /gm,Ii=/^[A-Z][A-Z0-9_]*(?: +[A-Z][A-Z0-9_]*)+$/,Pi=/^… \(\d+ more lines omitted\)$/});function Di(e){if(Buffer.byteLength(e)<2048||nn(e)||wm.test(e))return e;let t=e.split(`
56
+ `),n=[];for(let r=0;r<t.length;){let s=t[r],o=r+1;if(vm.test(s))for(;o<t.length&&t[o]===s;)o+=1;let i=o-r,a=`[tkr: previous log line repeated ${i-1} additional times]`;if(i>=3&&Buffer.byteLength(a)+1<(i-1)*(Buffer.byteLength(s)+1))n.push(s,a);else for(let l=r;l<o;l+=1)n.push(s);r=o}return n.join(`
57
+ `)}var vm,wm,Mi=y(()=>{"use strict";$t();vm=/^(?:\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}:\d{2}(?:\.\d+)?Z?\s+)?(?:\[(?:DEBUG|TRACE|INFO|WARN|WARNING|ERROR|FATAL)\]|DEBUG|TRACE|INFO|WARN|WARNING|ERROR|FATAL)(?::|\s|$)/,wm=/^\[tkr: previous log line repeated \d+ additional times\]$/m});function Fi(e){return Sm.test(e)}function Li(e){let t=e.endsWith(`
58
+ `),n=(t?e.slice(0,-1):e).split(`
59
+ `),r=0;for(let s of n)if(s.trim()!==""){if(!Em.test(s))return null;r+=1}return r<2?null:`tsc: 0 errors, ${r} files${t?`
60
+ `:""}`}var Em,Sm,ji=y(()=>{"use strict";Em=/^(?:[A-Za-z]:)?[^\s"'<>|]+\.(?:[cm]?[jt]sx?|json)$/,Sm=/--(?:listFiles|listFilesOnly|listEmittedFiles|showConfig|explainFiles|traceResolution)(?:\s|=|$)/});function it(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 dn(e){return Tm.test(e)}function fn(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 Sr(e,t=()=>!1){let n=[],r=null,s=-1,o=!1;for(let d of e){let f=d.trimEnd(),m=f.trim();if(!m||Cm.test(f)||/^─+$/.test(m))continue;if(t(m)){o=!0,n.push({kind:"out",text:m.replace(/\s*─+$/,"")});continue}if(o){n.push({kind:"out",text:m});continue}let h=Rm.exec(f)??Am.exec(f);if(h){s=-1;let _=h[1].replace(/^file:\/\//,"");dn(_)||(r=fn(n,`${_}:${h[2]}${h[3]?`:${h[3]}`:""}`,r));continue}let S=$m.exec(f);if(S){s=-1,n.push({kind:"code",text:m,num:Number(S[2]),pointed:S[1]===">"});continue}if(Om.test(m)){s=n.length,n.push({kind:"legend",text:m});continue}n.push(s>=0?{kind:"diff",text:f,segment:s}:{kind:"msg",text:m})}let i=n.some(d=>d.kind==="code"&&d.pointed),a=r?Number(/:(\d+)(?::\d+)?$/.exec(r)?.[1]):NaN,l=!1,u=n.filter(d=>{if(d.kind!=="code")return!0;let f=!l&&(i?d.pointed===!0:d.num===a);return f&&(l=!0),f}),c=new Map;for(let d of u){if(d.kind!=="diff")continue;let f=d.text.length-d.text.trimStart().length;c.set(d.segment,Math.min(c.get(d.segment)??f,f))}for(let d of u)d.kind==="diff"&&(d.text=d.text.slice(c.get(d.segment)??0)),d.kind==="code"&&(d.text=d.text.replace(/^>\s*/,""));return{body:u,loc:r}}function G(e,t=!1){return{text:e.trim().replace(/\s{2,}/g," "),minor:t}}function Im(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=it(e,/^\s*Tests\s+(\d+) failed/),n=[];for(let l of e)/^\s*Test Files\s{2,}\S/.test(l)?n.push(G(l,!0)):/^\s*(?:Tests|Errors|Type Errors)\s{2,}\S/.test(l)&&n.push(G(l));let r=[],s=0,o=[],i=[],a=()=>{if(o.length){let{body:l,loc:u}=Sr(i);for(let c of o)c.body=l,c.loc=u}o=[],i=[]};for(let l of e){let u=l.trim(),c=/^ ?FAIL\s+(\S.*?)\s*$/.exec(l);if(c){i.some(_=>_.trim())&&a();let f=c[1],m=/^(\S+) \[ \S+ \]$/.exec(f),h=f.split(" > "),S=m?{file:m[1],name:"(suite)",loc:null,body:[]}:h.length>1?{file:h[0],name:h.slice(1).join(" > "),loc:null,body:[]}:{file:null,name:f,loc:null,body:[]};m||(s+=1),r.push(S),o.push(S);continue}let d=/^⎯+ (Unhandled [A-Za-z ]+?) ⎯+$/.exec(u);if(d){a();let f={file:null,name:d[1],loc:null,body:[]};r.push(f),o.push(f);continue}if(/^⎯{3,}/.test(u)||/^(?:Test Files|Tests|Start at|Duration|Errors)\s{2,}/.test(u)){a();continue}o.length&&i.push(l)}if(a(),s===0){let l=null;for(let u of e){let c=/^\s*[❯✓×✗]\s+(\S+)\s+\(\d+ tests?\b/.exec(u);if(c){l=c[1];continue}let d=/^\s+[×✗]\s+(.+?)(?:\s+\d+(?:\.\d+)?m?s)?$/.exec(u);d&&(r.push({file:l,name:d[1],loc:null,body:[]}),s+=1)}}return{failures:r,summary:n,reported:t,counted:s}}function Pm(e){if(!e.some(c=>/^\s{2}● (?!Console$)/.test(c))||!e.some(c=>/^Tests:\s/.test(c)||/^(?:FAIL|PASS)\s+\S/.test(c)))return null;let t=it(e,/^Tests:\s+(\d+) failed/),n=[];for(let c of e)/^Test Suites:\s/.test(c)?n.push(G(c,!0)):(/^Tests:\s/.test(c)||/^Snapshots:\s/.test(c)&&/failed|obsolete/.test(c))&&n.push(G(c));let r=[],s=new Set,o=0,i=null,a=null,l=[],u=()=>{if(a){let c=`${a.file}\0${a.name}`;if(!s.has(c)){s.add(c);let{body:d,loc:f}=Sr(l);a.body=d,a.loc=f,r.push(a),a.name!=="Test suite failed to run"&&(o+=1)}}a=null,l=[]};for(let c of e){let d=/^(?:FAIL|PASS)\s+(\S+)/.exec(c);if(d){u(),i=d[1];continue}if(/^(?:Summary of all failing tests|Test Suites:|Tests:|Snapshots:|Time:|Ran all test suites)/.test(c)){u();continue}let f=/^\s{2}● (.+)$/.exec(c);if(f){u(),f[1].trim()!=="Console"&&(a={file:i,name:f[1].trim(),loc:null,body:[]});continue}a&&l.push(c)}return u(),{failures:r,summary:n,reported:t,counted:o}}function Ji(e,t,n,r,s){let o=[],i=new Map,a=null;for(let l=t;l<n;l++){let u=e[l],c=/^\s{2}\d+\) (.+)$/.exec(u);if(c){let{name:d,used:f}=r(c[1],e.slice(l+1,Math.min(n,l+8)));l+=f,a=i.get(d)??null,a||(a=[],i.set(d,a),o.push({file:null,name:d,loc:null,body:[]}));continue}/^\s+Retry #\d+ ─*/.test(u)||a&&a.push(u)}for(let l of o){let{body:u,loc:c}=Sr(i.get(l.name),s);l.body=u,l.loc=c}return o}function Nm(e){let t=e.findIndex(o=>/^\s*\d+ failing$/.test(o));if(t<0)return null;let n=Number(/(\d+)/.exec(e[t])[1]),r=e.filter(o=>/^\s*\d+ (?:passing|failing|pending)(?: \(\S+\))?$/.test(o)).map(o=>G(o.replace(/ \(\S+\)\s*$/,""))),s=Ji(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 Dm(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=it(e.slice(r),/^\s{2}(\d+) failed$/),o=e.slice(r).filter(a=>/^\s{2}\d+ (?:failed|flaky|passed|skipped|interrupted|did not run)(?: \(.+\))?$/.test(a)).map(a=>G(a.replace(/ \([\d.]+m?s\)\s*$/,""))),i=Ji(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 Mm(e){if(!e.some(i=>/^test result: /.test(i))||!e.some(i=>/^---- .+ stdout ----$/.test(i)))return null;let t=it(e,/^test result: FAILED\. \d+ passed; (\d+) failed/),n=[];for(let i of e)/^test result: FAILED/.test(i)?n.push(G(i.replace(/; finished in [\d.]+m?s\s*$/,""))):/^test result: ok/.test(i)?n.push(G(i.replace(/; finished in [\d.]+m?s\s*$/,""),!0)):/^error(?:\[\w+\])?: /.test(i)&&n.push(G(i));let r=[],s=null,o=[];for(let i of e){let a=/^---- (.+?) stdout ----$/.exec(i);if(a){s={f:{file:null,name:a[1],loc:null,body:[]},lines:[]},o.push(s),r.push(s.f);continue}if(/^failures:$|^test result: |^running \d+ tests?$/.test(i)){s=null;continue}s&&s.lines.push(i)}for(let{f:i,lines:a}of o){let l=!1,u=!1;for(let c of a){let d=c.trimEnd(),f=d.trim();if(!f)continue;let m=/^thread '.+?'(?: \(\d+\))? panicked at (?:'(.*)', )?(\S+?):(\d+):(\d+):?$/.exec(f);if(m){l=!0,i.loc??=`${m[2]}:${m[3]}:${m[4]}`,m[1]&&i.body.push({kind:"msg",text:m[1]});continue}if(!/^note: run with `RUST_BACKTRACE/.test(f)){if(/^stack backtrace:$/.test(f)){u=!0;continue}if(u){let h=/^at\s+(\S+?):(\d+):(\d+)$/.exec(f);h&&!dn(h[1])&&(i.loc=fn(i.body,`${h[1]}:${h[2]}:${h[3]}`,i.loc));continue}i.body.push(l?{kind:"msg",text:d}:{kind:"out",text:d})}}}return{failures:r,summary:n,reported:t,counted:r.length}}function Fm(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 u=/^\s*--- FAIL: (\S+) \([\d.]+m?s\)/.exec(a);if(u){i={file:null,name:u[1],loc:null,body:[]},r.set(i,[...t.get(u[1])??[]]),n.push(i),o=null;continue}if(/^\s*--- (?:PASS|SKIP): /.test(a)){i=null,o=null;continue}let c=/^(FAIL|ok)\s+(\S+)(?:\s+(?:[\d.]+m?s|\(cached\)|\[[^\]]+\]))?/.exec(a);if(c&&/\t|\s{2,}|\[/.test(a)){s.push(G(a.replace(/\s+[\d.]+m?s\s*$/,""),c[1]==="ok")),i=null,o=null;continue}if(!/^(?:FAIL|PASS)$/.test(a.trim())){if(/^exit status \d+$/.test(a)){s.push(G(a,!0));continue}if(i)r.get(i).push(a);else if(o){let d=t.get(o)??[];d.push(a),t.set(o,d)}else(/^#\s\S+$/.test(a)||/^\S+\.go:\d+(?::\d+)?: /.test(a))&&s.push(G(a))}}for(let a of n){for(let l of r.get(a)){let u=l.trim();if(!u||/^goroutine \d+ \[/.test(u))continue;let c=/^(\/\S+\.go|\S+\.go):(\d+)(?: \+0x[0-9a-f]+)?$/.exec(u);if(c){dn(c[1])||(a.loc=fn(a.body,`${c[1]}:${c[2]}`,a.loc));continue}/^(?:[\w.*/()-]+)\(.*\)$/.test(u)||/^created by /.test(u)||a.body.push({kind:"msg",text:u})}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 Bi(e,t){let n=[],r=null,s=!1,o=!1;for(let l of e){let u=l.trimEnd(),c=u.trim();if(/^-{3,} Captured .+ -{3,}$/.test(c)){s=!0;continue}if(s){c&&n.push({kind:"out",text:u});continue}if(/^E(?:\s|$)/.test(u)){u.slice(1).trim()&&n.push({kind:"msg",text:u});continue}let d=/^(\S+?\.py):(\d+):(?: (.*))?$/.exec(u);if(d){if(!dn(d[1])){let f=d[3]?.startsWith("in ")?` ${d[3]}`:"";r=fn(n,`${d[1]}:${d[2]}${r===null?"":f}`,r)}continue}/^>\s/.test(u)&&!o&&(o=!0,n.push({kind:"code",text:c.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 zi(e,t){return t.push(G(e.replace(/ in [\d.]+s(?: \([\d:]+\))?$/,""))),(it([e],/(\d+) failed/)??0)+(it([e],/(\d+) errors?\b/)??0)}function Lm(e){if(!e.some(d=>/^={3,} (?:FAILURES|ERRORS|short test summary info) ={3,}$/.test(d)||Hi.test(d)))return null;let t=new Map,n=[],r=[],s="",o=null,i=null,a=null;for(let d of e){let f=/^={3,} (.+?) ={3,}$/.exec(d);if(f){s=f[1],o=null,i=null,!/^(?:FAILURES|ERRORS|short test summary info|warnings summary|test session starts|PASSES)$/.test(s)&&/\b\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)\b|no tests ran/.test(s)&&(a=zi(s,r));continue}if(/^(?:\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)(?:, |\s|$))+(?:in [\d.]+s(?: \([\d:]+\))?)?$/.test(d.trim())){a=zi(d.trim(),r);continue}if(/^!{3,} .+ !{3,}$/.test(d)){r.push(G(d.replace(/^!+ | !+$/g,"")));continue}let m=/^_{3,} (.+?) _{3,}$/.exec(d);if(m&&(s==="FAILURES"||s==="ERRORS")){o=[],t.set(m[1],o);continue}let h=Hi.exec(d);if(h&&s!=="FAILURES"&&s!=="ERRORS"){o=null;let S={kind:h[1],id:h[2],msg:h[3]??null,inline:[]};n.push(S),i=S;continue}if(o){o.push(d);continue}i&&/^E(?:\s|$)/.test(d)?i.inline.push(d):i&&d.trim()&&(i=null)}let l=new Set,u=[],c=new Set;for(let d of n){if(c.has(d.id))continue;c.add(d.id);let[f,...m]=d.id.split("::"),h=m.join("."),S=[h,`ERROR collecting ${d.id}`,`ERROR at setup of ${h}`,`ERROR at teardown of ${h}`].find(I=>I&&t.has(I)&&!l.has(I));S&&l.add(S);let{body:_,loc:O}=Bi(S?t.get(S):d.inline,d.msg),T=m.length?m.join("::"):"(collection)";u.push({file:f,name:d.kind==="ERROR"?`${T} [error]`:T,loc:O,body:_})}for(let[d,f]of t){if(l.has(d))continue;let{body:m,loc:h}=Bi(f,null);u.push({file:h?h.replace(/:\d+$/,""):null,name:d,loc:h,body:m})}if(u.length===0)for(let d of e){let f=/^(\S+?)::(\S+) (FAILED|ERROR)\b/.exec(d);f&&u.push({file:f[1],name:f[3]==="ERROR"?`${f[2]} [error]`:f[2],loc:null,body:[]})}return{failures:u,summary:r,reported:a,counted:u.length}}function Hm(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 Bm(e,t,n){let r=Zi[n],s=e.body.filter(f=>f.kind==="msg");if(!t)return s.length?[` ${s[0].text}`]:[];let o=e.body.filter(f=>f.kind==="diff"),i=r.trimDiff&&Hm(o,s.map(f=>f.text).join(`
61
+ `)),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},u={msg:r.msg,legend:1/0,diff:r.diff,frame:r.frames,code:r.code?1:0,out:r.out},c=[];for(let f of e.body){if((f.kind==="diff"||f.kind==="legend")&&i||f.kind==="diff"&&r.changedOnly&&!/^[-+]/.test(f.text.trim()))continue;let m=f.kind==="legend"?"diff":f.kind;if(a[m]>=u[m]&&f.kind!=="legend"){l[m]+=1;continue}f.kind!=="legend"&&(a[m]+=1),c.push(f.kind==="frame"?` at ${f.text}`:` ${f.text}`)}let d=l.msg+l.diff+(n==="normal"?l.frame+l.out:0);return d>0&&c.push(` ${ot(d)}`),c}function zm(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 Um(e){if(!e.loc)return`\xD7 ${e.name}`;let t=e.file&&e.loc.startsWith(`${e.file}:`)?e.loc.slice(e.file.length):e.loc;return`\xD7 ${e.name} ${t}`}function Zm(e,t){let n=Zi[t],r=new Map,s=e.failures.length>n.bulk,o=e.failures.map(u=>{let c=u.body.find(m=>m.kind==="msg")?.text??"",d=(r.get(c)??0)+1;r.set(c,d);let f=c===""||!s||d<=n.repeats;return{f:u,full:f,body:Bm(u,f,t).join(`
62
+ `)}}),i=[],a,l=null;for(let u=0;u<o.length;u++){let c=o[u];c.f.file!==a&&(a=c.f.file,a&&i.push(a));let d=u;if(!c.full&&c.f.loc===null)for(;d+1<o.length;){let m=o[d+1];if(m.full||m.f.loc!==null||m.f.file!==c.f.file||m.body!==c.body)break;d+=1}i.push(d>u?`\xD7 ${zm(o.slice(u,d+1).map(m=>m.f.name))}`:Um(c.f)),u=d;let f=o[u+1];f&&f.f.file===c.f.file&&f.body===c.body||c.body&&(c.body===l&&t!=="normal"?i.push(" \u2191 same error"):(i.push(c.body),l=c.body))}for(let u of e.summary)(!u.minor||t==="normal")&&i.push(u.text);return`${i.join(`
63
+ `)}
64
+ `}function Gi(e,t="normal"){let n=ie(e).split(`
65
+ `).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 jm){let s=r(n);if(!(!s||s.failures.length===0))return s.counted===0||s.reported!==null&&s.counted<s.reported?null:Zm(s,t)}return null}var Ui,Zi,Tm,Rm,Am,$m,Cm,Om,Hi,jm,Ki=y(()=>{"use strict";Rt();dr();Ui=/^(?:(?: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|$)/,Zi={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}},Tm=/node_modules|^node:|^internal\/|site-packages|dist-packages|\/lib\/python\d|\/rustc\/|\.cargo\/registry|\.rustup\/|\/go\/src\/|\/go\/pkg\/mod\/|\/libexec\/src\/|<anonymous>/,Rm=/^\s*at\s+(?:.*?\()?((?:file:\/\/)?[^\s()]+?):(\d+)(?::(\d+))?\)?\s*$/,Am=/^\s*❯\s+(?:\S+\s+)?([^\s]+?):(\d+)(?::(\d+))?\s*$/,$m=/^\s*(>)?\s*(\d+)\s*\|/,Cm=/^\s*\|\s*[\^~]+\s*$/,Om=/^(?:- Expected|\+ Received|- Snapshot|\+ expected - actual|\+ actual - expected|- expected \+ actual)(?:\s+[-+]\s*\d+)?$/;Hi=/^(FAILED|ERROR) (\S+?\.py(?:::\S+)?)(?: - (.*))?$/;jm=[Mm,Fm,Lm,Pm,Im,Nm,Dm]});import{createCipheriv as Wk,createDecipheriv as Jm,hkdfSync as Gm,randomBytes as Yk}from"node:crypto";function Wm(e){return Buffer.from(Gm("sha256",Buffer.from(e,"utf8"),Km,Vm,32))}function mn(e,t){let n=Wm(t),r=Buffer.from(e,"base64url"),s=r.subarray(0,12),o=r.subarray(12,28),i=r.subarray(28),a=Jm("aes-256-gcm",n,s);return a.setAuthTag(o),Buffer.concat([a.update(i),a.final()]).toString("utf8")}var Km,Vm,Tr=y(()=>{"use strict";Km=Buffer.from("tokmizer-bundle-enc-v1"),Vm=Buffer.from("rules-bundle")});import{createRequire as Ym}from"node:module";function Xm(){let e="0.9.58";if(e)return e;for(let t of["../package.json","../../package.json"])try{let n=qm(t).version;if(typeof n=="string"&&n)return n}catch{}return"0.0.0"}function Vi(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 qm,Ct,pn=y(()=>{"use strict";qm=Ym(import.meta.url);Ct=Xm()});var Wi,Yi=y(()=>{"use strict";Wi=`-----BEGIN PUBLIC KEY-----
31
66
  MCowBQYDK2VwAyEAj/kMlXlhTIGHRKxOKMuGFa1S1ybxxwgdYcAE0YM9fgU=
32
67
  -----END PUBLIC KEY-----
33
- `});function gs(){return((process.env.TOKMIZER_DEV==="1"?process.env.TOKMIZER_RESP_SIGNING_PUBLIC_KEY_PEM:void 0)??ps).replace(/\\n/g,`
34
- `)}var Om,nn=_(()=>{"use strict";tn();hs();Om=300*1e3});import{readFile as Pc,writeFile as Dm,mkdir as Nm,chmod as Pm,rm as Mm,rename as Lm,readdir as Fm}from"node:fs/promises";import{join as Mc}from"node:path";async function tt(){try{let t=await Pc(Mc(A(),Lc),"utf8"),e=JSON.parse(t);return Ze.parse({...ys,...e})}catch{return ys}}var Lc,ys,Zm,Et=_(()=>{"use strict";Re();F();Lc="settings-cache.json",ys=Ze.parse({}),Zm=Ze.partial().extend({filters:Ze.shape.filters.removeDefault().partial().optional()})});import{join as _s}from"node:path";import{appendFileSync as jc,chmodSync as Bc,existsSync as zc,mkdirSync as Zc,readFileSync as Gm,renameSync as Wm,rmdirSync as Ym,statSync as Uc,unlinkSync as Jm,utimesSync as qm,writeFileSync as Xm}from"node:fs";function bs(){return _s(A(),"spool")}function Hc(t){return _s(bs(),`${t}.jsonl`)}function wt(t,e){try{Zc(bs(),{recursive:!0,mode:448});let n=Hc(t);if(zc(n)&&Uc(n).size>=Vc)return;jc(n,JSON.stringify(e)+`
35
- `,{mode:384}),Bc(n,384)}catch{return}}var Vc,rn=_(()=>{"use strict";F();lt();en();nn();Et();Vc=512*1024});function vs(t){let e=t.toLowerCase();return e.startsWith("git")||Jc.has(e)}function sn(t){let e=t.trim().split(/\s+/).filter(a=>a.length>0),n=0;for(;n<e.length&&Yc.test(e[n]??"");)n+=1;let r=e[n];if(!r||!Gc.test(r)||r.length>Xc||vs(r)||qc.test(r)||et(r)!==r)return"";let s=e[n+1];return s&&vs(s)?"":(s&&Qc.has(r.toLowerCase())&&Wc.test(s)?`${r} ${s}`:r).slice(0,64)}async function xs(t){if(!t.telemetryOptIn)return;let e=sn(t.cmd),n=e&&et(e)===e?e:"other",r=t.sessionId?t.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";wt("telemetry",{cmd:n,tokensSaved:Math.max(0,Math.round(t.tokensSaved)),...t.tokensRestored?{tokensRestored:Math.max(0,Math.round(t.tokensRestored))}:{},...t.rawTokens!=null?{rawTokens:Math.max(0,Math.round(t.rawTokens))}:{},optimized:t.optimized,...r?{sessionId:r}:{},...t.host?{host:t.host}:{}})}var Gc,Wc,Yc,Jc,qc,Xc,Qc,on=_(()=>{"use strict";Xt();rn();Gc=/^[a-z0-9][a-z0-9._-]*$/i,Wc=/^[a-z][a-z-]+$/,Yc=/^[A-Za-z_][A-Za-z0-9_]*=/,Jc=new Set(["gh","glab","gup","hub","gist"]),qc=/^(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,Xc=24,Qc=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"])});async function ks(t){if(t.plan!=="pro"||!(await tt()).telemetryOptIn)return;let e=sn(t.cmd);!e||et(e)!==e||wt("learn",{cmd:e,filterId:t.filterId==null?null:q(t.filterId),rawBytes:t.rawBytes,filteredBytes:t.filteredBytes})}var Es=_(()=>{"use strict";on();Xt();rn();Re();Et()});function ws(t){return t?el[t]??"anthropic":"anthropic"}var el,Ss=_(()=>{"use strict";el={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"}});import{appendFileSync as tl,chmodSync as nl,mkdirSync as rl,readFileSync as Cs,renameSync as Os,rmSync as Is,statSync as $s,writeFileSync as an}from"node:fs";import{dirname as sl,join as Ds}from"node:path";function Ns(){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,t0:null,t1:null,cmds:{},prov:{}}}function cl(t){let e=t.trim();if(!e)return null;try{let n=JSON.parse(e);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}:{}}}catch{return null}}function ll(t,e){if(e.m){t.mr+=e.r,t.mf+=e.f;return}if(e.k==="restore"&&(t.rn+=1,t.rb+=e.f),t.n+=1,t.or+=e.r,t.of+=e.f,e.f>e.r&&(t.x+=1),e.h==="shell"&&(t.tn+=1,t.tr+=e.r,t.tf+=e.f),t.t0=t.t0==null?e.t:Math.min(t.t0,e.t),t.t1=t.t1==null?e.t:Math.max(t.t1,e.t),e.c){let n=t.cmds[e.c]??{n:0,nc:0,r:0,f:0,sh:!1};n.n+=1,e.f<e.r&&(n.nc+=1,n.rr=(n.rr??0)+e.r,n.rf=(n.rf??0)+e.f),(e.k==="sh"||e.k==="restore")&&(n.sh=!0),n.r+=e.r,n.f+=e.f,t.cmds[e.c]=n}if(e.f<e.r){t.nc+=1,t.r+=e.r,t.f+=e.f,e.k==="sh"&&(t.sn+=1,t.sr+=e.r,t.sf+=e.f);let n=ws(e.h),r=t.prov[n]??{r:0,f:0};r.r+=e.r,r.f+=e.f,t.prov[n]=r}}function ul(t){let e=new Date(t*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}function Ps(t){return Ds(sl(t),ol)}function dl(t){let e=Ps(t),n;try{n=Cs(e,"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[i,o]of Object.entries(r.days))!/^\d{4}-\d{2}-\d{2}$/.test(i)||!o||typeof o!="object"||(s[i]={...Ns(),...o});return s}catch{try{Os(e,`${e}.corrupt-${Date.now()}`)}catch{}return{}}}function Rs(t,e){let n=`${t}.tmp-${process.pid}`;an(n,e,{mode:384}),Os(n,t)}function fl(t){try{return an(t,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-$s(t).mtimeMs<al?!1:(Is(t,{force:!0}),an(t,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function ml(t,e=Ts,n=Ts/2){try{if($s(t).size<=e)return}catch{return}let r=`${t}.lock`;if(fl(r))try{let s=Cs(t,"utf8").split(`
36
- `).filter(u=>u.trim()!==""),i=s.length,o=0;for(;i>0;){let u=Buffer.byteLength(s[i-1])+1;if(o+u>n)break;o+=u,i-=1}let a=dl(t);for(let u of s.slice(0,i)){let l=cl(u);if(!l)continue;let m=ul(l.t),d=a[m]??Ns();ll(d,l),a[m]=d}let c=s.slice(i);Rs(t,c.length?`${c.join(`
68
+ `});import{existsSync as Qm,mkdirSync as n_,rmSync as r_,writeFileSync as s_}from"node:fs";import{join as ep}from"node:path";function np(){return ep(R(),"network-off")}function rp(){let e=process.env.TOKMIZER_NETWORK;return e!==void 0&&tp.has(e.trim().toLowerCase())}function Rr(){return rp()?!1:!Qm(np())}var tp,a_,hn=y(()=>{"use strict";F();tp=new Set(["0","off","false","no"]),a_=["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 and token 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(`
69
+ `)});function qi(){return((process.env.TOKMIZER_DEV==="1"?process.env.TOKMIZER_RESP_SIGNING_PUBLIC_KEY_PEM:void 0)??Wi).replace(/\\n/g,`
70
+ `)}var m_,Ar=y(()=>{"use strict";pn();Yi();hn();m_=300*1e3});import{chmodSync as g_,readFileSync as sp,writeFileSync as y_,mkdirSync as b_,renameSync as k_}from"node:fs";import{join as op}from"node:path";function ap(){return op(R(),"bundle-cache.json")}function Xi(){try{let e=sp(ap(),"utf8"),t=ip.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}var ip,Qi=y(()=>{"use strict";tt();F();ip=g.object({payload:g.string().min(1),signature:g.string().min(1),enc:g.literal("v1"),fetchedAt:g.number().int().nonnegative()})});import{createPublicKey as up,verify as cp}from"node:crypto";function fp(){let e=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(e)&&e>0?e:dp}function mp(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=up({key:n,format:"pem"});if(!cp(null,Buffer.from(e.payload,"utf8"),r,Buffer.from(e.signature,"base64url")))throw new Error("tkr-daemon: rules bundle signature invalid");return JSON.parse(mn(e.payload,t))}function pp(e,t){let n=mp(e,t),r=$r.parse(n);if(Date.now()-r.signedAt>fp())throw new Error("tkr-daemon: rules bundle is stale");return Cr(r,{signedAt:r.signedAt,fetchedAt:Date.now()})}function Cr(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)=>st(r,n.values(),o?new Set(o):null,n)}}async function ea(){try{let e=Xi();if(!e)return null;let t=await ft();return t?.signingSecret?pp(e,t.signingSecret):null}catch{return null}}var $r,P_,dp,Or=y(()=>{"use strict";tt();wt();tn();Ht();Ar();Tr();Qi();$r=g.object({bundleVersion:g.number().int().nonnegative(),signedAt:g.number().int(),filters:g.array(_e)}),P_=g.object({payload:g.string().min(1),signature:g.string().min(1),enc:g.literal("v1")}),dp=10080*60*1e3});function ta(){let e="r0GPTdS6_piDwTU716xagvXxcpjjhvOR18YNArkbbMGUBC1WTgdo1DuC2YZeiEndHPCrBNXtuoIWHDVBDPp1lySpaje7_dn68NbJ8qfhkZvHuEB6g4aqNQb4vgpEwapqQ_P8iECE0nXMM-iyi501xKsNsq_kl6PgUhOiEh8w_3WEr9Ferh1p8YlL_7pEdIWv_iltHDXuj_XSCwXpA0YMuWymlnIWcrbij13BthhvSrGlDSjMzFt313ke730IL5JetiV0e2UQX6aG_LMhRBgbW4WtQ4lm-4ZNARzFdMfVvKDmtT5ErVRz_RiJ5usFFTaMmzAhFiGqOw2wRKPF0fWDF3Mc7bFiWlyOZ6SJr0JqMHOxMeP_uhbbopXiSLbL4e2eV1e1tvEsEbW24LVh3WiJs0yF814PKGmCCcwkU-C9RL3Ia9vKeVJ4JZfb7Xf-OLGm6knkw7SQneP3jFpsnwjO4-mzOUovauctU659QeRDJQyvn6dkYMXWUpD8m81aZ6G5USIjwzHHzVRqPGHOGQmu0XbxLz9S0CL2cxP7kN9Rk0cvGP6FwkVVtWjCscxXchFREmbnVhHdcP-3bVOJmrBrRsKXvmUV0rr9LGldiCyCBVVqYSAqXs2PMs8QLVYx6Lccl1-bfyD4EJ0qqAFLwyasF-KDBvFkivAxfx_gesPKiell1az241RH2sTUe7cQPtioLYIrQgLHw_dWLEhSauv3-k5Zsd1vzVvRbyTI6azG-q3_ns3fhQ6pL0ZfEB75rQxmT4ylYVdM1Jq8Q5Zfcl2V4hmoBH6kNFbpN5JYzf3NJ0NGTKuxqxPgYtHqpHy9a5oilJMu94QX8jSANOZOOg06z8oLAP1L1E9kCcWrF4M4YSqfpwax3wlyU1_jepaoOizpgEvu-gWam9twuj74spUxfDND6BOOVzPz35U97cL90vM47UFkyKT39HH2tBKMZaQKMJdAp7x6HGBcMJkcIh0vSJej_gRKmdXsywVIk2j7ZFiMRQw4RoqYII4dAY9naEm777NuKMqwFNb2_m7F14e2RBVay7dXg5vTqdvoZ_wdhcqeccZLuT8I1_5xoToUzKSDSNH70ssVmgAaLbwqhguj2IeWAxhRSqzjFjOR-O9iFVkWTPdbKATyyJxgoLqVpGg0zcnz2A__5l-Z8VNqfj8UbiKcfttOwxWmtLE8tMOKlgixDoOduWUIXwlmkU3rBXZZir-EFdiOmHBTRKWn_eD78GuA9E-HXzInUyBiJ7N9xEoSlMUpzlwTdvWebmKGFZ7lhHC79lk54c5qgIceYFdRw-39vyQe2bwboLX6F19FLJXxaTUjUdiOrnu_eNsR7owt8-we0Qfc9j8i1o0S1rVJDgjCg3esemjN_sW1fb89BRTFVtyaQWdDy01VXUQQ-PC2g0639p3qPlXLKFqyKS_cgd_kSS1tLTRPPpN1qLcmvCjq5nQ3w_od-_G_GOA_w2PCBZzORylwK-SaZ8-b3ApRQomiLCa6mZH5oLqId4SGE_Kf76uv4nD0e-Q93uXOlIbJn35bhRLbgQmQ3jPqRtDN8YRfp9RZDW4_UwjYBNtQLieKAGTqLgPlDS5rSzJCNfQYOZxgfflSMxf5taWuMkbg3_CdShukYkdJT-Wi2lATcPlq8bZV9IWIaBVVeBynkj_gRrTtnG0o4WIlbb1X_DD1A8WcTQ3nWcEic9yoMfdx2Y7mPtxAS5JzCaNT_W9LaoAjf0XIurHSeNJzQMZrw0G2kzCUNH_oZpoiQD1WOP7FiDxIHUNVKdBdbH46Mq3Tzo89_fJ5otD_4nEoi4CEknEkiZ-f0Th3dYCgUSur5CwZynaTqh5GB7XbDMGoEz0eMyOh4u2gwQ_wh8oN524CnueMTLoLM6lLeeZXjwWRx9x6LiM0M6-l2mOg54AZOpkU1jwGJvA7Fc_yGv9cgNE5jjVeMwfEAw14-b_gDE1nvaatUfPFunibR5ZyAT1FBeHMPYgjx74xkhZC7lCTj4rP0ozsjS4F36JahRjlhWHr3ZwGIc8TVDibCPJ5lE4q9sCG1XnCAgW4yypR9LxCTD0VUaUJAMU9Q3PrbGL0n2DkNhNPk7R9h3taXZsIsx_yvZCMdH6OGNl1_tgXaGHcAtQQ3vOVTqWB7ohtetUFl_w8BHqBhXaY4t03ZZwXwEtza6E6phFV2DKFKPL8WGyIyOwEVFWEOWDHe_TDF-dukZGrAF8tTov3UKHx67brcrcnTzZ2aVhhZ4Kvk4rjS2zrw4lA2EsIsUS7M-NxfRd7KNZbo79MMjPodwNuXrmtoAXmmEcshuRhha7Y0xjPGkBfbJs8p75vdbwyj02BFO7Vxy3f4qezLOIaFwSM4ZZ-SglvuPYO8JEnj5Rk6pG0t1R-n3nkPUD8K3CvyYQalFxMKuzFrT0H7tVzvk6HQA0415yAxbxLMQc8HcfugyNb3NrGsKLhMxmaWSjyQqXo0P1xkiTzqTDlhXgP3nbG5W19joIvRYACyHK_9CN1iaYFMkjz1geDwVozXxiP8nHKqAPm1sj2bMfHikMlFrLWajYSuE2NaTdU0FSqxsIcQ7ZC3T0HZbSH5k_IMAPL1c624Wy3bQtPgKjGxJuMBWtNgkXAOzzFqw2YSiM8jVGCezQ1W2ljMujKf0zBOHjjsmWdHKZdErlyXANO2VxxDFFomWAi5_NhgdPQsc5fO5vu87VrVzk-sBwUKXW0v7043OK4Dav0sPYGGJSh-lsKIl63CZX9Q29QoSHgrlI75iIL38q70WVccTquec4EZpBy5NUJiWhmwWv5z8DhFATUh1swaeHwVr772NObQZ-8Fuy-VTh9gKeDKzDK3YLXNAqsBLHrSVpJHZXiwms0hbGPCp-h6ie9y7OZBtIUR0zokwt6rifyZsXOEQk5Ped-eh_8A6Adk6-rJx06oOuTK15Mzr3g_7Y1ynoRCwkhCM6RiWF1Ax1ud2C_n7XjCI60KxnDwZ8J8VeK5ZmUrj-Z7u8bkZ4bIy8qWxPyk4D_ldw8flfC3sYZz1eI_HUsWMEPF2keqfyB0Y_8zg9ZYBoBSp5DEnpUFs521fpbVsJeocEHfajTIYHOxG8z_t3k-fTgfngy6FwUhAz35wdyBzPGK5f_4T1VqrbNTBOhbLWSpXz197ybhMXQvDDguLCg_H3a3My8hZjEKoEySZaUplwzrN6hcyIXwqJQ84bDFMfjVV-BjT4ZclNnOdwSD7WzuYYNcpccb6FRu3gFfND21Z_vW_FLGJxuSM5QPr9JPU7bLCcHOV-pWYW1uMLCEYXxF4P68mhKcgq3Clx14_jzwDMylJMcilNiR5NUmF3DIwmJIfAKCwnCkavcoR-aXY4i_OKKVM37ufUxcEwqv2hN7vLy2XkKU0zhgytEWek60rtqtgZT-LwhtnJoYalIGUQzGpEJ3n1quyDm7fgymyYQk545XIDjF9nREdMKnqejnk_YzL6eWUMilAjDMwWDXBsgzVSufNDTvt6aOF5mbW1UnIfWlTuAyHVBKu3JzMxWGxQ0HSh4WY4G9pmlI54f0I1v0q1ptDCa2QiVbMqd6SS33k6IzZndTATvLyBfL8X4-usZti8lVFTLOjory8d2QzImVj6w0fF4vClQfdK40Ydf22cQynhNT1pG_pBOuSIDIoFhulHDiqBc9nx8VoyzGSv6VAAKfieeyCEk1adpinpt6FSu8-HfXGk0bzZTfbHkW2Gpon1rg7Wgn2z0ydUSLBUfH5quQX5R4oUq9dOItaky2cUkYI-8JkmiR3Wu1BNU7FfLXVPDphacwk_2vPUD9_of-nii36g2L_07Tyfh59NDMCnw0bCGWo0tJ_29YeClqyXQETbNBOTrYr0AL3EOMLNB6ra7IWsUBTnA4KAzJise6UqZQ9atIZ7cN-WTbODGE4gZtixnj1Gam_k09yMZ_0YTZMzboD8J_tqzL-P7czlkdg4HYw1QVvxBA0wbexhGUCkH3mBkLsLVbo6hX9loDrOC7p4SpCovmfiHFrC9vl3p4PGOPpBd9SwY3Vlpes0EJnMIbLF2v1MaW0oV3JII5c-ewG0N2w9IQeW2iSHfpTdsQV4cBLwknAoNFUrVgjCnW8s24cyYmkWIVcOL-8yKzxLm48GMbrC2BKYKl4pbKPmUCyDARvQ2ni6bAwVLkI_edpbE8vbOUxkOCl9H9i2FTDCvc9TwmJFhFp3TV336-2apBD1LO2jLOJVmjXjQRmQgtYjwqzAxlOuVqmUp12c9S20vRKk0PNmb-nJMa4XpoTVTiYloOleXDgxa8ZCc_JVT5Q4A5bxb8R_WlsLXsgZ5NUxHY3hEOl7DN16xEBq8GjQXX_C-DISUEYURoz1imh3hnXj77rmdTYloPe5cU6aIbPrUBs24wUhj-laBZ_sGaG-L1MYrTTniVIndK-vqTG7qBW3uQMu4k2mD_NIJGNo2wo2BuK6fw6_NuFG1273tHt_qRxtaAMjG6mxYwTRZs-veuTB09RQ2R8jmFxtYxSnYAAelwz4RGNRtY00kFZHqQ3KZ5SPgdm7Sj5PXlmmdXvPjMswWmkYu7Hn17X_HHzVZVcImpA44h7CgW8Fq-jx35PFgSpGxJiYD8Pac8gCuQfeKSFgG9rL5oXBydFkErp2m6lJ4wc8GkFORFIEQPVpMmq8clbhT3mwt-cpcxbsa1ro2kvNFurOAjOSj79uqVZkI_ysLuzbJxFvYw12mwIf_xWfbXKEopPeG54gr-zVZj9jOLTwhZ0BmVCbl6i5eylaFBt7058LVVlDlojysmYO8X206baiWFnM7bYRFOrV4Mpsd-GlMY8zX2vthPn1TvlZyc4wVxTPNCKj--7VKVtujqRmmgX_9svT1SNOOGzs5CKpS3se3aYiZ8Ot3K3Vxsk1uFUD3I6QpkF1ejeNmuGtt41EOox0-gux295ZErYj9dtOziOqgP_EEgJmdubh187w7FvQEWJpioSV1QlSsKQzjICJ4dBjxOONaQxcVeqP9EKcrde2Cl7J_ZkkL7wV8iILh_rA0P9XqpG6DYhwmoGKUYWAvoHm7TtrLQoqu20vbqL6-PFJi9p-x0crZUeeeOmGHoel2kVY3wQb9wkhgQjQf9SvF6ePh0f7wQ6YY9CwH46qKQKGx7OpwjWYOB71K7-OGUIgdBFeTCwK4xa9I6e-yO18fr3ipUbQXYA-DVkTZXHfVcVqR3fXnqtA3ONFI1NYO7rmQRB-ioeNoFM6qjWlAdt2cMN3JZmOUcnXSsnQPnqPnyDvhU8wk6wZC7uC2m7msBPBgo2gDdk8JkLL5Y1CMtjZber_YrK1kchOtR_eYdSdwCiqDKBM0la4N6nMInyGquoxNYemIuVXCTjRb8lxErF96KdnWs4W39KUgwZD0PrFd022W7xEq0uUmDLjoeRnJ_CGm5PxAnGgp1zPJET913aRK3uXnweoqzJs8FaVu8Gj8E37bHGQSdqqIVXkrmsJb_tuiecghODnfIUQ9aNsphrpy_Aixpg0yrlwHN0uSkoJMrokz_PtF22rKmiF3KNu5pMfn6fdgeQlakCEid6wuYTwFglwnM3XXXA8VJSKIsgw60-uDMYUwFEOSM8ZajzjJor-Hgl_y2_OaYvc4LPYeWnNOVSTsFB22SN3AGHdUoQa7NTE20zfwF7SJU9UL_hjp_zMFKtB5dHY_d5ADbWvGCt5n8CN8XMB9JMsUm8Rwc5X1MhDD5oSQ8pTDoFPrxKJtuLpXEvVnVCDv5TOHGqxPNpN2dnlnn5WEPpgxdFvcYNOynm-4OKtHCaFLFcI6WiBdtaliWIUOj9uftoLWo5A6fm7zI2nPq8SwFxbntJMVJNPEUA9bJImmDwfDY2J6CfqT9ZEJ1UCs5e38r4dyVTJxjBoGh4yiD1hIkaEoKY5NsyXK86pnt83uIPCz9wgrYsCuuLTifUa5rUM5pLiZfi_u5eeiFqiKaZcNl6_bNV9Kh1Qvh0DAUF2wJw2C0LW9i1TJbZZoKI5MyjefDHCdnXpzWOwy0oLTiFk-Dhyk7u5QoO3Q-hSGF7cyVK3_wlUH6ACIcVShVoQEsillXBsz3Z0ZUzx4huVh57wp9UpyHff9p8HEyfhnv8MeKBCqA1Zwx3bHPBJUaM_FTl28AEYH-_nlmhjpAedliWfT6FsxfgneWAiYBlp_DDscndJSAxlZn1WrtbKE6B6VNBIVI3Al026iGApdf3a7rQc94iBa2yZDx09NzvqguChAmK_JeZ7iidebORgnAG-pkdiXIuoWxqUgA5XrKLMVX-iAWv7fJ3DMDgC7TxRNysd84FpHwBtbeUZpKNDukINwv6Zifxei0jJnpHu6eBfxJMxYkjRYBs8DRAg_9viriUX-Cqjxsa6QD0TAZNMW3BLppWMuPwiElTOgcHzHPHffUHE-99Few7dpmgYu0nl-U1x8sotLLOPn3RwZQ6JEj8xE_ssqmErlcMzlBFSjJpO_vljbsc7BUD7TvL9AT8vwSp_HtbWK1XbQb6wK-uKR2Qvjdv1qxOXKpdaKLJWKknNaWVY9moq3Hm8yoYzOClop46Dqfm-JclAu34RdYwtZ7M7XjxD9iB_ObZLuTLbNu0hr9qXj4yRyOclX9GSjnQvU26V1px22zgwVXRya1-YSkS2gCsbSx18l4M67BN_O-VMFKuIfysS-bbxmZR5R4KieX45mNQYLu2ju1VfI1vSNpin-MhHS7zZmm-pzXdiFMiJeJcDmr7XRPJ66tO53TedfAAVgbKhx2Fl0URz8GgoQ7_NEk-nJj-M_RJO8Aj-jXAblgpG7hu1rgLCowbZDS4Tlbs0Y-BJ45AMSt3XAXUiuRFw1BJnec0PL0V2l5uxA05Tl-TjoUf80xLqm2ABAUw0IsQ9S-lP_d-WhqGHzHvcbJ2unvg4Hwbwh9eAfhjU0DKigZCnTX1WVJpG_UCZnX_jV3F6YVLY69GlLf2dsspVBdOD6d8KA0Iyt5tmYIVFHkd2nEZ2KMT6P9vQD9g0zixy1YQpVIah3kxOR2u2wcRgIKLyWWlp8T-5m-NJRY82tlDhH5gmguOo7gHZEUVNvVd3LAdDF24SlG92_1GMyTOftoG9bFrpixI3jSdipB0qIMOhfvNlVwNFqg4MZz1EKu-JCPMFNf5ckz3kLuSoB1R8v2ddy1x2r8ErDYFos-GxNe8AV1koOhnSy6hNe7dmhfvBRl-eo9cMpm5HYEuH_zWQppc_w9lmqeADCaNGmfc0Fvze0aK6MQqW1MRT9DYES6thS_6iBdPpr7cGwTef5XIa8GB6I3ZSGigbumqjggMp5QCKdPJoWVtBxEfQlyH8gQY0KQXofiEQiiKXGsa-1I8wKggk1e8Xjd_UbtYZZWFmAHPjsPam7whGf8ZcHSwWpWLAWRZzy_lp9WSHzuB01j2p3VlmC0eet10xjWdPkb-m1zNyqvFFAQr40sXmyuTIu4-ZuuUu4FsDQfAKYFRloRS6IE9BwA-Q6TfOtS6Uj3uHPJMgj1vvKVdbC91hAk8NDZYT3xm60SvBJ_KhfNOZyrPFTcH4j-s5dqJOt7lrqoGqIyo3rEJcjeOwqAoGfgxTelAZf4c9_5MRHbXF-azYhAlM4hON2Erxv05J9h9bCRZc-NaxXv1lv4eWaiFk1T5GiLfm5Xw0nRf5FBHv3g6mseVx4n7-Mdj6-vOX0NCSqdFZ2Mwez6bLQ3miDgUUPIKxbxo-kmVAxFFvo5FwWj65X14a5J3JzmguSzOPKjWPHzZDfELXn6EmofwnI3gFQF8m2JgZ79e9dYSQA1Tz3FRkke8Q342Q41mUtg0qasU9-xCZ-BqksQkslBXRgypXT0AsYI1qhpBfOn71M0tc1rSuE5NxUnn_YWA1Oo35T7sgtcpgyC9BGO51A8Cwym27xqN9Y2V43bythPH134iu9_i8BneCB7CAFEDvkM8p2riRWGwqM9guIUa-dpkkbqTRLsoTZc0DNa_rXokgjynoICC9fnLSZ49jsZfKwawfv1-PcFOj-FmxpD-MafdfnCkCuRX-1_PRzwRGXj-q8hkTiT4HUSCWipeb573raDf7ILs4TedWioYr-_R6dVaz12db8nPMF9UB97dMFwf1kSPy8UmKkMYH_7SVltgtx9TvzONYZxIbKkF5Z3R2Rd7cl_cLKO8m413WgxQQnNE3eLNiX1C5Xl2qLHDGnvo7JYezW6D7KOjwlqa-VEw2F3pi2-FMLkWh3NTYY0s0323Ah6k-WezAjW_ErsIQy2n5weyr-Y3_3OkJ3jDAIdRK8aO-kV_EzWbkd4l_V-pFW944MevV-mpNpal23pDIqOru9CDaicNZUS6c1HiIRcl0LF-bU5OmulHQF3HI10a9faAyyRDgD5rRaf6zGsITl8EBvTxpSuMtI8vItWLGs6isIGjYhE5r1NpWFV-oJiMkNDZOyUi1ySeF9h9qTueNUBzSLKsNoEYT8Ck4RfdQXMjXr3JpE9Doc2HS8m2D-qEmPq4lqjk5v3fIrFlVvf1ABtyHah4-fG1C4o2nngbi8tIWi_zevxFVyvsJRa5tM-SnQ2Ruz5mjliOAM9bOy2I82FTYtXVoWZc1GveIYDzfmKn48OfC5DyC6n5MyPMlKltI8CfZJyeYnM35nSMty_paOXq-nwHacpM1wL6ynkpiBS3GT2fbjd74zwFnbjmwmaq3T9nuwacYOkmFwFB5mdsdqxPYtpazPAkdGTvXatDQsC9e_G_pgyIy0ghWPbsfCyPOLjS3FewJfO5al-8Cv71ikIAo4Svm4dGKg2QGMM2ux0r6BLdNXugVnZW3HuGMcM132xhvayI9i2FHqPoQB052ozq_1VAfBOPM_6he3LWHo29V5Ujvk4dXj0q6xuDTPx089eGY7B9OKV3Iwv3leQWoMpXa2mCC1AyqkkK6-uqVEtpZIrsFR5kYpLBGwJnq6Rm7feT1OZGVpOIW62DEqBMNZyr3wFD7g4uPxSSIT-x97jlNRaizquHrBO7Ki_6nr1bn9qdadeTScL1v62RiVSFXmRe_LY3V63hFpesarUpRkwqsB9Cd8FNQHJcwBLnzYt-syOsXtCqo0WUCHtM2n5V1-wazlpTFUR-s2L1eNLPNqX82cPT4UcKZLMGUkYnxlPtzNE-YcdZcxsayOtrSGrmwRZK6uCf3z36s6ETyxiRWfMBy5d2pikz9KwzBR_NmT9PqarfMuAYZTyY0u1m2Cr8RGm4Ml6NOwZxjbATeL8-Rnxk0e1trKwutjsjx_piFOr4Q2Re0P9FtXOO-8mmNz8zxAVn8GwhXDqw231TcDd9XqjZNf3E0DBZxR-fFqKpGDn6SoVOP4o5B5oNIlmY-Vb5SkBhldJkGn0iCRNT0AJGiQ3O-NtaxS7HslxscVLdXF3T-yb5JRcfvRDaBt5-MDeMAEaS8WyOwYrZtnx-M02v_Kzt4gd7MF1Hs_uBoxrobvRS6pWvOCUz0mox-MG7dNtT_Jg_bxv8XYIz5RQrD0Co2aOZsZqvk-d1ylC1nw7VXzWLOhMRZbp55yFeqhY3FEaudCV_L9GTKfm5lae9UySMdsZ4c_cCL8BKFyKVe-MJH7xqu8o6k-a188PHeLz7BDDGObUSbgo37B5sgNfButJktPnzyJJHBZq17l4mlLlVQSwCtMNZGZuKXPxvYKrhvNXGF2pB7UdAoTvLnqynFVEKw0jc-52iWPVwiJVfC7rPFn9CVz8ObvmzjOH5HVfPFFZOOI4TKjQVaaa3P6bjIPX1PfaowLo_e8inoCuOw0dqXeuhPY6mkvwgG1GZveaol5H3OGDM_G3sRMQ7zK3XoMTJKXaFenk6swYtMaQlI48fBrgdjMzlL_IiJA4qRjGSRYO8Bd1z_PypfV1KAypQ8CG0vo7UgFlsPN_4A_1FmiBSFuVdxRwY9LNdbJomVIclYNbqHjQbHu6GiODryTu5HoFmzP1LlXgQTP0GFeVWZBtrkb4TLNhNtaICCQFCP9klr73s49Ob4ensnhNLwZ3Od22HFrJHPZfVRgriaXOX372L7SmDtB-ojRPReuA3tWe7B5Y2J999LPN6Km9BDn8O-KE0vKZKTuR5gbHAtAMltoWzljLwZaISKjbD_2z4mE9bLVCTf9QsITrnwcoUHYgKnFMDTQ9skcorqKjDZFHglsntYNO1oqyRGt_Ge0RvQSlxid-7Au0XZkubPouf0ZGLuUIJ88IPAuVwDPghtCAKKvLuVVMSdTP-ond76D-PcRsxAtKeV5vQ16S3BHzLQNGRJZFuuoUf_6Aa2Wlup7NpuJ5nL2AB05lk0bSKJGTHikTCi2HeB-Ogkv-e796T38fz691s2CukDyDXuX6a_yht6tswTVEJL6Q1hlGvoSNnNzAIDmCnaL4GK_0dYT_TOcTkQuz7KrL4x-CMXhfqKRn-M3umj2zCJWNsC405unGquMeMtqm43RMTIjvS40LLyCXML9TEuq6R6WEOKQ305nNB-HERJKjHe2g31FNmxkvqHkrY4OzFxo7iCPRZ_VCH_Z_vwQOG7Ss0DMzL_N3AXhHPcMh6Sd8RgWh3K1ejrBynlMFRWOWDnWrAgPC5QjtM6PvVI9frcV_pXXooFTyRdQWWoqvGSJPpy_ZFV_TVKE1d4cNx6Bqp8XxOZv2Bz36M__ouELPMOAi-xqGPoNFsVRQXFMCb564-btpHodl9NoP9tNqVp4kFbH8RYTBiRYSfAYyhi7lFs_ZSgYjGygMQhJpCq7vioQfE4Tc8wqB0RWbIIzTXiGWrfJroKSlUlZhTPwWaK6sn1w6l5_n5HVX4uz-Q8sWajjP9EAfGW4tXXt0czWpM5Ql0-6Ye6XxDbkjQTXaMUQ1WY9oZDWuzZkbnD5tsBFrnvqmcJF5bBHTkfdDY9cbJxh5_gTIy0MNvfBS7PlzvRTDfeekZFJsXKtWwjX-Ikz4R_TUP3JYXPKRPgGW1bDV0kLFq0z17ydCNQmUNRxafIKGQYh3s0hzXrfK80WbawgPfgYERyMIBPtqL_8KnBdEFMeRKhOJ2b41vyB7NM1ZN5OjBJx0hyFNkdM3kn4dUZqnhGLKN3tP8WWWu5cPS1wsHZnWENqW5UliBJntjqf_e0oi2dO7Lzwy2yvWbMvfWXJn4fSXfGVk_qk6ZKiYPtp70Xj1QFOd6kpzHxGhgvIFryzZIELCapejkMHUbzMG0HYpw3SWv9P30RRKIOHVDtG2dyvFBehvypHYjNp12MYHnqgaGFCi-_3-ylyxwYw8XkT6lNAcUgrdm-k9aGeIMjrA1n_UFp62AV2r6AXox5kKDZUXEMT185T-xW4MiSb_WtQjmB06AxLmh_taM3rjKXU13sfa7XGcbM6hIIHPCgruRKmW5uvtvvLrL8fwWDNHX3_8Q0F9NXp8EVP9J2O7MZHtk_tnrFh3nLZ29foaIOXWXwrBTftJwOfFzpyOfCKQLGzpoX8lGiJR6OWlZkl_BeLs0GhkJu2oLHspUa8T1QxLDN1v6IrVbT_euyyIHhqEsHw03PZOGvLm-uwFlFRzaR4WqJ7rt4jBkg6NkqTo8MEJY_kCTHKgmJrI-7VEXaB33aWCaVsoB8DoKixEjN99Tm1RU-mZRQAuDvbQGs5TSPeF15IXezwFZLApvznvdlgcHRmR5zxiLidRLIqKhvjblsGDkJC9rjL_TUFxO5ECRfoFPgx-ryBW0ABGc1YrYrqLIGH8mMMBwwDTOAXwWc1Vn-ZE7WWeNvEK-LqMrqs60iDP9P_CpZH2JnIyX4WJ8uN1_PdP23S4ZhGR7eRd3pww2Bu1R-9Py8RryKoIfnXwLyM7iBL-H8S-e3GFLISgbngqf7s_w98K9x3hmlPA9-zZ7yW3UHnCUsrUQ6NF2d6AWIGPknxNFYu87GjSEFBBmu9yXY0qWthIVoaNTIjbpv1BwOLvLtEB9_ijR_8O3FfWwkIZR4GGZpKYHZzhhdkPDdBZZD8l33eIn2dE9QoCFvr75kV1qQh_7t3MvmRE4qM-roWb27OoqaEPXr1efNAUJKnRBQqp_iq7fripCSN879zoblmKjHmR__GWhJ8Q8_IwacK_4VRbjZByDBOadB0DThRpLgDPRCZQckXDvKh3iNgypmubpjvKBzzMpPTnnncbrGPDNzlS7IyGoeCddNkyOVGUZpxAZpdmfwxgautSb2hYBzUWE2nyK5fS4qJ2KfhwiztdLnwekei945MhO4ajxeK1isaTteqHk8Bl7SD_K75mMBPWart8RN6j_m4EYZDsc06F80YKAFrYUvnCdPqIkYkyDhpd2hYbDCEOw4Gn6QNYLGFTBAmsihctdMzjLzR_QC__HDBNzExIxq-TUVUB0d1kW6y0es8ObHQZjXTEhxPrOkYn25iNkZsbNJrnh1NxhrAcpkiySgTjlnk-MtaEObPjIykatpj5zCqpOZSRGm6lEGi96iNKPnzjpL5hukllxTCJDfAvz_hTQkNpGomcwOIctAr136oeSt8Fx-uCfH7RCQKH-VVO0CTG1My3kZaqr3dRdpM3cc8uLvU34mOBtfcS89ES8dQioL2zrpTEg94pcWo-Jao8ZfAwbSwTazPMieH11j447_UR-DGiML8t6Pq22z3lWhtSiVt-Zh98YEPog01mC1eiQ34rBIbhGxgoOL61JKtEFZdN6XDijwAvDf15bRjeuQ9XutDqN9p7QRyejTIaWCc1X7VNwIOMpBUlpNZkLBdXcJySb05pHaHc6rbkG6INspkfYrSpvweMurDbIhScU8HGyJ4y1BYqsdQr5Hmx49_mFIKoxMhUETB8Z35S5o4pKDukjHwj6rCDfJKl35yYYngZlXTCDBTPsUtcH_3E9K-5OAjQZuHhQdIKXhPK1Ja2GBjGj_WAKhM8BXnypF3Yz7bnXR6_ew7q2olLHb0YUMDYJuZRhX_Ne2pSTZvagSxIe06Ox7Ao6_SUtt8SiCWhbtpy5zSje_GsUbq0f9ZWP4JVcBkvNX6tWq-Zpek5c3WnAWhffKR6_4b42GHdA1xMG5_Q1rmyof3UMyYcaWvtsV7SpR2ac6oYhQsmOhy9LItJvkwJmpY6-6PeW-khRx4NN04P90kT5bs7LkjmB0jlDLdyuqBRgpfXIjmaPfTG9kIT2NBeaDRrJmwsqFSry60cJmQpltz_FJAXVAwN4lVIj653d74lmJvmV_7AIuEE1C_jO8VVY8jKjtejHqB0AFG4CAnB8ALQNH_WixJribKWu-70DTVWtdzkHAM9z9fNf8yFH3Ji2VSPZfKpePfH6REqPkfYhpaxahdEsYRqLzhpK9ojZN_1fSYKomCFvwxiygi54s9SLfrdfXg84kfO_NmH6wLenYZe5CLtgl7LVEpnIrRMsn6uEjGpf4n2cyCoRVxzEyLuxrMFQvLFFFenVWVDK3Xpu6tYO_Pu_YdhDCdOq78KETr6doY9rstXpcnrepiztkfdlh9YThX-z4kT43v-WY-Vs0bTxEPCsW6VMhCQhklLbJ7hu-f294KbIPy5ukyvRy3SUcVkAB3WEx8Qr2sC_M-O5T0x3WhDWHYlu_VPn-Ge0BaGD_cwa1bkWYYkpTk6WBdxpCMvUkxYbL-QGdxPkl_K8GMXZKVEuX-DPo6pSvEyO-eFtKFdQAUlunBNGvX7KT4jCwI76eAx9GQZFtUaGVTauy9I37AsC_KLj7HXGVNzbDKWjHwj-lk0Yoj6jiLSeKhexxS712FHou-YHBveeKlm1kVtvAHHxVpqxhamIeoCiwnG6u9Fz8S39HSIp8E5-TAsiLprVKRUeBIq5tKfrScmLic9OTnoCPGNYTUhSGwrvSyA648UVDhE8BVRfiJEM5pLsrYWMuejUJ9ntUWLnY5onkgvo6jhCULiPoFJSkRDGF2Ksd6r3DgEeV3pFtFaK7eGp3N3rYERTAKtHGVXgEyXrGzXGsICzWRMeULe18-G47kEeF4HUPfr9qh0OTUU98g1l4P1WNwFtQLjU7eEJ3qWGTlCP-5_Epo1lvlMA7GOm70PU97U3oal0asIJoBjuukODDskeE2XENmeWXmk7-AjNGKtkv5kL8tNTxeYjPjA1igv5IYimWB8hqTcpsoXLuY5FNnzVpvyQzF5Ts9dg-lwsdsbGrN-Kv4Aj7jHRcT4bYmeLUck2o8XQFsrKW0z8pBMiwetCo60cqUQdrvy33kyXbMFb3CUlyzJEyBxmrvt9JOoWuu1r8oWd6r27p81vmR9cXXjblfU7xUb4j0iwv6-T3CkffeKlZLVW5odHghiuS2janup06LTdKjq0E97cY4dDhqkerjwD0ipBcmnwRGOamh-wNxlDny0lKjhPW-YazRN2GnYkBcJCz4lPYomDuAwwjy18GxGATipkVHrq75n3p-JVck5HcNa9xqio3-LQE1qvTwTOdA1OuIxTLLR5dNdv7X2Oem4R2T5giutqx-ayuvZSYNezlZ9EP1n2bdhJpJUDBGUTYcchecFNM1XqbrrOStdZ2ZAPWuzg0xxNmkkJCHKXVzKALqUJ5uKlDmQoLRAvcSD8QnWfVzQnEE34TGQY7vrX6liTw3Ua-vj7MeJQbcC5mhphREw7mAp79lxrUcZyzBnTRpYE5nPgtuKIyNHBVIiT2tfaBVPLKP5pL5yuCCgO7qdqkmomVmB8EAJX2fKR5LL5O7L3nxcMDc5o9P1HkqQqweAVoNEIrlHLDFfx7EAoVHvOA2QInb3d-vK9wGBNoBgAJguJtXKEe1jn_nflczoB-TZlqxt7xI0EkgxXIEDOZxXl9qvMUw-dHF-WNiwPzhTxx-Gu3pka12n-hKg1h6zR1we80fcsvA4jka2n6DRW12diL3PsxxJafBQSVj6zsqR1KXNMruG35dp2yU6v-1GNCg6pnXZKb3sLNhYpcJCuezkT7IuxK7rbURhqq4CGgy6FzDb_FrBbABiK0BmBSY0N0FnaBVCZy-PeK5nb5nOB1aSYmw190d9PZekQn9NdtlgL3ZI-T_Vo_4XjL27G_U2VIEKnrpyoL1G6FVSS_S__o9z1fVVwU015U_8ibAnnFjKcn8_2D8gvo4alw0E7eEqBXyMgz2g2jxMNTYAnsjEdZPhTrKZLcxfLgt4Kg3xz9fF-y-PBvcxljDyQiaQ8_lJ7cZ1uJEv9bDBhPDxP9sNFLRknjo32CURIM8AjyPppLQZGVe3rnZPA1OKmF6D2qT9OjmBPNpshdVjGYRUci1TAb9eJI1uBbIyGcO2R7V6WMxrf7kPQFR8I_ZrwVgqT1lvwiG_qS2_1IoaK5RLQ-AgXkq4DOaV7D2apXVL0d7RdPJeEJFhuX61Sdz44-toHAVZ38o7a07LDd9UxT0-Y_0crDQdgS0dCMvGAK7Xn26zKyVmgfO3u7JZK2ygYQ2a2qO_zDR7LUQbukyaveqRye7FBzmaDuwCW5fENyN3quW9MTJ-SenUquv8ddGkCCsT3GHdX6EHGhhxogc_apv-HHW61UeI1HWdqeq87OtDbMM50HvjMpGv7DRuxSABdDAC0aEZeRveC2hFR2ufL9JburOaBlpQmw5Ang9L-Esii49olMOG80vCfE_AJ94tNHT5eFu22HYp1HxflpF4WccuD1Wu-AzHtQahz4oely6gWZj6SrTZpmYXDfhlxRF6xspGBPqO2R8D7-kWeOm3D6ULIkIp71_8XXwBzy4l7Rb6TwzH5naA5EzcuiAeEMYbBjeSNZ5rK-xHwWp9__HJzw5mMK0Jh8vDTKWF6cQAZAoUugrwIptC090-qNjgYxU3O0kkLlgbDL9XyLwrnn5CLYLMlOkOixwaQgTNJAtDZxJEU-sfGNx-m3IJPNVbHwTvPeUlCtzGM4Xsso0_2no5EqHJKBQHHNn8ZYsul0Rf5ZUV15O653mx87zESCM1gaqR-x1fE1HHqTfrCMyQELF70-LeoHhWLQj0ZWP-D3LGZJfuosFpCy3Qz37M_WRMkSipMygCg26DT81RJwxp-Y9Sd2Z4A9P0Yx02XsoM8cLV34s0A3P0m5wjoL8aqmZK4-vuAMEhxaAMeFofidz9p3drSoYzNV8IkIBBWh2ggSL1WGxZ-9jLWW77p3Dmg2OzsB3zh-Er1am65Vf6SArhsRi-slkuF53OYtQ3jkrkauPWV-QzVLgS3sy1XPaoBxGAj-HfXSlE9bkhGR1B3WBbvhjfH6S0qHg04_sAMpx9o3nRqRTmHfcTjwdtLqKayipjfz3_OkvPpk4WcYiovd-X7rwgiXGnGFFSZEP9xMe5n0qgaXpOQF5gi-6mFedQ2BZ0vat4KvzzybhBuzw1LVwfG_Nl3myYNoebe5dIXQguzK0ILMpP9ZgquSVrCgwbuFadWbIm-bp5SYs_NTlWoQbNaGmMIBwkUoLz6xaCR76BKuRNOY3juFpB48FNGAkr0z8vusxrzrxcWQdXqoe22u3Ux9gt0sOnD_toILrBLt7w20EsGAYWDo6kmAqZRFesJTrp4rf5oThAsjL7lLNP2e3aCElhlJ-7Nv7pXbBiqEi4ALV0fA4aBd2Dq398f6DIotEVIaE_fQmN9wUd9-GTMWQl1jXzQTU9BZ0-gOx3e2suthpIAbk0UxArkKRUFdm8ZHgaVRx4aibmAVZ1GfqQ0Ug8ltTrID_iGbJneBma6lP4zx3jhmAWTWS9BSZbQgQW_i_LP26nbKPS7yEE4zFGUEtYAJLtJO1Y34vzzNNobNgDuHTzSKcqgtecf8V3msoVeIgy2mrqXfe_RG5XM34RRZI03Nb1sEKuGbWCaAiCQNZbuH9p8nCq-970mOIKzVEMjv6As_t1NLMQfgu36QrRBdRxQ7kofwG9v34CFr4VQiA9R4rI5I6fxgviH8jKt690tREHmfO22IiisGUlHDNJU6GUWm4LwWGAV_UZwZH_aVeDa2RCSiFwpbBLV27e4PLj8Ys4_nCKt1fYerYV2oyhtRbCgl0GhuGDwiMPsj35MNzg-jTTgNpio_zGLfMNb6q91u-fg30GHMl_MafwL56gsdHZn0EkSu7cV-f8PszWal4CoSizJXdazx99TTTJuKki6jEFlu3pQ84nvtY0noGNnTAdNxfng3GSLcDQER0woq_fVcHNReEVfKFNVoWCA2IEycCsPzfW2XnrkwRPc_5emQlcHLc1DqF307BwU6_MpxbyRMcCy1mUnBlnuUVI2mFfT0vQjiSaRw5G-53_SmB99oSRyME7ZB-H9BFjuxKTIkdp_s7kSOiX0ujA-yWwFQYc5okB-4SzIJTPnZs1V8a8j9S8PIervVyEj1JKdRUAnycEeF_KEZzruYVyQFe8EPDUb6rgt-VaBIvWdx-9AOgHeUniQc5thh2ahgyCHUuTjQ2bMsR3FXs-w-JHV10vgafimrnHtr2cRjpoG0oKGpWSliIfpIXxi69cz5VCS-_yWFJmTYitHh9UL0ySwNttjqBUtmoP4KezJmeWGtnpBnhao5YAcooC7UlmRPr41Ui4RQ4l1xCq783bJoXVkuIrOyooviM4J2iL5b84Ods4jfMDa6C1RlYWDsnmWG38nZz9Ul0KeiAgaJzYGR83keLWHF32kVFujloqxgAEO7LIoHOM8IGA9wDuQHzWzPcY4pM0GHnYIP3e00aIGohDs3dRgF-TOrtX2yNd3V-MazAa3DapE5QSLs5c_isry-_-mIAXaCgs57sy-V-_gcz1Q0bBBPgXowVPg6CoDhxGt8SZ2W32K_5j5JOy6a_V-bd8JdoC9m6GFWYURYZjmuQcgM-bjiAJCM6nMmtHcDjkFFDuQkUwswUpuPQeHvhS_Y_KVugC6WV4XB2DawkWu9SA7EfdM34GjkEwrECeCNZKov1XpJPHObgPs64jKvDOjwwCmAXwzX4PrhN7HIDnhYQ1muHL9z4JOne3UrxiH_HFhJiMSpI9MjA_aFcysF7lHOv0wRI0ucy74LhU0jJBfEwumzneid6Qf8Qjk3tac0meMcrOuiMlihUcd79yWS0t7A3moWt6cyZZk_T6ygwuQbrKnyIGWo3Hu0vJoZ1d-S_kXT5DV92r2N7W7Gjr2_3i-rEr-ffGEl3hO7RLCGgpteYUs5cDbAxwNExJYzcMBu1NWdEmfxNjk8dXOsIJkMh6Gy193QokuGReXkAg-6kj9sE7tycjknBT17NpN1B_nFhe04hHngyBVHEL5bRWY2De_gyd5KJhGTPaN5W-SmHB1QKIegWlHxWtNSqR5heOBU4xYDuyrd1v1yNrjOJe5-A8e79cARcTepZGh0fSaw4BK05Kr4XawQSzAamaito1ytKlbCEP9-3PtZIS_WoN3oET98lPhB0ufj0r_ZXccsW7Pwyh2bKOT5owCFc_Ij65xXahapknQKxn-QCp-KEQ3or6WxUTYl1-dqatqvPcWO9cmZBqQ6znakzOk2fCd6zXlL-vsMDByUNicVBgFCVDt7CURwjdVRumdWqR6yxgriwv6I_sOMgRJWp4WmPsT9fggYjNeCx2D9iVeqyQfENjtVF4tBcnmW6ydA6mTpXZFe8jkcwJH2NtTQ2Y7UZPL2JRor_IUSEkHq-F-C1iYpmRTQAdvvAz8SaVj8R7F55iLi18x5x98WURc5O8kTxSojGINglC1ZL5rEG6_oyabVoyMWUJwilYD7BRxq0e0EQP6u7jxAyjqIOCgBrvgWDGxUIbH5qmEm3gtub4mT_Wi3v2dX7OIGOwNJ2bbvw5UXUPUVuGB8E82eEQYzvlhMELKNGXNTbGXvc-kKrW_1plCDr_fumCoRO4Oen5u1Zmj5vLx8UFjs9PD7SdBTpZJNmSIKYNGH7XDPCyLde2UCWE9cuGxa788sMmRzZU8gsNfHfCYQWP-lMb0eQQMlSPix_BgOQqi9rp3qOOJKJLGXYsEJh91JDkxUtuP_vyw08Kxl8ZQPULVSXEdW7YUcoPT2BJS6FhAtDFn-tgg2-0UnxWHCXEfyS027cbtqfpfYqwODmRWGm_4eWS1Wf8tl1M5aIkHs0NCb9xu98pqss_bKPq6-o_kU3X-IpDdwLKOi6qHI6hF7PildAhSVAbwwoIvxJJotCVAGdBZzSQJ54dsa6POSegfwI-R9wjxt83DR_DWIcn7PRG7iMQH8MyrlQB2MIzK4fp2FrZKU7YfLcgTtefi2-bAm_wjEUq08bf_9ZIpRUNqV89kRbD9gL_oTOFcfKzNmTm92v5LSIML3NbAtwZV5WyH17YoR3-8r0XLOZmFMhBUgujeko5UMpZMc5IsLM-2f9YFNPr0U3SLLVUCB-wo3H85j64Bg5JrBPO_MzjhfVDmHU3bQJgd_plw_66EUDymfbBRpxuNIAOoWBrzJ5h_gK1vB8wH2yNfn4w8X7_3RLjQEHF7SwCu4dr4ndqS3Me6EGtghEQMUlfhVJ53ynTyElzp2fcULU4XjBeCED5tBrwZjHGEOMTvxUV4siyngqe7ixkvhFo46C85TRO15B-TnMVVZMVuaXnGew2XMYlQVj6zm0TSyg3xR-Mos7jUtyauvJ1yvfbN13nz7t0lmG70RbnVEXNdmcdmZJA7qZU0Fk19ztkWzk_dgE_dZdnMtvTf2JIiSgGALll3rQKfECJbjxOI8r2F4nYyuEn6hZ2IOnS0Bbxl-SjMGpmUNSS6nLsRgLhtRy47M1F2Pz4W6DWeaEILu9PcMNcr5Kh5pIRki3Nr6lrEpD3QtbEOIn9Drstzen5CslYGAIi-74rUOn76z0Agy8T80WQmBr4T-Hhga7T-0qR81GrTu2za0T6z8E3TR2gVF0c7VxN7OdBLvmQpIqfSEpTuY7ZGOkz9TIcRig6UtkQdz5oB5XcY_mHBeq2rTHzLshaYcS83tVV7yui391gFTjmLaV7k8261f_n5Y_jAHQiL9YWUC44UPtDvGfmBW810mGCBzxcqYY0H-5XVrwk6gKF2ZCR69hW8Uco7bLpKCMPtZId94RHpsVH1788bYaZFJTHSIDgAKdnZ0-UAKgH3atDonqLCZEV7rPM-u6_5ryq2N6x7qNyzMXhwTn0IVZAh8SQZIZTGLkPmZUL71TtgrtA5srm0zoZelNAk6ER9Z7k2c3C9fK6aAlhiegcI4ESTsvdTp9O1_3XvCeMfw-K6pJRH6Cyil4blD6jAFOVFxmgLCyzG-eiA0j4USePYvk6ND6uFwLQl49FIVTQt_F2rcaaKN_mzafRmr2nmOvpR_bwWN8ygf5znl9kTDTq2TdpKM3zyqyfm3NRmB44DLj-yO2Xy8rkn0HsP_vrFatVR4Ff84nGpKKCSwcqbIweZebZ7_yyElwWCkcxf24Eaj2jpWYZ7Mh6LKz50x5S1er8Pt17wQyQjD3k8Tj5DBiAYYrSsBSdEalHvnLBRLfiPfmx_AQ-6N_eBxwaNEdo2sGxpJB24Efoqe04LTwmHHLzDcuIiF2iHPCwUz4B8vEGcihpCE4Q7j8ZHV07z-IbNJw-OLYMhqxly_5BIBSH36NywCyxwtJRB2sRVrNxouLN5RoNJdtj7JaDzJcdebt0hRsAl0YaWNxQG94hPWLu3rXQsE9yN8P1Ch7jfWSk2GTFrsi5ZapSwkIFVogKV3VWYhjZYn3FHJkcQiw7ifQ-Ddm5cWpwYCPuf4JpFYeICfqh9ol6KdIpxB2Ctupfg2I6wdMKcii0tsQaX2FkDxqB3iT67bCffhcA_-Vpb03YDJc4rsx_EXFKmbR-XyDuYSSyiU_yzRkHIFg45QILYtCgeVnIs0EnNVXFiuIJ4zOo79KqnvtyXvbflpb9TGGCY2Vfky0kXmj1Jo_ALzuj7FJlYfpNdANYyDaNYny4QwKaPbz2NvN16ITI_0U1Z1KHMsu2hvkMt4bGFOse6msgOsz4eTKHmR3Fj_T-H6G35QOm6lnubst2CgYMCSdb6gXcYW7rVri1fuxrY7paHJRvS-dIQX3Lwkrki0J9KYVqcf2IO73L-_e7EsttPn1vrMITeI4rMK9yL2PPZZ0aHSSmsI1eRwCgUQgGGnJOrexDB-L2bWDm6L3p4tWnq6XxpPmtIQooHFNj81VkYUi-xVbn2HPqBOnqo5d4_7Nzfdbit2WNJSz4HeSTotk7YpLo7aiDAvj-cHpVh4q_aUJPY4X8AwY1eOavXeKBuNbGxnwTSeiTqSePhOSOHTo8ioavuvOBqU5xZvM_rZwGBmP-m-jC5Y33WKV3qsEOwPNAjwyjxU0uEJJwO5zP81PSaLkHGADfX85Mtaq76Z2bRo4l93MIa78mFP6viJBptCSOXUfuU2cbhxrR98S4cUlBv0yzY7NOJ6m-UzSfXCY1L6MPIYTcIfnr9Z4EVR7u8Qo3G0P0CfPyqbAVHWqKkp8iZxwcwlPYbE4DRGjpMbrve3Vq0GEQTidE2wmL7_UOeIKHl-lmkxUffKEmvWjs6ojQW2lsveplM229afz-c0IsXXLqJa206YrUqzux6nevrqp2oFXNLGrh3VVZRR6_tfiY1k5WkSbphV5eLc9GcLOLa271uLq5Zs8I4Dxl8uEePnsxOxFscCYhnQ23dRDtkr2EvY0x34Xks3SjvFw2-upIxpumqogrZ-pOTi8s6vuqh4iGbqFN5Wg8ljBHIETxmc3RD_zeLqluW-tlEcemXWxiSArQag7od05i-sCXCiSVbWKn4TWw_xy_qns3JBN2ZBAgC27wl6qXpq_D2Wrw8PszKUOY0Bn1K08vwIQXRGLDJc25xSNdUFqvoiGHZpjO_IqwrZEOizt_5lXfYJS8EPD4UUDS60nxAlsV1ijGSdWfcF48yxcADwZx-5hxO6b6UL6fRijlAE650mSScNBGri4cp87yoiiNwOZZLje2m382M511eV2YbOsZDm-qGjvKsHlsN4DIDp-NH4YsGAki7X1lQUm7yAj5RcSiwDBdkaE_tzyjUyJ7oSJCxJyx9R19jLGboBEIptLAiXmT4YvemJcEiaYvovkyTxLPt1pFgkr7s_AfCHf_6eo6yftydWM4aMr8aqeoFwjUG9lHx18tbIozf_MUMF4pcvE7foudDfGmSfawpS_ijOcfVvH3HBQ7DuDmXx_uIB2zXoTb4uSjXE3305gyjOpXx6b_Ulc-hZfLyN4f56KaDKh8nytN2uci3guRkIkQhy3No-5H4uMgbOdNxeIicSAwH4T4VktVou20CVCW9uxA6h5q80CREUs808PnMHTEaD6sf9piJO-XXSKW_pegJ6ukjUTI7O5UQsFVNutIfLq4-7_tiLT98scmpabCIFcroKYbsVCSyWT6iWRlH2SYbiYxeaZJ44ydNvt0dDeLdM2fFYIktyVCIXLMEyjxA76tkawfK7DEjm4g5iXilU0SwpgqvjOVlYa_85FQFD85zF-g7wkGPyahwexWItFfXA63yGgwRBMhpdjrVbJIJJ1YZCaASWupz6_NKRir1AMLmd6qezK7FNRakYLq4nFpEAcRe8BwF5HJosqwfbsqpfyv5aPB3ocWPy8UvVxjnK-Dqb-Y8ybYf2C_skDFRRTNxHP2PqX0minAhcfKf1E42x_zo4_7eBsZx9NEzTBWbj3Eox6oZlgfHZDGOvfsZOOqU_W2YR1JZRe-mERbfkgZPyyOgEVhHBEBi0V6983FXf-1PtBZ9fYSAAD2VmOS2viliX0zPQm0Gcm0vrPw7s_kLI65lB1L-1b5x1aP6W0NaKerbsRtN75i6i8slIYMYZpZrU0qBsWMskgMtgZ0iu4VzvkTF5SwKjQ14zv1ni7cXtH02LD8F6Zwz0YRgaa3TnAOInw2b5K7Lmtj9LcwXcoxGM59t1G1uUg03kls4_eZ9LlADSk4bKoFV8x5ZqicegM0_rCZIA06NhdQOV7uuW3axAr4bDJ5bMUZguqQUTX52QEgC-EhW_x79tcUF4GD9Mlw2buqmwE4GwSrYFFayhfRAdxbDfMsVf4RupTGSVPRn7_e9yFQ6doWbbrEsy0oQKO7TZcSjBhNCT27OUzYqoPlZtzrpWKtoJjdEokijLfDDXkl82IQVNULbnHA9rpqEl1VfoXJ8kpCcXuWz-vHnQt8mWhbv_PFR0Su8ITIRIcGTSin8fwCV1RmjqHstHaK46PocHzvMqbgRovZw-L4PZYlw6PrcJbT85Hx62cwxiB3K4A-WUW_ikyL8LuLK986fhUVM6j5TwrhOa4-a-ycGSl3rmbQoBkP3T4aVATw1NZxb2N-uQdeQIJn7Q3veny99pz6hcLUGAvuPsH3VmGSOsnGbN35h648RkyjEAVabbe_VqlIYT-vDLv6VfJ2Sim0mKkOwfUOPRfsfmeJGTa7lWZQ0wc3wANYIcc5g6v9R6Wl2YrfHWWFWhg4JqQLP44RFxeUelMgHfR2xH1b4-TjklV0JQ4yUGDLYcYi9cchj_OmtgOojBxTA2nxm6h6kcIqp-TkeqbKrX3kVhC48L1pBgaiqz6iHewVqvjAvlR2yIB45HR3HvLRQU0pwmgpYiFHQOrxjMwmqTuR_Qj9_P9DftYanXkRuVkT2__tbmUTHWBNS49f4xWwWFTVv6X5qLDuNfTVHLyHrE4qCbba3jRzsq-xP7eANBSrYeSM2KA4YPpyRUf1OuE3c7qZxv2t-sj8Yg9Pymlleha8sZAt8vk61PSJ7SIfbLuf1cBRORyNa962W9358JPATItrtxnUFDeJT9btzCEoOviOFc1z9HkKMjJQy4PD9XXz58FtWxE7E5Q6RnfbZ1BHsPQ-YLTK2Ms_P8oUWISc9sEJAOlsyXe_PyW6DWVIJGeMBreArTuqucQeA0yxSUIKSrDX_dw2wZRS2XyY4uOGjFc4riJDdLBqQSFeWUWXM98Lf-Fw0H2JyF43xCRpjU3_sR85O73tywUuXEiW6K8IMTo-3KOI3snwzkQcCL6W6g5gLgj9fhc3NlaeWVayRuep9sTX6tlQTbuBKtLeSqeRPD1PD61Oby_1AsJJ5hJF9UUnh0zCX93zx-EX0dunylvtOlF6UkBAszk6nvpdkI485mcpF6jnCtw6Ooz6aOSBPlPm1hnnaj_nAtykKemZ9wOmdgj0f1eXyXLVDbruiN8TKzyGZ2RHw0PiV2E2pT3wSnJGRlu7A88T49DyjN-wabOveb4SWy1TEpGI8Ynuz9MdD2myDllex6vKMSqjizE4Rpl98GNc4UCWH5VIvug5vBo5RFcc7dYGXcGFnFDb2wBJ_cKNKmZyRJGFfiIlRlDjWAZ_zgBjhAv_QGD2qo4v1zUnHpP833SEhCuynXYrF0jczdv9QKpY_SUSRpgFoEp20iyE2tAE_vVQ63k6AEZMSy_-AKWKe42ALQYDgoiWklLs-0ZCixcIBHqobATOAXymbyeNTtnfMt048TgD7FunFpjAolZSDzTZhbOxaGJFgMiqfHsTl7Jve2jVpu3ERXwq21AawfsD4dtVOFc_D6AbHaHhwChSwi2OCyq4I4jfnlsoDiayJk0L-RNCVubqMHFJyisslmDFOkuA3B68yd88iMOiRyn18SxruzpnotwpQTEj0z5Em6WtGUMwdpcCL5OaHqiexePwlHMnS40OpUh9SsRLQ8B0MvdZYKoEnVcu4R4pSlH-_lzHsmykjz4jZE98KmqFEb9sbF9Z_Nc7wPED1_TZj6EtagrNzBDOQlKsF7fuKiiTKYQ5jg9WhiupE2IeSaS1Iwyao98ATkImssbt-rJbJPcUgqAXZ9HPduRDd7AKmgSuq50vod0B5Ff62x0ed4giplPrCx72NfhBsR6JHRQMNGrG0d0O_lGb2KtTgnPUo7TgD4JxfuBoNQysD3wsdxLcfAtwtVV6Gy4aKMAlMZVCdd7KqayYu5POVdG-pqFxn00Phnbor9AiNCdcaa2eKQSK4EjgLJDqDIzR_W2HIdtKfOBHx99TuavlEuZlwo6DypzztvCLjX7nqaZI75KNM4mVInxYZJtkjTeWZKFstwD2k6J-62NaAz8RvQ1R5yxaygxqVPITZdaimt4GUW-dJxlieT-RGEJPDwcYb7nr_iTN47njAZrRiPMYH7OJVoxurJrlenzOQrbtFyKL0BA2bWGzIsqXf4o5NC7c2kVCmVD1SI-XAkZeouulhp_ZWwNIhRMMSyc3eKwq1nNBBh_C5Gghjul6IoNnd5FwFJEefnpgOJurd7u4cf8j_R4suSYB_Ss4I1PgPz-fKnGF66DGUSF-GsSjQFSGJZiXCeK60TN-CM_9xt4vl63Gzds3uI-3cZr6kDaB_KHzmGTZEDstUdPdk-l4bz97tWr380blsg15QsmbRYqOTuMR2KQ2G9msfrrjpNs0sqePKHLzoEczJKymqsUnGMClZ38z2QGrEdUxFd06D8MJO35vhrq-zC6-P69b2aG_FaUzAaftOGdkO-JoWO8-mpi8NkcvuRNK5K379tU964SZ6ioGokMbWskaaPCN2URRDPPl9Yjp2qPFwpnP1VyihwMOnUqRdTe5NuKnMwLvI1Q91CllWWRefzOPkqCuTTObmXBK7_VZtnTM2sHFiQQHd4xvz4VVAWUiOIKYy6FoRGZ1GNiAbkKJ06k7cO1puucPixPn0fc9y84CbzXaXUDcp_QZXAop9ZGoRW3EF5_HPXI_CqQBhndGKm2AZJiQb2LPk-adYQaHaCIKyU7d05YB8uc_xeviQCVGB5YC0J4sIqYusniVxiUwY9FTD6pYdk3j3DVEhiqJddk3DLsr5i1FdZ5lxNX7AJHd6Ie6Rxr57CqSqE0JtwvPLXVjtZXp1r0vMDFCAYY12NZkTOG_fGWLWJLfIwlAtSdJwyuNgD9vGuThyz7N9HLdSzW2ZcbjqUHzfOQ7UI9FovSw2jQJCOcDkQ2WH9ZwWlF5PbK7ErAaFVIIQxGPCbVSSOJKuKgoAgr6j1eUM3ju59U3pm9DMSFCVM14_HfxCzTg1xM_KQEockUB5TISHixrf3wVzMNtkkhl77SFoCpmFhJeK9uj0kE9ijvAzItgk1dga2vPWW1BGxctw7_ofz9DQIIt7OciDGL-h-93blRweOm16Sm9DbPK3jdLvPS-wMADo0U7wkM_FGj1iG9r38c4loIsjhFbRgZPaYjaU6bxarZlLFjA9ceKA75e6q4DwTUD4g4J3t1Y_fFT_E6jRjJXiG5FDtgEw5JGMHkWLmM5dWq3jVMz6K0xg3S8npND7TFJ_GQFg3J-KhIEDfwy80pWtlDGxz_JPmTmQdEKvoHDvUG0vOPTK5mShCpofQQB8qG-sLjP5Bj8LK0pC6kHSpAKpYrp5p62moJT-W6xvEU7_kC2ZeFCk5aLORahWffmDdE9_sHTEJ_0PbAx-o6Lj8oJz1Sp_bI0s46VuZAOrf-Ml7qK_f9CeGj1ORnODbtRH9TxcsQHP8DJJXFbo-AjuD4h2OXUF3bVRKQSE99PSCCBxUln4BQ4fjnM2BP9L6S8GAAUWXdRm-amprthSgevD-ytm49rp1VKQCPiOKRJyYSkHAQ99LpG4NLtxDWnKsHCg1FbPok13AuRnNZgNqxTjyUFUSeYoy4NTk2Gy2Aw5yAwS4Rkp74Qzhv2kNZEH91QjQ2VGXKBDwaOT_tYNdA2wIIlSbsQLk0uvGlu9iRy3ThxWPJeQH1HRt35FZ6RxfLOH1PS7tBRfKQT1oR1mMsTPttDwGqGDnrptL43srkviE-pWH9kcoOUHPTHqmNz7ZzgRHOlPr5uXNv6kn-GgrLrmhYJuei73WLMISOAOHTy3DXmXTbN6iZzivfH6ejt-mjvwUGYyhSXNoDo1GKeVruFbtxyXrvm1IaERgfzmy-2kLnPDneqlFniFzUV3ebGVZOULYJaWZrHLDIzWovqSQjfLqYr-Hle4EPXWqGYy_iVhky05agnA_-m2VOxnSlkgYbokg-z0c8T7b7pg_EhEF0I6BrfRV-T4tzcwOKPseGvAu6Sb-ITooaZU4kvx3xhbogJ6ipkvsa85dR1JTSOcdpjhSvInClLXDx4wcHaJp67BjNJUexHyx83hZCKLYgswMHmk5ALztHsY_nAmgp9UILVjLs6RtfyYhZ4VEal9mspX_vqHrvmpXbI5m_hVR5shQyRx7mswyeVGIQx6cUO3yxyQrjKQMuVHzvO2Lpki5QE19g0UtID3-jzi6OKCUpwp7-paS5659ToNJd_gfrq6R8exLS71rCGPKwncss2xRBwQfBqM5ith7QL4jRZ_eNGfdzwYGgI4QnPExru3swurmYER5gQ_GOOatnwXOMs1NbEj4e_Q0sDRKX8NHgtdBcL0mFfdU2gBqlxexpFk5M46kqupWPgubvXHs9utrcuv82cIOrB1ho3ddSwc1OhLT6VabtrR1k06Uax5w0U01j1vwIFJMajpXYGzejeI8JXK2rWMLzV-vWUAsMymnbcSbA9jUNMvobe1X4lCGRYSFVHTpQuqcGB5ydWukUiycV1SZXD0OPAtcYV9sKbV8eScimKEGsMqc3d1Izh_jkWqnf6_CHZaISVBSdLX4gQ7gc0bsPO9oeXTvz9spvp8RGYRmTMoxP1q4qIxs1q3SzFHJCxBDdYw303Tq5Ecv75I3eRqv62mF9s2Ae_4XSjfQqpvVSEAYyx22aELTiWLpnRCQKOXeKlF7CabvPmEsH51BXZN-6glQH9JhpbQMIGLjeG0Lt0nHZvj6vcKw6D1w7XH7UKucAyAkP9ZhUuG5K6NkCpDM_D78s0vST9afxk6lBwRAQCmsys7E1Cleyqg3BT1f8QOgn7vnKLe0NKUmZzgeoihgdbjxpM6fRut5vw69Ev1Cm8I4Gwz_JqOq2RqJFqQ9CP4ue2sfHueO0AOQIySsO8F5_cBiBycKziDy1kSg-XwItwyBJ2hprq0BAdYgCTQXbuD0Zz9if6qwac5ddoEs_TIX8WucXxiFRF_wlwJTixy7gEkWYM4Gg6w2s6FdYKJ8quxaaeLBExLwwgFXOqyhQH1Y4hECOF6hfcQSwNC27C_IJGlUcFACpiCUoFLFZPazieqD-0Utu3WEaHXCtgcs8TRoutBECSpLwnu6gIBQrkOGruPS1ZiPqKzE4oTjlyQ0v-PBw6oYUA9jIfvEr7VwmwWs7asjX_nz-9oydFZo2rhJLxy1w-1c27VPqstAje5UtHehhHe8ZXzeKoSGHW1fIfLZppaBXc6_Hrffkf2ikljM1RkxPeSqqtIbGFgN9esn90JdWbHdNz-ZTQutL1BGb2Kq3JShqOsmujUPsNkQg3Arny1hmx_LNDLTHw4ly7qsdDLDaex7cwvFiMw3nplQlqXtMeaaFjeV5Y1RuX54iO_btboqLY1Oh9L7_zygT8lPR7ZV4OVc9Txzlf4Cqc46AP8a0YjiIP78Fj9NGRICjZ_s7JAXExewGcsLF0GUXatkMivx3XABN8X4jzeN9QtB9jnszjIpiZaRPAI8Oe9GTqvq7HLP9G1ClE8L1fx9dZlSz2cJyybMq8vYJrL1b7IppqeXRlfak7HmaBoTJukAILFiG-fRs0L1wg6Z2c7AL3vyBn-ncRGxSvLZ0qAGIvyi1a-_LvO7BRgTKaS16Kyo2__8MSrXuXiP0tFQD2MyywNFbwqpF6umUaQZB0V-ovA6UrhM1fKKiDyx-vPHqX6jNzaZgKMwCt3AsBLODlQX7eqXwhC2r7KgVmWXSRtLE2AW5BiGxwquDytZhLSt_GC2MU5q1B3Z3BNHUyF-Bo0NaTe1Vevb-cxzogiOLqmz0rdOV3XldztwbQeqG31l6uuI3b-TrID5twQcRvTCjLT9zEyua8eCCi3p-T7I-rtpsskU-nCheizxt2SjI_PQna69CAEWqAGfPVFiDdee-hoLr8GU85c2WzwWB25WIlTLI26x38tlwSww8UU31_j993_XRoFApjmwGXXOoRl5g8Hzojb2W71NqLLYAOSZeyJvJeaJ62mHepa6S4kPO-yKmR_ixv_H3TKaQ0TFwMvrBIE3lnovMHrSNVoUD0LCfU_h4u44J5N7g-B2j8D4BGX-R5I0mHB20LfDg879VyAW9n1iYHLbVbxS_1KiHxl4x7zSdbRTq2nKjPktDFwHKR5jxr5LhqQmnTk0dFKmEVflzZEzkVZPL-r2rDde-bo--mXeKcRb6k4-bSrOPOmA9PX6qO6t8oi4RDeSsIG5DswlDTuG-g0bexBWlM3S0PShFg4CtdCUFLhHgb-9ap9RqQx1i5nLNgkiKnVm0yh-1LMFv-sY1hqEP6wU9wxahFaX4kUZzlSIppn304JKML-V2foRdpGYYcvvos0t03CfdgQ4CppcGbbBxeKiqYEdzJcJXl3t7LLLJ_bNssJcrXbnaRJqnHldJF9p8DUed_gC4HPTSOLUZqiLO0mBld2Aytt3vozTHuVIY5OFq_rwxmTCrrB-NuSctBYJ5usJB6BH_DtqhlyUpwuzizObTzREqRyk_vSEiF-wexv2RrTSPavek64LP_6xn-M4EUndqURFHggbx366kTMpuGhH9XKRBs_QakuEhqdz4OoYKt-HxA6BcgkZGkxgtvaYYL3E9UA6Utp6lK74CRwPHofqyUrLhfN6dLCh40jWf0aBZsx1hsUfwPyw1_5nmhW5SIwJ7H2w0iLVizBs7Ysl7szgqbIHi3ef5iJzPSlid59njaaUbUPCT_pA2r6Z4QorUItby3eH3OK67XHLoGUJ_ybaMGz3bUU0o-b9bpmje7wimpReocub2mZzlDqsnVffpDC1ty9GLhS0EanWAmJzlxKKkRtSFujEeDssyVlrmqoaWMdxIV3qAoS4cnZBMSlpbtV3oYUPMOJvqCSEvCJnIF6GxixatXOpCn23L7p-f_Ibn-OnVYtp70RUgczWhWp33nmiersTqfEhfbsTZVJzej19-WmOLb-38zhLbO4Gv4CYc4dvowFuqTHz3T8K2azkwcssQJTZn9NmvVLe8-zNitrgbrodqSEEssY3ttHyfmpq-DxDolZynJiOay_2VEyisITUGuzd5vern2lMAX3JP0Je81KLp4xljvg6eal-VZTKV3twZChJhrIk-iL2RHr496s9Jc_q6Vn3W7q2HGLmcjqq0zbcl-OmGnA-XbXAf4ieYQoS-kMqXFmnjfCDoYfApJIoz--G7t0Hm3XSZI6_JwzS8pllQf4gdkXfTQOuurOh5jj0jPximP-fJujXt8FBYgnnMpSgtzH5haMuCUGS5hc5T9SZm-3K91YWQLtpfNrpk07is1BN9mi1QTzaud4M9KUZyB2ktW0PcFzlWPZvvJPVq9DcSHUV9vCXFwJ2G_MP-GquZu04BCDDWZ0x-0qiZB2tp4AYgGopWiGxJmQQDt2YeVaGcU8TPZO9SZBG7LB19aHJeDMhSqdazkACsD_yJr_F1CjkcXPMEZ1FT_ksen3ZEVagz8fL9aGrfuTnBAeFEGmc1xw-RfmLZxR_NcEFWCXhhk-m2hJLFEkQhFlyYrgnU0BY1r70KafVKLSKcG8hrVHcVyJXkwAhX0PG_6oO96iflnYeEsfUAM_-srECB95z6dEAdKhUyWr1zAJfXzarhdj_CiCkYybCD32vQvz0h0StopEw_0wL7gspAWUauUyyZdvOHLIFZ1og8A9jZpNiNeXK7u4PYEFtzmYm_23TN4GuaLuW0eMSe7E3Zl22bsAMd3kLK-vLCvffP2SFsgiw4XNvO4TGqDtQjADeBVPAvf-OugkaTGxUHV7UuZbq3gJhKDoi10rQ5n1EV33WZTaFKSuBrCJlMOVCY65dwTOhfgQvJBYmm4QAEZrcOfPGwGxnrERuXryGZvy6a0_UYad3chjqcR1MygTnYev-rwcaVkWwDYwqwTiEHKDWspkec9OnptTLJvkEBGl8jCWbR5lfhu7U9UNGtypqzRuh_4T_zETr643NacxpFU_AUbDs3qfpqTFwgkFqdvi3dZ4ZQYJPv5w5B0984q05hM87oSpdvdHmljL-wyuHAzSKU5Bza9A_MhuJ2lYJGZXMwCNNmN-DQ5clzLqrKffXFxzpOCYyPUl3PfH_iZmxusFPnUqltg5cLuzF4Bp0PPzBaYWNCgw0cCjiVVeS49_YM2M5fur6m9L_OCVsjTKx1QVGLI85lhgIg5CylcfHIA1MiLr61DYvbNLkSnyQ6bSnV_VvbgulAG0GzPkaeUdumsu6hjgOvzWrVTnJ5M3qlanIlqGYaMyYMEo8sbF2MinCHAUaUsYWThOHpcgG7D2alDBSod4Uw-WYW3vsm5e38nMf6riYmJLrgGwgEYZioQIMVKcq7icJNBcql6LogVRhorMO9lcpPc8u3Y9v1JCGqcepU_ZUuSrVOjclsWr7yIEPMdsyAxVjAPl9d9EIhl8sC83QJHjRYlsAqY5zSh_q4sZzfUFXcTP2wsZcvRliRxt0EnCwPB2iB99jgrC293FTm2ct-CjOoBZRg0qyyNQ4S4qwIm79SmsxnVIJ1qUG7coy8n2KT2Gqt6VTFzZUHiAxi2VywU41ku4VB0Vjn1UC1L2u1cJOdg060ULQakmO-aQ-MMG3e39SPHTiEvAXyQe2IlIXmsktz9gmex6Pl6KklTDsoWrRU_wiMyt3UluVmlUjDfherAXZVgCl7PN2lLs6k6Owvj_Deo5qbTTpI7LgS7_ojAVJsFyQU8Gtu3CGdWiPekvaLPh-33CPnDxRc64ubPSgfuaAz8V3PsJ0S9NwL_F7d0URLYbudEC5XuJHvN6bO0NsfoaeKw_A64kgCDhacosbLQzyM7uAi2QW5IOhMhrV1OjSavzXwTEGZYi30wwAV5tS5ngdi6ZWzTqunG_JPx7mUz33JCDhWA-HSbEHAeyWdsdMoEntXU4B5vrxLVnP1eP3pSUjsecWZBgFp6WhDA4u-_v7HhK2Ha8j75p0gm2c-lDEVN5W2MunT8IuZWYp6Y61eFzAoFQrdwSKuYiJEVbOjWIG8_HDoKaBOtzCs5jIN6DuFMYtDmkTraw9AK0a5IDZ7mEcFpX1q6ZXIjaoziEVW9e_h42jDmRPmg6EURdLLT0w-fPmBefCCLHyosb9A6-eY4nf46JjjFnUw6JN1xWN0j7nAAJtQWKvws0rceh0jVhTS-sLsTfqj1GbpgNXzh4KWWQLwVx-BB7yzV2UOx6o0HRkMcHUVX1xK58cQwlzVNfYQ-VaS2SY1Z6qPtTxHUqy_Lf5ggO8VVWN-4LQo_d-XParEy7rxNuuogGIUxNRN54KEpiVd9k686X4docQI6xnQYQImldxFdPfE6B1RVsIZIB2uyFkcg2y7SNOHgTQ0xC_JdAoxJE46aUqAVJ9DcF5q8l10GGUAWL69d_bqsSA_7gGuB8diWo8C7fAF1etbd4L6vkI8Jf1DwZO17J9ubIvuUZ_XPEpihLBf_ob-s-VVL2df154pWzOVmMo3CFlv_ZFlSUKGBKfnVg2trkpf9Bh_mTrXBTQpjEUdDGrRTERb8efxPqoBx16tO7SlnAYAHIM1CEniCdI04iiStGfoukhmiRpt7yeJG1Yf1F26iArnU9cBJNy1yz02lNIrc-QnWBOw_vvQB5zUl6SoDNnc55uwE4lh_eKAthlJGog8FtwA7UfCAMYwjQ3O0sJHl66taqGbPpz51Mv7vuTF3zV33kwyeiTT_9VXsq2IYf8Y88O9r42F3uoZApUQz0dgVW5ZOPWMAUUyBW9A6si6-meuWyiixbEa4gGE1DLXB1ByBviYmojEPuDwIyRB_oLWY2IAsAksT8CDXU-zA-t8oFPIXbllkmqSW9ZDhPhwT9JYHw-NZ__sn1ykNBa_rXRK_t9LdKsPfd99RpuBOOCgdt3ua8nyTVQfdiuUk2F462GrxFU3lgXxAN2FrstgeLNC98AERuvElI99c8FOpz5JmuIpt9fXWEFwoxd5XWoxQzGhLMxeaHgMCAC1NZkSj6-ZMktcnOU0se2cW6AynMrpd40PrI-6bzIzbDxXkPMNs4y3bmGk3tMVX0DJ1lKhd7Qgz7oU1gOVBVvIeyCunZu5ZS8qJFYnLzZWjyE2CtYEkKfFGhhRrzjIE4BydQhtcIbQfU1e4RwyMclVfoTj814VumoYLOaRItmawGPGJzw2niq0pkdC8jOtKbdzo1mIOBxAf8LG6vVeojMJUEsFTYg4_w5jNPVVYLsBamIG0Swr2SBAdF8dHoWLSaGrTnZaQO-_Gb0YR-mDwXWKki8WLDnLA2IGh44LiVURILf90oFM213X7b2vYkMklOqFOkQQmf0zOxEBTti97elHTC9zV9W5mjNgUAzrxCnBhTrJqtP833aUYa32Il7bNEZ9nNnalX1dSIUfLjk9YDZBshYO2cBzLScz0pOwoVQjjrUCATTQmv7W9ODR0dEs8r8MbO6s_qFts4_A7EEwAyYRXTLffvCnh0EngKwIK_jy1mNVAYtFairYF07BwPw1Uity5hF17yJXKeZn2j_2QPtZ6SjsStntogW05Wj4E5obKybl6TNzi_7ILDYg1FB4ok8uyOStZvQD-rtrp1WpS7q-hw7dKJoZBOZG6LKY4wrE1al0lVzSXwLTMWJdUa7nonplqK53r6pXkjoPg3l0yyGWJqqpzIhMSvWrJmzEi28k0cz-WiAX5Hn9PUJkJoXNi8xEz19Vm_rCOJeN1esQo8ODxUxZcoltgo9uqf9JBgPQzpV8NS8IKNdTCcRcrTqyQUayxWE7ABI2eVuny79WNXlR_tVLRtgDOV-wurXEDo60N43PLm8VUZFtd20s5MNl7ZBVfT6jJuwiKijhMwevJ6OFgxHyFvIFB6D1a3WOcVZ3j_QcMSu8CoSq_Nv8inGyEHNWAM8YC3Rx2FcjH5RzudAZ9njDYiH07UI3j2l2WcVMvRILVtYnIvVFFZ69BhJp3_RF07i2RW5AgojD--2oZVuWssiKUnRTUvqLG7WErt3Kfjt20ow3UhIu6uUkvQiQiGVi_dGGBB60hukFRFn4SOdbeUsZzCD2ypq1Iz3gXWtcHiwvzOmUMse3dMFsEaLjZhsgMVxOKdkGwBOC8bBCibfK_KbNhDkK_LkYpMhqgjxGPgcBJ2fsOFzcuuoYXnd_f91hq9L9n5qXxF6fTS90QfWYBvKHQABMyGTnjZ7B0EMQThuYVIhTFdhkWo4JXKH4FYcNb6CpueyZimOXR2Lpjkfk0GGIk9XoLdg9Xp1UFgmpJj4b57-8qZh-0x3J27FiDoghaR5w3pCGsY6SaQ3re_OrLtnfq04JwMijh7n3dPJYwc93kE9-r8Tnv8QSCnwR7hoN2oc2ujCqgB91Q1EHELmEOswYguol9DCTPgtM3oCncd61Nn8dV7KSGLjTbh0YyU6ZE94j1aWHqXeChMTzekc4H3NEoN6xyuCo63CS8YsfPwoR23laZFJ8iNkW5N5MhR7iTuJpwmIspedHi5pFhcBg3MD25Rk8hM-ySGLai-SJCcWbdCQBOres6_2hjuII3LHZXwkVnr1NpFjGo5bLfx9f2nYrX1KpOOMa_l725al0khj9dbOX0CtSrwkYWMvotUEv8qx1sfhqCTHdc1l174fuR_i74Ofap-xBAyzGLvgywJN1IdRpEhDv-p2045UQfN0Pn-pyUP444qsfFZd5SVt6uPp_UkF2ztF8AfddaEx7hDIbl941NaIutMhZlWy5EuEvcKEq1h6yUWd8C4_e21Mj5TIYHlMJmhLG-I9Ei6ToWzTSM6lFlrG3GLzZKh53-Q9ihZYtHFXf0Feaqlbqto0x6mq7ysgV0hHV1np4TOPh5nbY7n-cw2aLFv4OHwFUbwE9x5lvRGhHnWi1aotzdQ2hVrjbhkQIse4Wz4hnZgPe2bpR6mJgoXp3izYyboXQX1PpBIqT9dM1WsF2uJ8dieMcD9dFZTHklTndj7oI0JZLrUtb9_wqUmAKrD0bVwVwy-4vk_OHj08GEF9xpdEf16L3OPrihkeRMDWbuPzzCf6npnIPxJeF_8uw2urYTTQf-q3LBdb0iSIEdWNU9N4Lfj5osmEgB7jOJyLLMWJbMkCrR6LbmLKyac_RDIldhw9CydoSxR0CqkRKx226IVs-e5r582jbSxavnTJCfeXaCr0f1jSsi-Un1acuC8K3g2rfEvzwPoY1F3EKVL2EdzcOLVAiI_tKebk2i2Vgpx_PnNybcUXJgE_GmZ7NUv4p3jOT3pOCbC7MI4NZ5_p6xTT4hDJaUo92zxzY0SSoW5nwVei6qkaDpJs4fKhpMaxVCZe4uGDhcq_NsabTXNTFnwV-HDYrZt0wzfRh4oVEwrrVMvfV3hqJs1lA2uJFSLjDextel4NCZ1E_SEJ_ePc5ahN39RiHXsnnXdUt7qxhNj0wVyQ6ycMa0ZWmpy96CIACv3-BYHQxBtOhAIINMBz8IkNUJR_QPBQZphWkHQ9htxhp5iPUaKvtfVPykpwBu2b4OQ8jE3DY7aZ8s4nbblGT370zzjWO9wiNIPhpZVzLpnNEfg22dJOwSCp9_LffXsSzu1QCwALKVJLq_dxf_fs4SAC37OY2FIxY-p-WkoFrGzUkqKhbFqdJyMkDDTLUerJksOL_jrGIPWS0Xc9sovHDCYQ3moAz8W0BEw-dEHJSHl88oR_-ROeKZN-R5TDrTeSxodZK_xuibB6p-hJ9tL6zHIdCydJXL9bIOT5Y3VN_KnoANJ_w5Jxbf43n1M-r9Vpu0mCp7UrDlFP9gro_K-TVOM0EyL1KnCfEQf0KaNzbsFZO6qWaP8b6So9pGHMhyFBR5Ri66ciKWYbrqRMWiRLolT4VUgj1AorG5zxGGrCi9hI4qdR5nwju2cXB9FOq385vZxpjWzyCrDEZVQjmXXIj_jIcdmk5ItfaKARZ39O26P8SSq_HbsSDmAugygH2CDKp-hgxfdU5O_jqeUkNOWn7AiokTLXbeXG-sxSHGUJOxYGtYDUVbwWhqocpzT00-uQHppWQZxj8QTLMRUDnMN266HurMOGzMvFjJAziZj2FJb1rVj2SKNrX5aljf_vYWDzms3USlmMYhIoBviUcuCG--XZp_eWR_EL1W1W5wjqqwdiwsSP3LPnuOLWQeN72ZBkOxYW9ee7Lg08-6f9U9uxFa709x4L_pa0jRGY3SBL78ANMb2Clq1khHBOzDVAMk8aQIMLTxhIuJWzgPUIwOyEO6Mtd3STjPNfgsOZZPtOMaDJUq_yhJxfjXsKOXQullzNHD0KXU4WSyvV95ha44GNk4NPVkEZvj4mMjWWGVVeuowu23y4xoxdqIW2KATtSl-WCg0OPXxbPuON94Rr1-Unojzyc3I8tCtY1PRboNnHbBpGyAt-aWGPK5gTx3LJEXTyW9ykqdQ0v7QPik6MCOxsMSDFiE-_TlaYgHD7ffTUg4OmhrYff9UevO1svFleMPz2CUX2X-m-sKAbFmNQ5a9KHVcTji-cqX1HbXG6vhENcxX2CNDts2rXuUcDLGQlAbd9BcO1tzErb67iEjxXIBquusICXH7OOHEpunKbyEJ4Lpx2SMyGKQX-Up8vVByTMC-BM48ocMwsgdl2oVzc001KaJ4KH-mpWQ5hYrOKYZwhnImGCIs0x7-WKYOlpJCSJJj_InryfL1IfTGE-dHJ3N_2DrQTg-29jO1hVBCRJaJYPMxcdMepz-Q8eYp5BOGrHyLmPqa09i9vgF7n1JZstnwpboib017Qe6naOj-V_XJXLFhZB71Y-E6NRX_LhZ_rgSsO0yuy9r18YVgKDdDiOrxgIwvgKu2v9z6obhwVwmQN7CNpCN5KbQDa3ncG9k17bK3zTUNK_BuOH2YLxVh18bHQ61QdfmvkLySyFG2nMli9_GVgDvuF_-xmC-0dOPyCXJSSea7OlB3gSkt8cTpu6mzQ1Kr8qr3kGb2KAz9PPZc8oNCjgjhofuzQEdXY9WkjPyIsnGS0UNuaRUSnKWmAyk3-OqfNPH6qa-Q6L-K10rS5t-qwjyzeB2HlaEbzl8gDpD7m3HFFh5GGfl_z46U4ern26EvAO1CRiRDqKwtIxhqZc2Uv5gzZXTED53b8Bj3m_iZzHFj8XleMvh2wlAbttKP5tgKTt_Sg5BcvdORWJLBBzRg0KFiiC0rd0Ry92vzAdPejy9WKz_Njxr9xgpt69tnfJMnp1Mvy-LwxBh-K1yICnaoc9upsqabyZlW5LJA0aqpNXQNP9_LvjcuXDIo3ZNOP10uqF77Vvwvix0v4HdowSuKG2BxN6ZVUNfzMe3j8wSyLexDfPK8y2mOA0jJIWTpx_1eNQT5VJgyhp60cn-RA6u7_CTT8IHi8fK0Ma0fxFloL9GhYfYguD6E3UAStn1yjqj0eQRSDkIaEphsDg9dGi_phciFiG5ELKhg-QmMD68PmBXVRH5XHYa39Q47sbmCwRnNMSMxGAm9NjX_x1-5Ei9BVaUGASWDkNBJLcxc8zFEhj5eVUwAjh8uLitgJpyqx9aS2SkaWpzfZAZFATAtLH95ELpBflZp2idPfpAqm2DAU4RdnFPynOxCR5Rq40obgRL_uhb9of2qvlIFl6kwV5EC2lf-qcvPCxdEypQMc2xGB29rh_CyJYCjNjc9fTqxx5qb_GRZNmNsc8DE2PPWH_MdQaW-iSVfhWdIO738WKzLfLol5s1sP4rqMsm4UrYiLbFF_rknrAEmjjXweCgmwUCfiLEu7bVIFsecnTG_JTHipUvtiHfdw_RCYn9z1FNAdEeWym3S9MWDaq28BwQApEN0-a7K5Bz7S2HtA-4kade4ZNT5MKit3uQoSB6REjSPyDOKxN97bSsEOSISBeAYtsyToag_oqA_WIg-2H_LpasBHsHQ0RkuPwHwVsP1qC-W9V2YnKlBEGIBWwlttzpeS9V3BFao2qyKj8JKiFsr5WzTIyIwXTX6j4tDHyh5WkoBLakxewXzTM9Uk2oatzT1GfqMCnSB1jz29Ya6qEhuRTvGGZNFMUaKxcoQzob1YCRvVaxLZN9OjyezKppWzt3i8EK60ljpDybuH67QQgprLv1rWfk47ghTgEJMxYMobfatKgnCFJHkjh60LX3ZS4dl1v6HqlEMvCt1F7VQ68x1dGSQwLQNterskKr_3F9At3ocFDb8pxyqNqRg8UA0qH5BR1_wySkKdMyIUczhI4BuYzHb2rI00Hc5dJQT6QxgAh7yafZYcaBKMDTlShvOsaiRh6UK020WsFWee4M7wIVzCaeco_Qu2Jlhkm89LAg6VE2ffxfOyhYuDISzww_12Mc7akwiHmBq7WUEAJD0BY2SP9T7YtO-nJ6mFUNJpIsAyWb0FHXJ-oki58GbuKiY39GFWW8-IZSqtN3zeyRakfgOPaKyOO39I6nLRdd81wUu6A2hjpnfiouuVQE1DChtZMi8LacU_wIS-YmtPUUnioQq8G9756WCQDx3jivb2hcqDdf_JJyjDUsZPwO_KgC9bpH2htL24DkWSBySnRvj9S2A3_X4P3Don5Q12O6JogTHvLexP_0OAIrIUbaao97Y6UcdjEr6cx6H62IQAfLV0ZSmeM0k4E6SjwwTyDm8h7FkhOYInXwwAOjh4HZngoN7RrCJ_a5lZLbB0k7r0eU84N9OpHKGka1fwDgCDzp5kcpL6UdWWX69WwsUjqYhap7tUIShOc-hmuYg2h3QswTth3f9VwoRpChIqBubfoPDR3Y5d3ml2I-Eu9kTOflH5absM3IAfzO3acUC-H1Rakvy_sL9XrE3do1I9paYtYi5bgs4_Oty19k-4vIC25G20nkcchpsILFUUhB-pgq2_3ZNecFXa6gzd1KVzWYg4fe5M1ZxDkH3gLfCBX5wmUmmI7h2tPiii3juZ6lsuydnCfvAj2AeMpT5dkMhJFGoX0OiIjbevR357nFLpI1tsY03PWV-ziMf8QZ9V_Cfs03JnFVaNiMoFLs60eXJyzpA6IDjcA9GN_rtJPRg71_XX7Zo7V8FdiJ-JaI8hxkclA7bI_HOKdyulPmXHhE6NRaLyIrOQPOrFZf_DhKa1Nmv__3rY-Yk2L149LFeqgaMTBoeuT9WSv3NARLI_hvFHjE9x7Tvj6SX7uqN5NbD6SkHrDYMekiTZtzhxyGsm8NMLdIaVOuRd8J4F_U95W4f6QWtcGIJHmmMDY5dw0spMdwy8gxVq6ZjXQfRN5E-bywLh2L7j9zXz3IggcJwWciGIUfUTwqdQqhFewpSuYrWxcr2DmCEZhg7LjaaXXvkD13Tr3stY-UfykjQ6uf3F9rb_5_MUB59FiRVkV9KMQu92nx64Yczd4tgXvRk2SaG7Y98CLHNPWN2ADXWvluqGBtekFxXHja1sqnKfbir6f3ocCFNBiIwuPNL50_vGScPvuDZgoSJeD8bBD5cUEWvsBEyvTaqk5Mr0VGzLkxWbQiRS9fM0uM7Dxj9pnWSwlFRB5T0arUVEtvhzR2MucU4AbMkczSnTcXKJLSTY5eUNNv_g_sZsit6BKLpx7qiZoVRRwcuHjSwWM6ZmiuH0F0ixUxsECRM4GfaGgy6VzHAJicvLl8VkXtvpnWXoEPrE4bwWg9NIuuw4125bKwCpaou6VeNK3n3bWScMvJXPXwuRAnNCodsvE8wYyFObsCryd4MkmY62swXInEEWe0DUx5jq4riZfF0jlsw6o2WCbiCTsicrSXlsvxjEeWbp8RDPqg6S5F4O68EPM3FCvL81Sa00oZrANPqBpSgEP5UOv0M5iM3rtmr7OcS_Y4wFMPRBQNf38U_yDmejE4m-I4RAWZIkPaUCx9MmZlrFYA81zEzOHWPDs3xqA3xpFjBVC23yr6V_-wBixi_ubqd3MWUnn7rxSJV5tI_U9QNnzkdsQoFfnmR-dMQi8HlBwLW1FM6ElxNim903tDuUya8th6YpCVuCbDoJBiyrrw0-tVxmVd9xHG81eerF-hd9-nKy7EHcGVClizAC9LyEODyNHgn6Un6_3iJ2OUe8p7fByx7Z4Z9rCCXBw7oIeGfQMqR8sLHNONlhIdLnfTnHrM0uuMgEel3gJUHQhMF3U1Ip56Cxe1TJHR8KJVfjTdhYu-q-9enCBvByCk-HEAIlbpTqUzoWnBAmy5_JiPguPNQfbu9DWrOJpd4EKYrlaIlDlyBScD0IfZdZIpSrY-14SlvX-Y3k8MhmSp1_Uhtf6dVPW6YiwuBt6f-ldEgOyKF_WiJoQrVbrrr17orrvFTwgNhuc6Q0NmXwWhG8XcqrTMmyQ130t6oLs4Kkv_9BBSBM6fHXZ0zamfXXfC4cF3katA6RrL50hcIqxz3rRdW0eiOV2baIm2Qp0XA7kYDI4LK3A3g_pDadj-MYZLRY5awI7rLHEcdqf0BZoERYm0XF5GAEKV1_X49s_F0GuQJV8F5-9Wh0Sca_Gyfd1wTTq95B30f4NbsS07kZ-rZVxA7N8-gkDjCrtlEy_vndrmTZg35x8IToBvxMEr3AaMH-Qv15_mECCAhfOZ3ttt3PYjSpt4sTyKw-6EdNEOEXuzTpAMJi_Fi0l78KK1m6Ndhw0xRHsMQ1h5WfV5KAvyuyoJ9T4Wwjpq5PdNL97quM2Df7qtKMMqfrCxEYhdthOSMBLXZxBWnlW4R4xdWhHzWfYe_1ISzgw_ebO6WBRGOiz4qHKtYkhb5spIzLwTkvDPQinm_DXZm88hSCiCSzLPNcudQTaGaDcIxEL_Ow5TxCeiXgMWyuh8lf2_eWQFZxrYwT2hENAXC-pnX5tEwWZTAuqHdDLwxYRufX8Zc-EDjl9kYEBjSeNlJFLFSCleYrsMTTLNyX7N9UI8kNb4pQuYbL7vv57xOwYb2Zdbq_CN0_L3sIeKPARx8dmjRKyiiBcrewuxmn1bwKtjDcqf8_EekXqTRwdC4es8-z5n92zsjZkVIHRdt6-zKKUWzmnZhWSaiRrmgRxTZEWt8RUxobklQeSE8CbCNA3dg5apJRtW4ej2RyvQhm4bPIC7VhdSM9Z-P3KWctQvqZ3HtwV5ZLbUAepeAXp4A8RCYioPNE0AS968qb1hJ8EIFma7-6A6qDMwF495izC05_R9k1SKH-u_1XemDzljKHTgezNbKZ5qZWaiLko3qwJUdUcqwQ4z7PprLDy1hEnmvPHV9rJwSKBHLLt8Fg6dGWvbPJfes4q4bdlQFQcyhDqbkza8QmjfSOBqcSF5JXpp6IE2dtmU-G-r-y6Zht-PXfBRZyXC3yEoY1kcFXCAixL0Pi5ysI8tpcS27WiP6yfFhjrwfg51EEsbx61dAVQcxICFWxuFmzquvVZSF8VD9TcuqcT3CtJbHre1q-2ggVMwjxrGDrHRlZvtKsQI34Jc9lRVJytGaymlBLj3EbVKTFMX70t-AmvhVaVfHjjcXjsLEHiac922HMXSLhsqdKLf4vQO4b8UmzcJmMERop94FBpdMMwe7gfHpoo7gyXUzx9Vio3l_I3O6vqv_Hs3ZaJulkymLO0WPdl8-GUFrCbeFT-KZTZeAkirQjwxE5AX80iYUn_4uzF4iojSygccDCodHPSS-UfPC2nRjqSrjgfOO7lKhZIcsMX5QjQj3xlpXsMqK7iFT8iAgnJtOiFlWMTa4QrUNG4MYavFpprReVeYsCwDLydT1MOeBkTbvO0rbvPA734qON9E6sBrQNDE8Ic8_tgoBaA9vYqQLv7mwi16a5TzUT9tKnkD_CCrC6Np-fqBPLjK2slIn_WdjNFx5OcKgqh-A072Q2WG5unECVHWIf01ZapIoKibeEBBbrTrV2oM4-hCowqOQmJ4px8fQn6-_eJgv3N0Vanh-wcndfuGfoMymz_8YSkj0SypbKbCiE-tgzGVYEse29jkD1Ki6MEbS1yN3hD5dmuUJYgFpeSIBZ7WA-wNnadmXCKgOqm2P4XD_pdzA6EE_z55Ny2gisYG9OE5LQmAYcOBn8m6jkEzIEV9B042YCpjPHfDpMbt9pQJr-wohxs__GVL_PaQAD0T7EFirAG03oxvrarwDd3B4SzwvaQpfSMtlXmsCpTpu7iGKwmbKE3IfDyQWFVSLmRnguyPyYiX6NDjg-qxJhXbofmzcTCS-auBxZ0gxuWPPc96YM-wYtg_AFUwsCsHfGOXSZuXc2WICQ2TsAKO3h3Rh_LRvT_inQkZjRA3giff0lQ-3LbieUOqkvsl_vVdlhUQNkY4Rpt-GQybgrosCgNR4er-xvX3wtOs66x6ypxDrc5jmx0eBspd6rSLUp_WdWWEwpnFqeVQ5qEMVgSASu1bSfQalRAj8l80XB3GXOoI9NBXUybexnzQ8V2Tispt_fYcn-lM7kkl_tq5PsrccPASB7oJui_p6HXoZ00KB-wtdlPfoNbOukZYoUCb18mR4nDp8aHYW3Jin989ZD9scpogMkWWsfCecZBeKEkt5CEshGmYzgflycbOC6g992nCEjlz-HRrC_XK1gbQ3MU_XickPdtmI6eaXqcJc6X8jWoJRboiMxExdwDuDlcjTF5cQy8TZ3-3HxqgGpSCd3elasnFYymvq57J_hF351AKrayflMEzoWntRRyQ5kTl6Mk4mUwlJM_peFisFb1q5SFYFd5Nm7EipVObkSfEHZJVdqZ5wSfherbm8lFTjVW_mPaexNHIyb9jUolk7BdimrPCmXzTzWc4GVX2VNSAaGks9SKi2DTPAIBGcuqs1i5uvzROrlWi6pSxxk_HBlAbKOz17cX4y2w3puLfTFV0B9NkOiC165sia4Mf0sdAo71lzgJhIpt5VgdwF6mHDFC-ex1IelcxV_agQoqxQ0iNgi_51QDBUsNNjyYB7VIX_WEwoNFfrdM6ImuGMimIMtWiL63glDbtOiAxZZ36QZltjp4bguzaXSbEX9crxsqE2PbY-YekI3_6aqbp0bqjh3hYVXW5gc1B7gtQqU_y96IBhDCYc-KfuXN-A8ovzIWHRWQXdENZ8QSJX4vWGFSG3ywIu9q4I4JPgMnVrdnQSgjooc7T0bdZ2_AXHlKX1RnY-FR-3Jtv5OtHQvnxJupIiBkBeq0vsyVyV6U2orczf6-zuy68ySbl1V9t8qi5fYkYhdAI09vsGegivSRSl6fjd6usG3hEdmw7faISkR_GL9TP9yY2tASjerLtnuERIOc4hJJP9M3KXn-H2U4lUtWseXeMuxWwZOOqopjA9QH_CBoLEqY_AjqC3gzskESbTwobOtephYwSSCkfraUc501B9dlCqO2QecWDtI4OlhqH-ZIVmvq5X8nmWh3gZhpbfSJkUDK3GJED1B0XRK_3afL2VEfWXHrgceqNwMq0fELR7YyM98G0M6V36J_KHkh8eRQei2qD2uet4IBz4TVhSxGTllPMm0SlOu2Yd61To507mgEwWyT87FQFUj3-fPrwSD_AqUrd-4qGUGaIaj2DfsC5Jw3dwBxEv0SyaFeRTTIGM5PkBb0PyrxOUijkzobMMXOyXQVmu1gYY6ymwsRGYewBMpqI_a0YlQnh9XD8eMexpQMk8OaCFY995fOykKl1WyIWKWbLQz9qXoktTjGL6a4_NfgXSe4HgQJxfEvRtBJHdjVieuKkN6cXRXvalqUvwu2ExEurEFA1c51VYfKK47eJR3XmeGrunKP0nf8xFmMOhH3fEuNawztNzkz3belG8e77f95vuykQomyk94t5zWfjVF4HCsRO9J3H54fysNlqJ9qPzqOZpB8wlGu218KcjusnbQ89wBR9Y1G_sh_6IoInSFh363XeXIknX2sF_pGifn_Gzhs4V-8JjKiwRUxVPhPkDhgBZxRUDp8rzB7drwhvjpdBWUtqM5S7-XfQ9cG2DQndjjS42CndTeTlyX82vjDsvlpZuQGIe5tcg2zAgXfQKV71tjuAfaQXdQXHbMbZ7l4DdJ9iA5V-UITJKLTLYifHi61GH7yhtieuHO9OQMeyBrCqbMdLZsEZH-riwRYIuMQEEsSiLjCXOXpwrWkReC-HCE5IaxwOyjnRJ5q2FU-1HBtIKxfPHqDmNkGUC6W6SJR44_KJLmRFR3pwBtNhTrLwTgN5yFIulcjFb8VV9zGKS5YDjUWW43zkgzc8_TUr4tCKpoWfCd1JUgwFTfFl9AqOe1EGxuSCx6_TYEy2SiKcrU02mrVHh-VBWIOFhR3bdLIP8dRQX52-_C6TuwKDmD_gbn2BKtL7bVA2Eb_NTw9RoxeeJsKj4hTVIQP1IKDPRZiqD60rp9o3Lg3UTZXQnyAGDjK7SgdDqX66N1GqOfY9xgOZLYFQSDHi9cGke7Y2knA57lMz__UZXDAdHkHm_IQJnzVBOac9UqpN5foH87YmeU-UDrX90Yr9p0fRKG4khnfqpx7XtBHnSuO-P0dz1TIkDRyonL8uChU25LOxNx8FCL1BatExRMNvwtTlXNMwl-OY0PLbOcLhVVKSMmmGjTAjrC_addhpKo9_zNo247zeJ6vwFZbJseQiBHYKsJDl0l2ziM5XK2asB8UNQaFxuZ79bal-rjNq32hh1zrgbHReYTyzYiwuKQYE8Qw0_Tg261lA7m9J8trkd1ly7bIZ8PnFmtMqCnR_k0eT0PjEjrl2aFTitXf-sQE-KpvFAYqGgwpEkIA4SL5NY2h0ELBA5lP9U2Q95nr3hfiIohh93rKyXm00zcdD8k2i-_2bJ7GSHpNBU2UPlAZ6IgfcoBMHzYjlXtEBSYxp9F2H8tmbWM-B-OVn-EU1QZ3B3mguEPOdcVbHgJusrpML9YxEG-r3DuQwsxSjBSlWkcq__iRoL6NI_TN6zkwxZ6qcsI4WdRrlyhy2ItGfsoz9l7voFwNfGPIzAslzDvvY3KwUwickEFlEAZsZHqEJ7HYtIdZReXukytZL5r2aqFzlzNhzQNF4sbdfe6YFt0esh4a7tGvfYz3-YnmibwiaA_SDNMDDh1jybCcYdn5ekUvJX_QTebasFRCVQsFMLJTZ_Oi6iglCr3-bayBv_zlqF-k9oS-NO4op3HyM2XrtnMedwfD3p3wxlGUavnx_Mf_WUGfuz4zTmDJWFBVWgd92t7eQSHo8bqcUOlTcItkGruN9M1XqY93v8XtkWJy6bXjtK-wlsP_WJPg-15hJRh1cdVTJxbcKre0k7qvj9L-i1lbpRNVp5YdXSCHz-9-kVIEugxGyi1Makc8oh6mV3AAwwWNAJACKX0kkLXVRvsxDZdcXuTpZ9Jg4hj5ADzXSpIIMtqgNokZXX4DYcWSkqqt7N0UpnLq2qfN0LzZS_UeTWyuTjHgtcCfZiP_ss5zBkprDpKBy-CJXDXk5THdrHKncIwLxkBZr4liWwwTVhq5B30Yw3WV62c6IDek7dJ9cgLSn4YNBEcLUiVPM5NbuLC62v8-090A5Bzyt1nWLTOUAaTow9upHdDOI0MFmuTqnCZ0lJ1LD47hiIz3o8OT7L8W1gF_DSj6vwh8Sj_IEq1pcRdwcML7OqsA1FpgMFvNSwARvPkdkqBra53PkIheHoiXO4EX8lvD56VvfYF_uAllbbq8HOrqYXrm53F9lWSQG7jDTipCaGNpKbXSPs2Z7ZSf2PlaqhAP91uvyfIxSOSn4aFadXhyMvJoHIVdKbQ6s7Mm-lqbI3ah_-7nNcWZy1S2T333yeyG2gcoueQn-J80CHc8546LmImvFX7HLEwr9DP-3MOC0s7UVrWr3-EOdJfu3gkzd_DgeaI3PHTw54MYC_-mt3uSJXiAfoih1FV2yO3dMfJBwStYphLUmmYLxbyVqixhcmjXqDd4dVZN8afjZTBujJArsVhjrITNxUvkP4pdjTMXrvrFMgrMT9TyT-yZYnjpb54M9lEHlnqS1cRCxX584uKcXJfvOtcQpR908VsyjHBtzw-FvnAl6FDLBfZ2Q3kjzNENmdE65eBuBGuorQnsNFE31I4hkDnAgquQNzD3js_suE79bK_E5g-4YGA8hphZEcKW6yP5TPV-jbTTIsw2a8kQhoqtZVb6DHuQjg55tI9oUJ4NFXq-Wqc0rRr3vgr7r_6XXGx9TGUKl0yRdMEgNHP0SdA-s0X7RwXrWOwP-I0SOiZrqH088gyhggUT1vKX8XkyT2rbtJWWKvfHsU3y7q8RttRzFmP79kq98pYHagXqCEGCc3j_iOiStw62IVZd7DkGXFrlr55b4tJPNeYiO_GSbAaTZA9vulAaYg4nPQEo0DaguNaeNpcPYtJvJ9JwUfa__3wm4LQc0FJ_PZP8DRHYxOThb3fJAuWA1K2epTTGM76-cat8KQWXVZo-TMEc4IR5DdxdICgSOSHJcs9TEStiGLmYrngbYpyvixSqcxkMJoeDjK43gs8Pv30xR5QH82dp0yRIURIEquLmQpkcjonnozCYPLBxPyb2snGwQNVZihhYgzFAikEBOOUGLjfuGaAbhn2g6vZrheHDpYlslGjRAO5wB1pKD9djUwFWG-ZAOldzp4EIuiXMpOPuzODzlAFqs4PTaonmmEa9VTYwi7o4UaKXxY_Ygr5Nf1ot2NFmX8Vu9Om76tvii-YylLX5MbzRQ9jcRNDDutY74WcXEhVv8mgdh65m8socya67LHN4lur9vCruhFuMMkLJ02tTnxtfVE2a2dQ3jGOrAXqu6UuyHnyMs1hmYvjTnQu8zMUqZJ8lUaOqQADUd8UeD5JK_BWDEsRhIPSoCS7BATpFF-ihoaKboDJjsvu7gD0AVt3Tt0CUwQlT6506P2G7hLNSsY2IH6usx5aj0aNRJRaNudK-1_A7eiY7Ihh6DvUpet-Xp9xE8iebWEoHGcMT5H1oSDr-RDS2karElDcfzKRwCmTDpbvQfu9eNHv-lBzxI8Gy1ZEJIYZ7VhRYubttcIwkrw4DhPzqG6-nlfKnxiiIXGc8YW5rChLFl_W_qbg_sS0UZTwAEKytyzLfXseqa2LfbozmzF1qHFG1Ml-XPSICKS26bmH9kn2_JlR95rv7xANXPjtcaltE5jXo-OyP28xwjQFVBnD4Bj0g6L67tniN4AeY2eLlLE-rzNgM3786-1PyczVijP_bXn74vZB7F7SXTtxgX4LOF39vaCOkAhNYreBWun98wk9JuxsUA5AFrMcHSnLBRSlIvkbJfUwuoWjB-vlnzM9o0lkEW5N23AjQIeq9BqzBgp2WaSJbUsmrnB--Y9XeiqAo844NoS9QhdF0f_91GZaWnKpHA-VSSFH1mtDmi5VXIPQ9Ggo1UO1xXPxz4uafme-Je59QdvpuFxB_p11CoHQ6n8Y8L5vgCiFdbbqTj0nsZg1mg2SZv4kq9P26yi7sI3qq3YRxoFBiAYg3-qVs2tiAiryHZDDAkzd5xg_HdgjRgVpRGbFUG4w5P7uAAwA1CZgi_oIesnUsbTQQ9ByqSnjUzDoAyLGlZRyAtDver5YtRGysN1Q8d6wVRxAgA0vnDVkAAlS4KfwkZKm94klk0ULyBOFYOo2aUquZJ4fBm63Yp3aqsp7iaO5b9724N8s7Csg35Wqncdm1gv1_Wp1qHItAZP3rI2fzmhztrneMDDAlZsmhD_fuyzIe1Y5SuxiDG1LKHa21wiYzAHMRnjjx5k7QqfabBG2KBnqpOOOLVz3M82KpTUT2gCZPS6c4WWfTPMopdcZ5NMybow4B9paghB7iqRELcMP74fLeMsvRt9otiIbo5ti-JyN6sFv-S7vY5Pfvb9625WaiNf2-8g8olLRewWpPF4t_QS0wgOll4nZL8sXQgVGVUF4fl0UuBiENBPbxJFzJYqaKRRpvs3899Ib9KbLt2BXaj3mndRLkrLKYGwGPYsbL21dNbIqei7p1IM0KKLE8JNl5w3rmVmbtf964ffHT7QdzPOSapxoUt3JoyR1ThdIkxJUtZQNTs7bMroSi3mA3gB7TmIMImJvnfMITA8ZKOZSxhrSdnQ43d7-wsk75Q6iQfiS-x-e14dkf8CARtg6LmWiVi5iFPfHO41_ru8LRKu9wdFbWL1Bu2NDsuszck2zWOJp_qqeuwBDpYsPHbOUxD0sNCK2uyI44uft_nmnI6qia_u-_154YymY-LBpHstvnWDjOk0Xf6ohb20hzPszwLNfVmLs7JCYabYNUP1kcakM-kGqI54sqozbOsaGkdViPx0v66lhiGsaTjQIZV3fuR_eyifWY6T4YtC37qINjprjP_G0LAkB9hpROQcTfnzC8Jy00dvm2Dv3KjZKweTCnz-L5izqSNCTHbVtQAjvgPpwQq_iIJykGCWnJEMmqGGIjgjHgqH4T4KzWg5nU4NHW0VA0okzWWWAhB7Q1IK1szTpf1b8C7pyGASkBgGEF_TFew-COiIHtt6YK4iW26uz43FNRyp9qOvZzI_imYAu2s49v3XE_NGDRgsvzRLI1ZYutxdRNus7smePfbNQ9nusfZ3odMVjL8ftUybEjUOWKBpHQcEdFik5MB9bZEdscvVvUM76Wc_YtOdG1ZtHavoOhFTorZHAAtmRkrCVkWJWO3vcg0Jfz65uyS8M4iEtKCzgMohW0aeSpS2ARmgdWySZshCkb94xos9HEgvy7vjFodYclLS7kd0Lzj41clXSU-ky02nHzuN32bYswqpLKDM92RXXC-jSgyYzZ1p80C_v7rLB-sWih7QpP6_dILxotgg1zUr25XcM9qS4HwUIM87nfJh3yX0mFMtKB9IZaUyoYjA8LHjeUrz4FJhfIhAQOIhQlA7e1d3APsNXDp7FEacbAAYhsNpJDpFrSHwEwFpOyQT8uTwGcIzBdR4ZHz-4A3kJVTB_1DgVRrLcpzfalHOXYVRitGsjX-Oi6VLXjUrt2aa7h676mfrNMmR2IZuDMApM4DGgv8A4y4lW7_TOKKnkX83W2bafCQ5y39TgSKcOIvT3i01V-oaLJAW7NLnDO2kenQr7gUILYmVxudE474i0bxN2MVjomrRJ8x0OfPU9f_L3uwie24eGi_d51198W6CbcNceZgiuc4-R7aKz9MHIiTyOniWycjvA3joBxBcCIBvrdewjwSDPwO3Ul2A3qc7vVJRrklPgnkC7JgteP3h6HGrhjrUFykmr4cRmu8BfcTGYUwZTt6LT037aHWYY4I8hj5uBiaKLxn6JvxeiIwNrBt-Z6EYtidLe04i4JhmttmZNvgX1nVpcv5o9_CWsXCcRhOLeDuUzzxPpJypPIIWBiTMNCFnZr4PLlfaPSQ_sXO5tqtAFNJM4pSqpMZTY7BZyAZpJGfjY0GP6ZNiG2gRpSIRF2wB-tK7cChWax6XdL1ifGxDUKXAoR_zY1yNKjFGkuZAHe1yfoicw2G6CD5vuug3ocaxIKOT381nBwullIzTvcDc_HY4TeG4ML07jNzw6bb7Az8T_q3PrSFg0SZIIz4f4DqnvIg8a8lxyYaDvmd_IlHdutKgYUXm78xCvPY2uWJDEwX19VCvwYg4CZVCq-kk76ik_YS3Hnmc-ImYuvRB5krW859_9uj8tN8m3V4EuxR2gav9q6dWGVG8cwEFDwYC4OpKzp-XapSuA9KfUrLEWGdZDNRLt1ZdwKrbm1Vb892TwXCUo0ISttXGkfiBQqjzpCK0SYA8k3sSchuhJZjzZB5U1aLGu9orf5DdSqsgp7j_YHPlFF1kPOa1dLQvNgNZAuzK66cKNogLv4bABE5lEuus47tDJFCIcNYeyjDlzyMEJlgxbRJgT6PSx_m7WJm1gtmiq-AfuClBHcPVbNi-irElI-eR-LK-nfewpqsHz6-LPLBsSBEjuN9uFawGqUc3xsx1dBz04uq6Kn6LfL2YWxKXQQKkZuOLfpCbxOIagmIVjEMEIb9A37b4zI4GnuU8FY84ESDxxAOueyLcnZ8Tjh4ihqEYgeUVE_1B8qRigxB7hAoo9wg40w7Ud5zeublskH1x_9aUFe4hXDOeRgOKvf5CBjrNzLUgYLrEeYqChtDwTI23NGqYm71jkV8ALCBO1X0XF8lBjGVqEBnXqDVy7BLjjeCgw0SPT5jozWBUufv_KySxrU-zTNdriLXMLQLTcMRRb1U1BxT9XMadhKtIA5-US5ASco97911pmWgaKy8fbfFnDD7FASbBnE5ktRNXdpPOsDWNh9pGZ3Lcw5EGzNxBcLRXCt-EHwn2qqkoIFR84I7IzgTcNMXTWvXq3rRerCyw5H8zqfwn8hwB_-JDh3IgBmA_oBdqd8MOVjgl0l3tnQkLq0pfUs8OkkupCuBRaclQpeG4KOX6o_fOjxdzGqyQkmEEVqjRSnZadx8zsAjg3hnFmXcPLOIxwTmX1cYZ7ik6oRwlox3epBHqnCofmK6-szW-vnQxdjycyHM7J4qeD67qji_psrZ-0f3kmIDmaojnvZaT-Pfx8bcgo_PnX2qEUJnk8skCpevhAHdxNUNXuZzZ5fds-3r3yspTWIpTF9nbTpPuiJRfZyYi8lY1a05VGyN8x3wX3hvPGSV93QhXpRpjzogoeMoGsRw57Ew8cwjph3e1tb0wJHy2tln8518qveWc94gqmskfKjoSwCyx0a-5zQy0ETXuxrIdeK9Ds_mWR24dwMH8DXMguuqhUTI24G_0dAoRVo_jS421Q6C_kCY4cE6p-guygRbPJHZKi-0dVz6QYkewNWQ-hdtNcDlN6A3ZW8eHmVBmBA6XEX5ByXxGbpA6hbtAeUkX6_6gR1lsrG5Jr89JQHVFvCS2NTbQtMhjPM1vFoelK6T92mgO0uGewNoHk75UQoDo8CRBQGvZlzlBvFK219OnWkKEdSWojLlyEjzrU8RkJdOGQQ-rdPvY8SYiCTGTDgHtsE2ePIlEjwDUvu3cOIfxzHTPLNpDOAIymSp_mkBwB3vQiLcgBgzfQZDceYL8puZguJ20Cx4rHG1mXkfH12QDGUvor3VLl8lcYqWxk7nM-TrCMYw2o2aXxQxBHWp8idtzYlKV0C05B9s2bnwsfd888m5uj_36qCtPMUjrGVKXGUzfUwOynSk-bXpoXf6dGOGy3n4l3Nxef9nWZYCEtUFSgtEZP4giS8xoo-N9RdHpaXIM9Mvi2sMeUyRLIkeRv-YuNxtTwdAWP5IZXZyTFHgga_lmp5DKef_FkRj9zad6A158GeVvK1H_yq3d_hUEKqrlzA1l0RzxdHk2T7LJsfxabgtOmdexKK3zu5ZiY1r8CGUEPvXDAL89CQW4fQ0rlAOrWjN_HPNS-keJ6tyUjOhs4YKEFXEAJYNOvyOM9frGH54HW3CjBLw2bK7-rP-C7zsylOnc8b8ZRDzOEFz-dSNwlONMBbRJ4rmAnJecoKjGU48Lxxpy7T3hMLVu-NO0ZCFJWQby4MsMSOiCYOz199vGwJkIUX8y0Xde0zIBteuLwY3jQiuzjoVc617fGGKyvzXhpmL-rIAq0I6MRLsGU3ooSTILNhRdvzj1d0XPhqFFevTI3Dtb3gNdLD3ZkmJAmMj6CKyRcVigzqkkRTwSAwexlI0wEvysPWklo7Dd9ZpjvS7LbSDdKDwo3AZJUBC8b1DxtYXFREoauFm6jWPJeTVHNeht_2wAtL6ZglEAzAEBXktWopIF_R3pLuRWrVhV9RMFSEEEDVNkFj0xTTdPXqar8EcjKBsHhCnDQEdnxLjHNddlZ0bcrZDDoGt5DXWNaW4Cne4RkEIo0c-11UTv4bYWAiO8n7cxmtkT9GECYjf0CfyBF-Z-aFRcjAdOA1nWMvdQrAaTVpMYs1xcmWD_GbfhHCL6dF5E5CZSZJFcGiVbNbJaoGUALOIONixOOFdDAumPOSS0pb2EjwRCOvoDx1eSP2TZthOj1G9PO1GKVHobSpb7fD2Sbk6ntUYAGOL8JcPAayJC4YAzFsDlEkWieQBTGEjMoskbVujKYGlFxYzLcQvH78kZ6BEtsP7Tp-7j3r-V-Qka077-RqIDs2SQXUMwtFmrrwD8LPAiFZ2UcGcK0LQzwY7Waug7bdR22eR0CXUsEOGi8fL0KMXD6VnEK5ABfQ_1Iu2dMPmoWlIrQn_bB0bk4XR8IN7s9mEYkAzq7TvLHzi7w0J05e9PKoZpT0f6dwOjIHJNfOqlKJyTvjjouAahOphFn5-jjEr4eSA4aOs11lOh1pj2x9AuilMt42Bo5vq3rm-8k42kZgxZEG1IxGZ90FW-tdKnkOwD5ttIfyWrgEpw5ymq6fb_iuR_LlPoUKe7P_zvGAevkoTc7qMqzrQKw91tdY6VlEaWuuSXQBJXbaT80ajskSTb2dACv2oDrEpvA8TgXSRI5pxSMBYrHGVEOFFGfSwcgMR-NcX4EPJ5iVuiLPf7Iq3Nru-Kph4B9qafj-lHlMaqeHeE6Pa6DLOse3CIrad2jEqjnCwBQ5H1HHsT9nop9JLkVKrO472E7mxsNNge2umTVGaLSiPTmnyt6Pa1hm_Giuw65HFMO3X-PFpUD9kR5TtPkd4pRwXkQ5vLc7MnK4xx1uK-E1B_wGa-1-27WnH0Bh3ARIZ7OxC95xVP3ReoooeouKPY1e1iDUQXeO_mU56WPbm8zumjaT5DzI5XUIbyrECTrUkhN7pmmFUiuhvKO4M1hPvR42RVJmK5R1QyLJxw3KBbSQN9EoC8H3-TrJYYPn_lJQ_jRbJpjOH721cWm5AQu9m84h4bf0fkKiB4YE4FHfaP9s4A9GIImARynW4kF0CS9l8CCHmcxhX358Upkd5m_2USVJuw2cIc1DhwxfRQTgtJ94UVvbpCWRZUnPbz4gcQ1j7gzaoNGYJ0KaXRmlhzF6dW8m-PvvDZVcmYR6Or0nVBOUx9EWSjKf9L42MHcwk6L8L4E8xdG2u_9MUM1YVlaT1G1UeDWd2ey2S5dzDWqwHATETB4RVNJokrtJL-Cc2noMZO0Cj4z4UzlOmhiLY4YiyUu7BBhGYfxGUuNAm4W3UR_TtiFvr8Urm-YPHpOMtsiVKKSHvLe_JF6wdFSdRl3EoRpA8M6OFUeAUh3snQB4NxaHtJZ_s6eaK3BwYa392FN4WbtwElf6rY4bSp9xTA3OHkWvOKC8PHuaCrnBvzQpFm-RshUlfYAEV1CRpzuXLgZAzEzERo3a57SPYI0YHeMxwNJoqtVZzdfXkR8SP6ZAcqsWd3hVJfe48dkow266UysuJhw4WKKjUEDHfB89SvNxZIprFO7Ja7UJR4F6OSiK3jC3eABoLfkYfmp8GjVGL2kJzJpHxzN7scNGNtdzGUydfKdXEKUlxhcNgc-3HbGlEQdJkHX1uwGZZcvD7YM_5hlHBfUD0N41W2TYaCQx2mZkwf-pKMZ9jJ5hRuw7Y9FmxmfEsDDFlLG_Z6hO1ZuxJdADrX9gtXkZ0_C4CntPIJLmwUXsua7lDTr9CZfwkE4VLlnkJB8LzDmfurlRg7-K9V-pDoDZkx3-Ljj0JIgAP2LlWEe4lVqFRHQ8jgkY9NTbxFfFP2HJGA0sxAE8cD9Zkwv0Acl-z_5gmp4VYWUc4x8vQ_H_v1OuS_JMu7SEf5bKxFXFy-Z6lXVLHWONMeKfgTu33lw5M_PTWJ2YQPHzhj3wBuiaJY9TBg61HG-PVUtha5IJU-RUjtpufLHhMOQ0haYq_TSVWG0a0L4Om5RGvMC1LSaOio8w5GnamUgxDqBqPvDXHiNo_C5hb1jnaGy6q6JHTrmAJXjSjRbaiEXHOZNhpn2M5ud5npNxBzDFVbYCI-P83WBVrRggorWH4J4Rl7fx5UXMCo69-gyaC70bxeMu0fOfScr6XLTSdQsFYCl668Sep-ejYo5S5E9Tdm-LH0j6XxiBYCFEWwb_ATf-aGKkbbHR-0pVAQhE3sGe6-sVe3Aa5wIXyx-yq6T05rAkhZ8usKqt342TfLfPbHPACcDWmR-f5gdGdxFlJioZxi35bPTOUpClOYfr0Xu-gBCBjLYB6iMuXhCH6ALTBoJS2Lotu5SBQljHX4dcYem4J1ISMOyDmP1Lj45BHeKWRiHs999hHxTl_U7IpTcvNhfuFfMsvhio8brLk4qGHFzk-FzagWiJwqMhDKPaQjV6uSfFCwliRnoGlFC--xjFSJP4Jzurm_nULLVJKdWXZQVEcOz0QTZ8c8H8it722Jr-1e1F0Sz8C8LcZDUt0rzlalcbgUUzq3YKMdlyTXrv2Z0Xly9Mpa4HhW6V7O1mFWq9p5C3YzW-6IFoSX2Igmygg54lQQKwai3S6pGf8RdLYw8-fqbFbaYCWemI9AOJ2FkhpqT-UA8eFdddCytfNf5p4M4CC8Vf9So-AcamP0fJtz16vfHmHNfaAvCtW_7OS3Ln2thgyPejqxl3fBREfR7zA9Dji47r-d7NQm806wVLh8t5Nd3WnKNHVFztn7h_B9NWdjFrc0JSsj00N3E1aAs8NHg-DOv_jXyEr116126eqFId9LCYY0C9KaZAyUwnqU-0u1VrOozlDmNZDGMm388TH07kZxKj9VEoIuiwO_fEiCYhSHOs26AjYkxngLCTCgJ3WWeHwdrocKDcFkr8NWE-Lv21QvCD9oL6yc78pc71GFV4xHuGmqbgy-AgwIMBhqR6ZCtySwJBPEOc8Q-8FAW0k2gDkrsFe6FJIpj3Uirfob7e0CSmQUDUElsgc2Q5TdTqITijRJWuJnWq1_2ChYcQNAw6PjlIn6utL_qfImbGTxpxTG0RcG63I-a7My9wvjLZUf9023l5VrLOXJcImgI8AQHNx47ODRXWwCLVTSrhH55lXVF-t9AtGyVWkaZZm31U0IAVY76_3oiu7FoZHphqvhWarFwCu2eBO1vu8RZBy2iHZVi0JKd6rbCRbnNxDJyBBNDUub3KymU54h3OWJBt84KNjrUTFl6ctTF6E1v5SuX4BubUtSqf2DywtzPTAMZJsa9d_htd4R9rDQuEFTgel7PReOWm_E2hKNsJ3sksIDI1QC6lRrQQoVOV_HnP5HmwdibVk9ONdfJdo1Igehx103dBW2cg-xWNFQDP_YoNWEzR_FF1Toa7c6nRTYyX-kHv1nGQb1J2DVBGQGP2ALrXqhk17U9W3LhG3Do0Hir9m958CA0A8Eaq0lttEIxHOIimxo_z5fMIIekQhY09VxvBh2bYaFgiylFV-YkNPrMZFlK8sTxTBKbtT__47UPa6XUwjxUoenarbrZVlRsbcqYSn0gOSXd1TdR2epkpt04IrNJSDecDaBp-SxDmSPCZRah5CuSZG2kTSnnuXYTYmQB3OgLMl9b5iJnSDw5jMrBoNBou9ocX_COc1Gq5JqwzWn5HHzIunoo1B4iG9OQnqfBtaoOQN06vf0AgiEt0nH0yS5xieTG926tMEoRmdJXewyQDiTftwpzejBRyaIMVlK2bM_EQfj8kV068Yw4RCNYEPZND-vyfK7Z8vGcHY3hVRdmiHqQ7JPItqWE_jg9VausCNWckzKUsoyuQMvWlHndHeFjSo0KxigrjbyLI3mF_T_ELNdFNA4aSY5jvxHcF9PW_rrC_EUE-2G0Ububt51F7kx6lKF5EMWo2zNJPS-K2w7Jrv5-tBoRI9uKzDxe3JpURq2xNhc2uOB9JHVGhqC8aaabLfNFRdWVQBq141ObXPXb1JMnZSBjtVwQ5o1kMR-kxq4v1jGd1gWbVv5X5cw27asFFAnpLT8SxuIB8GPMdP4pdyn628nj9PxtsncVEieWnjpQEZuamiEByoNon8F7FmxZ7lDHYiVCtsCf0X1VolE57v20VfvA3Xxh2Lkjx3fqlgANG5WPHMCYwC6htIkg9wH8asv2QnXDjt9534A99Q9gXTDAMs-r42kPg3EyGriy43KTQyOlnmOXIzNA3ytwt6rihS0yHLRaZkI_Lp5y5BF0iYz2zkk1LO3VnqTN-EQ86ueXtc0bupb_PrWW_MDGf_y5nzZeAc6MbGqVBsxeLei-i7eYFHWSfaAvW6x88g1kNCN5lXC7WDw16ASf8xdN_vsEA-BbyWhXpBKnYyLsBkSBaGfGySaUR71BLlP_RvcutUXAetWnEZxUVd-gRLiIyqL7gcZR0UY2AaNNtY9OuPWEtig__MXrR7LOUSVkf6d_lz9dMbiW91SLrvT0uKjgLqokkbmF9Clo1LYsbQj7kZ4v6wqr70WyqwnZ1-CsKK-TdnKokDWlhIAkc-jNwiuQZzDn0HIjt7jpTnX6c-incwFYBewxJ9nKeUqsL0L9Y5r4GHdJICFJm14XMFY-IfNqjN-UVStduQAtWTftLZmie2f0reU7APUDwaa8MeoP9lqhKKC2bpgusEWr4JkoykrWsgSRz25gkarGWWbCxbp4VI5t0RIfaFF_u8NAye7SUYTAHktNNeaSpVNhFczR4FK7M7S544K6ESpnw6evgAphiAxnzan1F-9v3_HFvi9ZkRui9quT7ZmrotA0_kCRCGCA8tLR4rzQIcDSHLqwrPuqUsvwT56NuJdjPZqhIvyl-5QKFz5IG1ZZsajbXj_rpp7Eyf_1Fx_DOXquxhBl8O-Zzwur__32yuBsz7yuD6005Y_9lC1QCq2qSkPCay52hTE_PIN5K3klZR-3cUyKAgwKW79AU-CMUNbSAjUcwIw7_Hy0V2fqHBZIaJvIVi2sQHlnFq0DynxHIthliYN7mG8TEO0YHO3WLm9ikpux4oXniTWbSeB4PQPwSNC7ui43TzewTudr4sfXgl2MgN3unf8g-kUO8QfKJxBQo1DdN7o3EjRQq9onC4pRURBJCon5WTTLObnZ0pwZsQyW86CLh1xsAtxPWvaG-Tbbt8t5EJD117WZtZcdqutZSTeu2iaxo-_WZdbzPW1eTX6a7_j2eEufYXvPuHYFiIsq9lXSUfBTf2KhA6mIS_RPd9qqJrfIEOxqXnJxpQA9xHS0mMP_OkGgRhXGxzHNiC0PwXFZWEzbczFFJVWhWOt_ybEEp2_atAm-slYurbwmm1AuNSmwrIb9zJ6ixheuKvlgzjWcvofk5GS1-q33Bouxsz3-3kv4L_Dj5Exy6SMidRLBl0vpC5lZYJMJE47b6jgMVwaeMeEu70nNImrwC1sROZKX-R7W2rVSuc4GnAuLwOI7yz_sZsIhaskQFEkbGybpwDWxmkWtql0AZZW9Qz0pnR5yatGRoiXoneN5Wg8jBMgUhRj1wMlPtL8MqywFxo43T2OagfJ5HNJ0YcbojW_crx33YDwZrWgtP4NbZ1QnYXLLGTOysf5FNplwg3ykYqi0_7GscA0qui_Pinj8ZP7D85JPFXAbBUJsG0c0yJVa7SiXkmukjL5tO9B3f8HTsY_fF-Sw7b9F9t9AY4-O7IwmhPWM8Sv4uPQwU1vDp24UkpS83avpFay2E441j19N_coM9bFjOpwIDswxEEwdXheO4-DT_ijjQZBIBRvpOxcqXNYKYsRsCuRWpUx2QF9Gq5CL5mQVcG8E0Gl72VCqB2_isP-LexQga22NvgUp9RiBfftr4wMqCh_uIaNZAq16YQFehzMHPuKWBnYnuLRLZ1A5XAbqRaSSw5GIPdnGGQ-UxksChzYDov74WTOgz9FJT1d46egwqUiAJHuCeVJR_WYSMLcQS_weGvhhD010HxhdP9F4-GkCSRqLWcpGmamgBfwjvFYHQ0d586Wo0ldGR8jK17LlnfKD5CpY6DZ8yIGyQ2t4D2X_PXQMzyUukUXkseyWlCBxQYqT81CgU26hITLsiheNSale9BPIf0S8J8J4ak9xWW2VodEtS_VZ0s8gJOiGqtfMcOfO_1oIasGAlqZOmo12iIikD6GljxX6zNBJfjYrtZ0EJHn6rpiEp3Q1ot2_cp1I1Rot3EI3K3JSU4yGen_PW0gbFRUb0snxskMGUJc77DpJJzH6HdaDI5DvVJPglSjU60ejWNioVVYTbh9VwbX4VL5zV13TuvqNAFXwSXqkizx_tALl3sXlBTFy6TMCX2DaLBM8rh6RV8BxSWqVxC3giYHGkPOCmWc9dbFiZ9vI9JPfb-499J7lGmB30p_8iO7j6IaZd6bWRADkJBDB5CaogXWZHS5oW1lgnsFEkc_PdflE3srYOqtqLGkc6ZIvAX8wm117--nqimqZbRxMd5AsixhWUXEBQq-zxYidps0gV1Y0mJ_UEkzY78B0-WL-ZqLh_vuErAViKt-Upx9ZRRxwzwTvLL0-XPOgD0xE-ZEZP5tNcfcja7YRos4xG5D0NdMhzntyjKa5DOExDkaZh5JFs3OfDBdgjRAO1dzDk_a5FgPmf33BTYHQXBA0wnhZA6jugqavQM9vACLcI1HO3IvQMAT_VO_qdOBAzZ97eNrxO6Vc7Ny5cYUK1XuGvDPZ0QtabvE7mIQ9muFdd2UMV4UJyrj2zanKlcmXTCrznpE_ug7fW3UPELLnHc9_Lvxm_T6t-9ai0FBUpwarLn41UUe3HUGml74MOfiQOcnOkJv93dMJxqROh6-pUILrlv_nU1937maWiMoI4k_wl_xyBvcLoUX6KWqUVyfxd6YkitxzvpTB0m2v-yzYFI1Ok35vOeAlQxL5HH7xIXpUXbF02EuerVMMV8CwacEPw1vcqIIXjbZd5tsBiLrvvGJXthBZD5sBE3uzFfyl635CAGANucrIcwLjj-1GCnFX_wTMWrkhcKAbm2AsccRSEkwqGmZKUYl7T4-tISz0RNTon1fi3ipzxb8nyjLsu1Upx0pGA8l83S7gN8oAsjmdQzm4ycOaRI8FdATpSz0VBOLn7l08O4GRJA6_h003YdeGYvjqZYqCeiCt5ubdcHb7P3HG4z_S03X6MmUeTHP7Ru4UIiiC1hpc3fC8kAvh9F3qVsU-WUHshC8_goXaPQcdFwmUscY1ZV9hkA0lPewkQn1WrMo3id7oR3oZyh18mt6XdsHtZbLTGjwfGTTLLLqhpbcMvzjRneXBqA1zT1b1Edmmc2GZaCsQBOamd26gKDcjhTYMpgRr3VGguUlgvwsTikbfkbRswAhnr9NbcueqaKoqQc25w8hL4Ph3by7GPCRjHwfBvMzWFyHBi0cpLCFAG4aUBEF3KSdSMdDxp7fB4nuxi8orPqz6u92CrsFuAkWGLJ6jU6lwO6rh5tmz4eE8_j66-jnrSzTajUt1L9RZJ4ucZzmt_sTeHHyKGSoDHB25HRsDi5o0C2eHnBprm3saYbekbhjelkRF5FXm_gwIBZgCKemKMrFAAPzWk89YsMJpB7s_rZDUCyTIB8WoozPxg73Jl7T-Co7z4jMch_ZfL_EusICa2rDLOHt7lxy_5QS7x0w9pS1CG9M4E3ttYOuHK9VU7K1ko8wXJjci8dghUoJVO6-CjBBL-YEUf8oKXOb6yh5ZWB6LNrd_pSE-z_0uwzr29KqGxbUAACRfLDpQxyhX9tfoUWnjTV91-t2SqUPyBLbDn1ZTTZFxjAzQpHyQ4CfVnceeXBCirE3kzn3qDONlwgMIAwvEC2UHUIWOrCY_oV0VqTcmiT3YHoNy5dfEBtLBx9X8MMwYC8JvFLuOAeSCFzCVTEi3ytE7oz33-X4Wk13qSSplHte6OyAEdE1o5jPxQpiUGeaLkvW9S4iCP5dNvuppe638CPjmjB7PYxZHUS-SbaGiGyTipvPYKLOZTjVy1mNW1_ToD1Vzd6sp99hzjEWvvUg-vIDfsKehZ8Mf9RjEzO5IDTR0cNavtoLRnKNahXvZxh_s0AeMtkg3-of9uLKVXwMAczBW8Uj_nRF7_lj4u8L6G5BekXbpa5Z4OTbrr35OBB-BeZG2ryruxdJM836oo_GY7xm9PqLbySueuPEOVFUuxFBaHmPwnEZCP6QeRavRF1Tw96G2WXESltpGeygEe_snxNDnIbvQFzRZjBwNFQKvGfCwWKE6fhzRDaW86sYBl1J0nRl8l9qmbWonAYI0j7CBQuBFEdR3qHbAnOXN4_RyyoglXS3O8MvViKHM7mDdsHCOQWzVpRDaJvMoS9B1-3b5YDVX_qsu3f-Aq1EbODZp6Nr3oaSQ_V1GZJwKAFxi39hXdTjZK-gxczLmHe0ypzinxrUap1NZih2qPyacvjWOURvQ5xq-Tuk2C00DO8w0zE5x9Bdjv0YnKXcS4X6GS1qHZrtGtD2WX0elgfwjn3dSbqC72tMhlG3eXztpf5vdR5RipGVi5RhSoq1KS4vCmtuzLE0q_ZjWH4wfMRRszCDaAwhsaUYDQcuK6nIHKXma16Ud-6pdaZ7zw2tWcpq9SYs6A-wBWVV-7sjKNnexKMz51Q1LtCF-63QUvM2eRCNPxp7UUk8n7aW3iTTJxmfqg897ixzjSPYILyHv5ywCv824V2lD_VEYRuZ_bD6Pek6eUv22UL2nFAjNoRAPB2O-KEqqAEFvksKxqpnDIBmMU4h7_frHMAsE0eYtbAXYR-bLqzQfYAKvYPKWnpuiUkKe24WfShlW8sxGSz7q33XEdDDwNgfd04go3cGoH1Ykg_bZSZKD1_I-K98pFVI7Mg8If-gajEQr9dWsy5dcZevSF4E_wbAH-uFjpPCuLSKwWWkG90kvdiJ_RpTNnKnqK5kERDIi6ZAoUf9YvMlfMqHTlmdu1MfjzBGu5zNtm_YJo-GaXyXLWSRxrQJ9xSnQiTnNTyJoJ5Zn3omZbmng1UAbLCuI609OasRAYOWLp6od6LH1-BoD9739SzYEEG9Y_UcA2-KOJp26CRJ5Xy-MkfzbCU6_9rcqi3MIxsiME5ye8PiQ-c1LTmPkielmQLU8VVIBmDPfku1fsS12bw1TkoDd8zrZFpuvkSfS2FxbWQbipuGQBCuL7azYIcrumPsZHW5HSSIvS0NsRnuTWWSMlkWVqx2f05S5bLKIIvhVGp75NoUjsjTbf_HvukrtRX_U6YNYNaeGJf-zY-rHAEdTZgX6wPss7z27ZnfxWzFpREWKNPtrxrdtzCcBibaPR6UCzstEfX-jinooHqUrCXgqH6oroxGDAWxc1Vmru0K5lwqbdNSiJFOGJN4LqabHSXM03ZjkEhBypqrLlqAEz69gHzRDe3CSpxO_szGalSn5rTmbtSelcVyN1WaaFjREjP5qruLSJdqfd1IiCIUpY0rHj_MbU38ITZGOhCEJD9iion5ILYIoclEPO2NunCCJDo7fyt51a8d5zxVLWbkBcqwfu4HerEX85I0gqEmt7QyLHaeohFIleYr86vkTHoP6spnlK8MHLoZC1LAI1zQCfGy26QATyNTAU7kwbTxh8V1NxjjADHXkffxhgrkJg3HXLcjBvOaB2cXg9seHTuwso1Rwba-GAoCtWqlKbZy-fTCHNjduh-Co8a2dV-t-ORqzpP5Kt5aYXb4KyItN39UmKslJF_yoDbOz5kfFs5Y7Qnwg39mEd4ZgsKTJPw_ijnijTpzYpWW5dqwuQ2Z0rCNXcszD9Vk3Fxq5MrIRzOY7lr9J3iuDv0mdB7uZcUvDAHyuGjczjwMnBayMI6mb-SHX1YX25wEti0Lvni53xeLPL5hkZPAZAByZyQJ_O6fAcyl0lzfQ3xTBiyLXx3ePQaHidixScVPv3eMRk7oZYqZYiGBG8sUDgwqijwzLBQ3aWyC75nWFF5MXI79SjMOASE-Ehh08p3WktffVJi3wcd4KCgFIE-fTWcHZuxtwsnrCWYbNrHlB6bZDdQWhbm4S_eeThXKHRPbJzsc92SkKc8iIrhVU1psdRLyh-LuU-6cvl5HB24vP4E6tFks2apDc35yrlnXMDOKS4J-_vwIZwe_zm0O3IKBymfJysD_HGsUT_3A8uho8m86zJcny4fdy7tabgpAywt49FvzMSt4wJq1lHOO3u9dhpXQemWFGvGjR_C6gYXfd0eYqzDHFQQ8u7D3INvAFYL2DJvVoUu4HF25zX_7O1MrlI-f3TjDzsFeMYyE8sg-l7QDui7sIDdf6pr_lF9KluAozZmzjV_LXAv0OpZTTBsCwHfUC5Zg3CfH28pi-U8z0N14Xyj5SrmxTPc_ACbmUMoZx8u0-SvVREwcbGNeqmT-ZudY_PyJj_4M70cmk2yUQX3LxiwyI5EwxXk0pHjuapDb7ReBhdaKkEZ8V_QB-4Bl4LJSc63KRfr8Mf26HQ4UUR-Y9MTgjDB5QpeOLZdS7rCaPQHJCTuq-ooklQNDoHhndZbzayDYJe7nxkeyhLbKqFBPUzLDDpZ7ac4xC3KcBDD6oFkSsUINEA0IFDBuHMnQG2yPIVSPGxdd0qEaDSdO7BElgggQ6UEmmUp6R_yFMhTZoPlnn3nUQtWRdjKYA0toTQucgh3qJToLAY78cDUV9uUFv9ETTqlof7KT_bMo0XnZ1fXkvhjWj5pwIIXMVp8c9UOprolEio9MAXYjr_3J3d_hY2GDNETP5qFgVUgrdgLMu1RLIOi_rmkem5DF-t3ThaLO8jbRM5fCHKWSewXeaTYq6-dCgJME-b_rIJx9PqMtS0CpRL0wep_SGQZYG14SOi5SuJwSc98Ihe5xV-1Hq4DvJwwDRGJxKPdgAlqmtrCzZz3yfZVywPDBFaV5p3lkJEUoSzQe1AnxCPdTHCA3Gh2s3zvsEYFdqDmpVpFN8TdQPMkP5uUrTOzgDoD0bxb6ZljQAUDjAg-nxGgdgWGdCTp1Pa9U9wPVTylh2cn2io4hkQ0OyMaZdDcILPpxMOlEkXlm3GMBqrobGSfhgNhkx6WSqsWybUQxo1d74y9lOEMigJJJwvPnRHjJa0mM5kBrG8qY4o8bYuky6PsvTbSg99OoD1Na3Aw5sB-xJy4KFFKwQkrV27pPaXrXG4K9WaZC95vr3kr3zGOfy68XD2swjarz8kiuoOGQiCehvx5d4hx37S_xpJ2XB18ZY5uDxwEhp7ohhycrvLgjjqRPk3_1v2HoLH_ZBVhENuJj5Bz8Of3Y10I_cX5jt3EKXO-keHTsv4IXsO1Yn-P1gM0KeegwKcJuKT-Sjty6aR77OdlJfJU7RDVsXXHkcTUnz_-Kt3aVsAM0JiiPMpwabi0eMxhR6Nx1yu0ssPBvIx5_AkZU0yQ-2Ro5W8WcXI8vpPIh6WddmDNTwF35Ddl7IyVuVnBLpSwy4IEvMdI7UXp_QxQPlb-iN7jjdtB2KwTUzvZAD2_NH0taObUt9-qZ-orHrXsvQC8Q-TXidhQG-pL8YRtLxFiOUzhNSMRMFKkeW7hTq5MEnWFzd4bCSS76w3GZBX0xaA6E0d8vqErl0A5nxMFYmscnEyX8FTPF04Y5szRm5J53GlOdkjZZ41Yu0Neb1FLXqTzjkiugT2HtkioalnFt2zQfaVajdtoGqIK0nDKqhO1uUu4dMrPfDYP8s0x3vYryW3BQclA-8CZBqxiIfUmJ01poStBTE_un9HfgFYeEQzUZCy3t5JsYIb95gDfEk1SOmoRB_xA8z6TKLNNJpExyTeLjEomweptXRMHzooNLgdGAEpEnJGNrKphKIoZPm6JxxFL2rlbLUyMo8GCTgNzfZP29zyda0hOLH9KF6ll2YKlNCNzd2sTGrV44ATC9PYnuCL5f8V4E-YMP224Mmv0bdWlgIzujE7Xgn9pG06oE7NqyOtJ6NJwLOJzr0Kd-A4q7VPWYSmgh39FwaJzJifj_uW-U7frtuLa_nxsnCrAjmZ-2zmW5FfjkHHUDANjESa_Uq4S4hZ7o2oQyB8SsU_K58mcG6LHz1qj5OZNQlI_WoP7g5pxjERmc2zbW-uDxjCWO3GlbaNhqm85Xsz75ZOa2pybGboArO_sJulPaoJVp8IMuIIYFyqvF6JkPc6rarzdrBeN1bsHa8IKEeBIQ5CkOTdan8OE46N_dCBdM8O2n1eynaKyXe6m4k3QOgsY6DUT1oPH94SHI1Qr9oo3TMGj8ScGFG40CWY78zcKM5pgOqn9iWqNbld1aDVu7mrlYHHOtFfulrv4utlu9MseVSu5Chq08kE0i6MS64BS7ha9a6zH8MmY6YxAih_e-X1C9QBngZoy84LnQWjbqBMfx7GgR-XgdYJEApdoYFGOEvTxPZfzQzW5sIJkwKdgFl_uRCc0ZzEv3iAhNwQhJgas0SNGyornH4yC8TwFpk_yulQyuR0EyPAN9ixCkdrnomhAtLFcZFx-zhz_vZP-KMpd67_qI-Sr9MGNaBWDkF3HDg56emNv2tTd_O4YMwSrYgUdjfsiaKlJCfuJk7DK81o8ZuvCEF8Eke831EYeYy6jVM9JnPwQDYhwKy7RyV0g3aW62QMEdLbp3iifZz8L5Hug62CAF3ODlEVMXBnFtEAjmpdtLBIZQR94JC9SxnjObUJAZWRJmMu0ADOdJEnJ5i1wr9Q1M_DKN8gdCRvj32qTdxyL5utV21cT0od0iSqW8AuflnrkAaZYMtZ6hKoHEZCTNTxONVOjWSPj4dzb5kKzLcJZrcJdby6LS5J-bhDNrOruRax8w4sJkzrsacIk87uYajx8I4AUGAzQS3Z0ktkU8odXHaO4wG5MauYbKaOWjzOcpGd89Vt7BmHEuyjLLMTuBR_JxHtDTonFGK-ZP0VG3hRBHq5tUSQbgSYONKc21iPWTyZHgH7zWr-6OxoT47QmSAKaD1UNrbiznV1jxte-wicgIGD7HCMkcY1eM1sZrjL4dKV_2sajsEIcCQMpj-bD_J5x8xGhynDyTPHdSrffSFanrXtqmHY8m-JQl3pCxqumWvjhFitvHvlnfoboh7XH01r191uTeFPPt97ydAfOOgfqY35-6AjPQAr5KXUetCgIyZuyNPtR-swwZaK_vualIjwDGF6KcSVTvAqQgYeOI4E-PJpOrKV_YmDyyt1Zkquu__92tb0MS6YWUBfYmgaYMZdrQDbGvTZxXUoUnRTATSN2RapJVIyaxDBO0KDxJEipjNiaSLYXrq6NTfZj69o0e0zwHcXAt2R89gwjqZQOe714EVlZFkEYnCFTd58S2VB3WqonHZySFSStlfNFMznODAna2mmTLrGOXMe5uJ4eqpLp-qcPYvxzovRpUbSl0h3A2V7JEwo1bPGArlVYbjpwi5lOFVWFuTMrQzJFKelKSGkS_zFdWMOXFa0VWDLCiuuyNmYRCBF6NABljpAxXZP4kB5WRI5zRVVAEonKh-HfpUXO4qmVbcIg4OvrrglPdOWlCEdNJtoGaZnAoRK88HmDxz0Nb8IHIDkNOFvnvzk64zMsIVwCAZEkTh5CPOzIDL0xNkRNofYAAY-Qk5kqhqWGoz5Tg6habNLhXODceLM_fq2uqZ1tczeOelDxZWzhsL8E1cIWzl4gISatQ-Bjo-rDEqvw3jWxR-W0Bjv_5rspYbiGlYHHzT2OzQ8OfsqxnYc1E8QwTetsJhQi03TN7a7lzmxOUuF46ef8KZj6r8ucfJfR4r8OfGAkABEk-PhCMgKlYsEnqNfMITpfOdxNVUHqyUAIrfG4zKctDMq6o08sgTy93Z1XrnJNh6SJIZUvNS2Oas6nsG2d5S7cP0k7_ffdQk721sI5OJ_b-3di_PioQQTb49IIPOCIFHpY7ATe_NH59Ao6sFMRO3axr_0sax-JoBGdFW5aTuUl2GPNNW8g6T9sxTZ4ZHzOysOqGh0TjcD8pXBFKFhQjxHiNuctlGqdQUncziUjOo_IpIK4QKeU7HEdanr62EOZr31Y8vksbsSP38zzivDkVKLHvtLI6u5H3tVWGsQ_4VbND_zJ1R-LgI_S1P6D6j6wUnId78IW9VVn4iDeaDhasd3xSkaPSspEl0r6SKJKStkpOTywVxOuw5n9qPruEjpJR11zTcdtZG6qLnwhDf5ZQL0gOmGvuMAgBYydpkNS6Xw3g1FfTSI47_Hw1jVke0I_gWDzXyf_zqgE4-BFuqfRTxo0T-WsTGrzujs_cf26guxTium7Tb4Ysbb35pD4r5tazI6jbbw1ZGrg2xve0P-RoffLo9mV9xwVDmzh18107t28tTVfhEkL4ZnzBHocr4-178FT2M0seqUryv9r77xEqfCZOJkGahtUiOrJ3cj6p4Fb7u3P98ryO9uywEmPNxn5LUkHaINABf6DkhEXYG7Kc7iqLIBAnEPEZwbxkm6Khh_QYyDUGI1FjcW6IkorJpjslA_UiqRYj8QYuBladA1nfAahq_YmTYdX9sFVRYTIHHu9J1fnb_DSrs2BK0H71RjbEGnHQqRTGCeG9k0lylYWvFNAEwyh2vDzDGXiKg69Lgg1aZkJ1SshEAh1Nza9zLH0QH-nRblHQlTe_AM2gSRtWT3p-zIX3STzALx25QecMXdLrMBhSOC6pkDBv9wqy4hzTemHohf79dM6RLBIcNZc0dQ_Rrv5zruFeFI-RGub4LkYuFOC0BOzMvWeJyK8cYzNqwSJGCHKYArGnLlsUt-kJW_T1Q4DF1pnCt_--ggY9OSCbWua3mB5iC0yY4fZg2KIM55qIPp2PLARhOLqGSTbN8BOWMx2aYkz3iNun7-2oBtdDZV94uqB6sUWLAX9YMrXQKTjXlm3ickQgF2b-3SDszi_xNWeel-f_9djIlXHm0BRdpMYIAchkJ2J9CtOdvVBdjtM6JdcAhdm2N9yeYYp4iSaKb0TeFqZOkf8V6cZI7O2VUkO47CdfT6HlXUwxq0VKOAh5QczreR4MjminhPBk-wA3Fxu9ULiBG03NuLMIho89Tl8vz5sMDyE36VW_atopgVrcFavkYEyCxMmUMs7LED0x6fw9d1pnGrRKUB-yI4yAMAiqOdKVu_pluXc6lmoahJwMA4ey7ToxiZthrb53wvx7ghyfYenj2Pp66x7SdIjqXbM1fPVL1OYEsVKg4xWuS6UlkuJM1W7B54lkbQJsa5ZJzD8fC-2c4RJLtM0ksF0SFnShAxRmYvdACG6GJXVwfdW3PhDWaMSebKfNdCq-0tHKp63XO2KJ72i09DKOn80kDGBL4mz3dqET4U3sV52H3XC8gD3KWm7toFh8Ysd4cfdXbyjWiOzcJc3OwRWEjlHzFe7bSlu6NBng4a8faikj0HBLFKREhwfv0nPbYNrAf6iOtCS6RiVT8_V7B8GA-5OHgD33Dk5nCfEaj_fNOSA1ythYWRppe1qEybTgCy43RDVHJkdQtvtsfcq7EO4Xabmts3vFtQRukVSqlhfq3280-Qxx09lGpwSAVIgt1ksOhvoIGmAmx4rqQY3Rr0TpNjaGH8yeETo4srtUVK5KDUwesAOUEiyG7x-Gr0WeOKuobPVxu4LQ-N4qDm6yb64BEf0dpqz5Li4EPMTRM6Fv6zrms_GMUzXlLW8YmFHhnZAy0fkIRmNzn2CeNvkhN1sQ9DJKNjmFpIt5qUdc_2cMNGpC03wU0CCHf19QKzCVrJQplSdjES-4r4pbjYLOxqQSDfBjYngoxqF4mA-SxhUotxykfAaxyGyZqtzd_HbJnCEIQzsja7GjRlQTs9-3vvdQmgzVzYinvFjn3wZSS5X8hTqCRBuWbSQMcM5M4PC4iVJlXjFsj9F9FAhfcXTS1t6OodPt05gCg3Qlo_om-0afCRNmgzTfiX-oIt6IhWLAqODV0MXKwQ5uL8RS7fQL-KCk6SaAa1jckiiI54rl_zOG4l3JnXOZMAoKU2tiCR-C6jxOIJAoJ5hFJ5k0bi3aEZJn1GKZIjVH1xu6jBZfxoCjCP-TM-nP3JS7hkA5-dL7EHqBMTemyZ_LkDh8PPoXZJojGuwbovjYlEESWAgyFbvw-yR2h2NcP3S2yi47URckrwhCGJVcLoIetF9HOvU7W7eBzl2LVq29T--CWZPzXZ1zRhmYIjEyfWVKyUjvYH5XNGTVURX4_uYOHWtoeojR3Z9O4kRwY-9PfwOA2FcBh7ezzMyo9xMbns_Q4vCFI5hbM58ZwZtUQDttjQxLTpI1cXJfOnpy0hgNWrfaCArgqqI7h6dvZUCqi_-bFtEoj_eeDLyQvVEMABX4t9sp9U6LRmJwkDzm4qM5etNSHZUOfZbRPY3Uzl_BIC2F2L8dg5IMxAok2J1EKfCfmRmhUkd8G677puyhie8D1UsGImqMa6FBQ4i6AO3UtEg3M69RoAV9tg99gdxzBY5gtntO_SgpZEvc-2_P2O3UfymjEsslE2ZNLjToexFkTBcv0O_WbtIVFEIy0xB3CROMFYQcbYWEQ_OlbmRVMLj13hWZGafKj7PZSUyWcL72swJ_9h1dBFmP05nR-cfeyWTbUVKUEWiykeeeZuoGcibri0ZHkvlldikJ96UB44M9YdEI2u_M8SsWThLp9Wq_x7XlDkIpCXlZReb56Ykrt1Ju1uX2whXvPhgH6tyqU9vjjWxROb9KZD19fjGjltnNHL7k6CM0AWaCuab2qAaHWMTwATb1QDdbL5oymYejv_nZV-UxIpejHIHqZeQabbQ303wD2_NPG6kmR4JM5OJfgH71xUM9d5IbF8TLV06WczMb2hhfoxKYaL4ttXBnNnX9pgV8pB-gRqwB2h-lEDnyzQi17Kqo6-AFvcK0Gg8KPCkvuNlFDLDl50VTdFoUa-UBP3zfxQlZj-_tCmglnFq0oc3nibptm4c1pIY4mExnnfouVh320CGojh7yFtiKcXLYlpET7MWFw04Ue0tL1e-oXGM337yykpIa0AaeNjvGY-HRY4u7G00yDx2r_pV9MtMaFYtkPkaA9pH8PTlWHnCPPEvhb_e17uEGeV8vgmvUKB_ylDxIEK7Ef7dSq-01SKckzSTkimbtEuMNo5WEJZgSxkTCClxZqIAj792GHDhHx2Z1xSfe2o1hk079_Mcq-Oi5cs6N0uIOsXiAC2gxiDOtcnANCjtDjb8rDKvKPgdp6Tvre16cfRStDbbi_X5lXcK-UCixbDhOHNULDrsEcRTkeEQSDgkggPmmtYpWIjwGVC4InwuvoNlu_Ef59aFb-H0Km8QblWtdpK7Q2szCwWh8ZHxlWTofLJZ46OZ3bzJSKowmGEoYQJmnd7aSY8LVdpsfz80UCuE8x5GSbFdiNu3-sKWtJ0H9sCx7oEVk86EUFSB7XFoLOrnaXVai7A9VyRDULO7UX5TSKpgPx2TSuB4WvKSOK9cZLyYwtaR8CARanC1ncNu88BOM7Nal2ge1B3mxYV4oFP3YoVQMywZO_uNDcXyBkxTYB_FA8myqRiKlkW3IHtL-X_DUDJES-eJ2500JF0yxV4b4F8Wsd7xqprYbI-NKvs8VrAQHhDNKcWw4OP2FhiuxdoJne6Obm0UaZcMI7Nwc6PuO3TP_yomH8KN3eVJ2Sg9JOso6RgYl8Dy2UyBuaTUlH8bGd5js2eyyhIdIxE07wvgwxjjj8fG-yVJ-hLNf_y44Sdf7Tpy1DX6e_HnAm5CHqUJIydXFcbXwmNbKXbxcoz_CL9OeIDzHODY1dDq4oZwS0jJZAaqbq4-5U07vx5hKu6yljQcSl5XqhgJ-0bdZk3j9sXc8tFeKyhA626LPmPhHgc2ob_D36ZqRIBRaHrlebuYgoRVh-b-FC8M383cyZVyOxUDmZZ7wyoXZHFIP9Hstddao46sOh8gRFiCLxJjzpKtCp8-Mb8cUJIcGuSVQeZUq6zOoYvAEZUJukmSNJ-dHoz4cQSsaPET1UoQiiah-zMzuIQH1llJaihz0JxW9447wjRW5OOlMgSSZ_rLXFOwhe0A3G7V1Xr1Y233xL1eur9O7JIOhJazIy65Caz8ugT1C_ypL3FYwhec-sH2n3bVrjJtOx6kMeu3NV5W5o6AnwRl-XYQmqGXtaSP9pwk4R5YsWpMIMuKrJHnV6XDezhCbExinnXG2twvB0oDnx7cSb7BtzqJw-KBhge1vv08pJ2t7kF2QsOqFmAEpVcBM4hWIjzBQSZUPilOiJi1YfOInZimg-wT5VU0DhmN1T4dUBY6qfDB9FU7KUmrNvBQrlpF8q47JFFCwwDtDG4ibEPU4EjkwN9_o0I_2Ul3HxdP8pAXNokA6fyWVPvgXVdn_bjkRuyD30IMrk2uJHbNv3QCYSI46i0VZEtV-jdIWrthZQ2m0S6A0ej2l34XWRnuqjwA_j5VlOQO4TYM6ueL1PvqWHUykDvHIjotQpMPHDBbUJ5yk8vMAz8JjvHVz4VvGLxOX2i0h2Krvb6QiLSGorfUo1kdUR_lqGbAPhEKFofpW9y0cdQYBaRcTB7qbg6-V88Rvtg0ucNGrkuHhV-1UMTTyPrKCWP_x4ELqg2wEws1TsGgxW6lqkfj4rW_GZc1H6JLtYJT2H1LqdPbDM--0Olre_3QBnaD2aggjmwJPyCisxMb3UMjZwCYIxRp375s5YJopSPjo7BbzhTCECr8AhlVYgyvxBpScI_dVhDUYU-LOiybkT7tZM_REf6cP0DB2hLAt53GLqfaZyzg4UdEpg4YcesZKApbjWhjeXjSp_AmxVLCX0scevIwAgnwA4R7X-DBLVgdqvqsIO2-Q0K1KOT4UXfJKAnF2_1vMR6VilhR1dAHmY7eSisqF7LxNuQxslS3GorY3YA-Hkx1RCFiMe3occHeXvSROn7VGEKD-opw-wpHg7w8N8l6NfmwedjtQ7X6qLNrXOcGoIKVqmxKK77SbPLO4unk_BBl8ps9duUBbSVyAgFL86JBfs-HIzGA6fTfl1l29W5z-p0taGr5LPBPpSBRR0iWa9Q86_aZFclDh5wX3ueLzPC2lAnr2SL9KQnWKfoDMcmn0KtcvW-n1Cj0rnWasM1pDGUMlqDtjt7P8wEHZkI5eMX5RDoJyIW_s22-uyz3vy4QinFpa_7dwbVNDRyDdZoLbYYG7uhgUBFImnB9hkwM3VkReyrdjSyagYoFqrhC6HfWkdoX5iaQA-N-T5Wkw48DUoL7uVwQWAs8fqEYEtZLe3gAa-SkMWnFQv8BTqy-1QWiCZcPWnExOiAcelyWqXs6BJYdhj7LDXQXGgX_KUU1i8V_3fpWuVSDrHBZ4RMHHVFUBbmwlhG02fLr-q6TR6Ift9WDifsYJYGxHAzI3LIKTaVt_WhfNISkrffBBLibwKifCvl8px3r0JfJUIG33Gs4Ka-qHWgaNI5eWXbbZOmtG-2VmtXMKfUm2gUWcmvCdqyHA_vjKzz4G1H5UsK9vEV8chPZsH618xk6VyEnCYA0C_1mBjRF1dULUdKzGrtH2b8g1z0GGHM4GM8dkjGuRgq42kZQV98_WQEg-9SuEacPNCmXdhuyH2zoyRDef_fx4onEBOGCvOqY43z9OeURB1KrmYJzyPR8xMa9kZDr8qfa1jhlo2xX08AeFb19FSb2Icgl6kcEJDv63C3c0ivSbaYC_Zx8UBiyF5en8NYS5PTruWoR7W4kZYLVsshrk7GtqPH4PGJKceKp58wL3fcV5lcQFqGq40yRkxJmUamDkssELN7oztZ1AoW6A38Yml1DhRvHvi3EmMkWzs4XWeDZLBzKigJNXO-6RYD_84jS-zSOEDNSdIKzWo5BQXDibkGJ8_nTSlit7IvYkvQLuL8pH40Y2er-nIL9xGa1MmoGh6QFcWF_9p7avsXzSD8ADMHEIxNESfQ3PfE0TaWO8kte-TW5WfERZdbmSoED-p6EG4vrIrlU3aYWK5i91Jgd_TawoSW-5TZY-HbI2AljghIUaDuh6bso689-Nv9x6I2-o0fh-APlVKJnwuN0-M3SXSgCfkpHR6uaSRqJlseTCmbihvENKyI9G03tLnkB67xYe_Xbc47X4WzFLrlEBrHtlbt1JO9f5c8JXTLv8Rd6rrDnMTuGfjt5O91UewaQKxcmpxouuLOVxwtS_EoQ92x3p_VDK_m9ZpI23qxj541Edl-QYCUCA_eTKvqX09UcM_qpbL7Whno4Yk_vs2Byvf3MOQq1QMmULzXM10E8ZjVJQT8ypgcyEXAyYUsjYT0s1-azyXtwwB3Ox5VMDOFWTUnKlSNeTdCY26_mfpzH4FMX6jZ0d0Io94AR4sZC5mf0iyUIr_fFPtMC1OrKv4bAwOqP1ux22qtCaF9mj8Jc7XyDwXFg60WXGb6SjIUJTbQ6vblM5wuvss_4blEXarESfd3s7wx8gZOI54DAfPW95ezARv0LtcUj_U-z6x6PUpUUAFAY-SuhyGiplUIumxg2N_PJGiG1EyMlxrpAbs3AZm3w8UmcgMBbGz5oeIaD82O3_OSwj84nlcV5ilDvhObqfS1HO5o7DA171h5Ps8Bki92rJRwztHl5H2j4lAFw-ZMoM9mhTTjKIMacQYWAKjBxFaBTzKyaqVT7jgfibgQ-GcfZZoX-8EJC2pzhDOw7jGhi4b-39ruZClHp8WeCMK5Dphjqt8fvC6ObLIzHUrFrADmCh_xPxnSQ6htFQLgnAyxIRxU9DWmUQbKFCJjuOKZSnpJ3LpOqoo-spSQDx-5mAls8g9amcAt6Gl2G1N2uUoiCJtZFzkycJd9QRsblWqGjKTGrWBWgmijQDqa-1oMyeePqXwGKUBNTAio_KIyLhNkuM23O6Ec_5x5WtolAfHeu_XeaQJXJlJBl7lsOykComfU4pjarlkghnVi13sh2efZq4I5ohRXAXBTlR36tLlWPGWKNK3r9ZrdKWhqhWLSCnda7UlaM81IQzVPfTYQ5keC9gmxUEtz2c3of9CA5MvYWDTBHYNxl1GdgZ2-WmTVyJdBZiA5ERAPt7S5aQyxbmaYnZwTH4xji5Y0je3HboObLtg4kUW47iM_i-7zigrSM1_ciDMOz83K8AWN6I2RJ0y5XDI9mtdl1FCcntOCu0XjMW2OmFhroNH2Irg8uYO47bUOKvVWqKprIhqe3hYhfb47T5MWmjodYWAG5jmSeEXgG03ErjwzsDBhx2HWkvyjQUuFNsdDZ8cJBRsCBarOS1mhpYVF9FuVKAVpjvX0QcEp3Pcx9ZbpCI7cB6bmjj9X3BUs8eUc8cnGXvrQWvj133z41VZL5xMTgR_qYdW8ladpAmAyABUhN0YXQVdw84V8gPzs5nPIDEwUycg4qZw5pulUzHbf9KiEHZoXDvUSfyw0z0EfTBwpfUt0czXtqCvE4d0fUQjF1gG4HuETh9yn0R1ONgkfmCRQyBEkrhno-kxLbAzV6FIgM3C70nBiQNQu_Tx_BO4JfAxLLDc7w19sg3DW_BPw18i1pRaOd9Vmwop4EFnf9CBCYWWJUoZrQ9naWX1AVo-bKT4x288qjgDZQPNr0AvLl6n8d_x8zuACt7g2qg46ZNSDddWDCxzYY2QLN7eCUCe_4EKZ4Khyr_vVn917bShl5tlsvVvUbJ6QflGtJ05W31ramnCh7LD5G1kPiCHqIBme6N11UCGcyE8liwG3EWA6sXk_a_6IyRvjxsNbosJwAmddHJ0diGNLpnd8WZQAXovNs1jeRUMWvdgdmsG6oPrbYnLGPawFQKJP-JGCJGSYbAuLRcqDgZgwzznvfOGIJjsiRl4MfUsshtztcYY76AaXpsI3iDbP30PX2AIkc9arJrZN8DcukMXSS6Y7QMp6_3u8TGOL9XDfbDVVBCg2F7JSgZ0LuisyVNw4Fd2FyGn3Vj0WkVrviTGmAbFJxp847vjxaI6K1ZEYd7-WE9frfT1ifv_yAOzJNvb8ZS0JZTS_bkGS6aaRU4ZKiAqlTDF_DhrC93-3pJVcty8jQCaecQhZPDezU0fh_dbMhSsG8QGnPFl_9_kcKAKlrs3be5Bucz_lgMGSnx2b5pbQY--R-iZkGjb-zqxI67ph80F56uojUCc6tTfjbeohCC0bemkBQZFbt2Lj5u3_PCNZg1MivfT89ea5vGFqIorheP3ayoczi5i6OT-Lor9Ds4m9NF_DzKfyLW7jDPKkQbvVveXKHHrdl-NmFdA2NuUmbUf4uBAkUh9eCdDPGd2EhtXN1eHUEzu0tQ7HznlFRQexoia8xvy1Zidd9Ajk06lw5RWplqkXzSZRjsu0zEwbZKNNW-rAojZcFTZQeukQW8Nzjsh18ZpfP2EqaGaLe9F2UwFTQP5pYwPY6pIJmSeQs8B4jYUfoGeB7twlOh1fqLwK8jMxmtwID5wTvz3vnOzasX7h0lqTxFvT6eodl3EEBAmyl4npjxrq7b6mEX6TTtLG1goABpn7sGMDrMO8RG7BhXAMVTiBtyhD1eP8A_4NME-iszaYwf_2spfBu5rNIx37fLGY038P81O3ZJ376EpsHBvIi3nzXUIknyF0y6p4515IGRhKhmLhFhtUF8T13MSi3S4DrNzN4W7bNp6Y7BsGExNNjwclYaOP4tkBqGM2c1AaoDyZpm6SYiEA4TFDVRG4_J3hraxHAnoChLQ96tNjfwc2kin8QpQqvf7YYJH1u_Tdax_W1JZ0WOTZ9IDL42Gnv6VG4ZsjM4VXHOqt1E45ZEznE1kSffWVK4cXHfWZzHmP-h3pKl0XOZ2OEfqcgBJk43O1ZIqs4Gxumok44HFffQlAEPXhyvBohybSjqT9J6IHc_jepaeXghXSi7qe4-cgRll-spe9-MhwqnPcD5vsouGdDzHA67ExPvjg475st6Dd1CFGFZnJKOXCzPaAbuDny__yoLYOZLfA3ZDWrIyAcwCtTz58fvL-_GFBQsFc4iNeq074u-MwpPqlULFejrt3ItWUUF18nDsAPTuomZG8gh31WmBfAKUjSwfoXjIzFNBI2BeYvNUfV6fI6zi56VLd4v4kqrNBPiz78LPDgMGUqem4NlbiU8batlg2iVr9g41bu5mD_Q9BdfQWEw0Rpb3T8SdQ1SqCrJatVJcLKuYAAbhDTyn47j-JrjU4btYiD7QgslyYz4AjlyVAx4sXOzjKJXAZYNf9LyIJ_dFHpcka0Le8a6OhG2Q0_Y16E2MhtNNH9-tyNIvaC0h4ppDrA049yVMvs1y6hdVzjVGVB1qwkRHf8-EavF3awT_xeJHvmJzGoELW0_VGxUO-f35yynz06mk71_3QP2r8nVCNYyj9KkUANYdjokbtzyFdcoYRwqnaWzVRt1Q8AlFXdLmuQmKy9RPMVoP0IPuLsfaWn4iGk5TT7qukp6VQSHY79kzt1FuPyaNJJoLQDANQpllMzFvYEb85vw_A_xPHuK0nn6VtUBUrIhOFu07K9isTdcC3StoRC-tPck-a5AVyQ9b1C_P7xYMQZ_nHIF2rBZ0BwbXOiNchuuYHVXgGev3tZaTS74HZmNyR9dOyez5kMh-GN0MWS7dxFxyk_TcDD6OEHhEJIfQUzbwGavJM-o4_qqr-mq3OSCDHFXjhyGYKoBdYczCqe0P2Qzgdts1kO9cSgpw3SdgJWOR1pcn6GZBQea5PMMirZLNG9X2EzMz3KsRc3QZMgAoIQd-EMI7EIa4UVWvD4go5fxkasa7e5tbf4zZ0v8rLnhsc-8ED8jz2DW5URO51u-fKtqjp2KvG6htc4jU1lkg04Rxg2o8EBmRE8om0lgpZarQKc1QqTCp5UQAbrr5G-dVkUS_WziQLvIPZ-YBmrPx6nHlmwWW7wnqd6wa_OO3DwaUXWlTVP7AQKQKZCp2uSzZpQmYx0m0KJqM1BMe1bzNQGBp4G0DtJ_rOu2MqE53ZZ9bXRg7KMQK-M3UfYXtDOs6Vursl4iqe3mvj_l7E8_2F729Gi9nBbKhj2vFAmnC-WJbeuz19IiCnw844-XqDfwz5uvtRk6dSJxtaE_pxStwf_AmVmcEMwFlYyjRVTdj89b83V9PF5pU6bzvKo9Kr0ntGXG3ZronWP9Ud-LQxlh3CQZLD92kzNGytjUVbdC94u4HiuvV-nTXG7Up5_SktVC8j0rQ41jJSj1fot1VV8jcNm7zdBylqp6qkUiGAH1r-gz-CUvS01sXKDz0Xl30PGqPDfg_4PG3T5cy0ZKyAdGejfayMR02GIu5ny4-FEQ2E1mbwJijOQ-pt1BfdJzm15mlaAm7P_1lcSqi8rceBa7KPYMn2ONMRd7jzDjm7ZoC8RzKYkfJl1cGm2onLk8wnDzJsGgEAZ1_EpLzY3WadAcRZB_QXoaYczKgRtBOc41SlwvGxRsTm-x6lnUno9gL4ePtc5yBRGzq5k6nA7iVKjlzZcvyec_9HMhMJBgPKblWfbF-7oARzS-Bw7BOsm9V9LrlbtAA_OEJ7uLxoLnQhdViC1r0zFnRyZ3fvZd6IVWyX8y80S16-vsTBix7NMo5F2kfk5a2aujnasl72HL48p9SkXkje64aog0qK0R_tKOc0I6nY26uyYj9Hic7D0ws-XAeM6EiQu5D6byItxsdPXOaKC5spHTQ1nR7u780uxoHIpaPHu2sWOCUxudjgw7iHPEykarM7HjJONPdhfIwWZf2lNncsxn6oH9a-1Zj4YuSIH72PCu4-1Z7ddcZAhlxYhkkg4cAkF-tcZkbR_vnungSyd8Qju5ZOZsz2PwAAHZSC7SIcARcBnE_29aqN1Jh-xb5DGXuWZ8UaeRzF9G5rK8BpYQtcnYV4QARiSpPGLsBa_a5OXEmy5K37xU2Fxasb0r0xNKabECSVfGKqRiEv2aU3W5KG7FTFIZ01KGONnPKQd0TP4G8RWKyHDGRj5HQM-rRmSoWxYzoxSoz94OboBgmFmyMngtKmFRNsJ0Y_gcyhiRTQgljpAJrkBNQ_WyO7Uhnclferv18JS9ztkT8S7yptebO48_nvBPGYFLiPfPkFWf1VgWtViG250zeTRo-lHEJsfNVFNnjfJ9PUPg8zsCxpZahrCbPmiLQQ0phTfOIjrAPmWd_Lik33WmNwxRe-1H090dy6c-A9J9of7SFgFP88pAd_7ct_XAaFSu_G7m9wAfN2lO08LAFR7MokjinXlYOUTWC3Bb48oEOYpdKURihYnLRR6D-3fd3eh2wO1knz7T0pWFnvF5Sp5C_eTqOxzf-z3JSARhK6Ir7vzjQfACrlrL5UG9EacCQcdYnrmF7-LUaV5f7isNcUSA4Q1R9SahKMtMkekgthXuiOj9sidRHVIkU2934PEKsACSrWrZxxxCZhCiMVOgNXbtinb6HKoH3OOKP_8tMTFytSTJ1Yr77fpqiBMNLUuEflj3yCPD8UomXir4AXfQWmw9cAahCFBQUn-6Bwmkgj2tK84dBgn1zy-eZNplbERZJJWVSIRGi1wJBOSKoVCqbxTNeEpZ2AmgO21B0x5rj8ZYzVrHFvXMhEYq-ihpSBhS-mrVLVBJslinLawqhTHArxJsftsuPlF_aRjNU7Khc0KQpRsrAWzc42rgqJn40rHfZ78CVS_5PyCnSNQ9h5wEiqtGaEeL5vM9RmLJ4oJ9g0wUXYbwYYs6Cg6_u_njXFTVk0mxcTlegUoV3UXZmXAJ6HRJN3AfViifmrePxV4XvfN9D4KKI72zDRyVHFK-8OwUZFCKo8DwXjiWnhC9PCwSh66kpvmVABiyQLBqGSzN7TUmMAVpSVxcxLCp3EPu5TI3ps7R-WkOx0FCdxUX8qqtWtgtfds8Dbwjav-56LcQZhmfePwIs7bt3efFrr9vOazPmi3gySMlCCgYOE6Jie7EbT7EjAGbnGm122VVHQ4pGqejAVpIYjHlidYUd1L8uVdNb-chUawyC9U-U8Pdt3GBWAyhRnLnC4BU8okPIhmAUYSvNkBEoCXCtVxZqFOF8-r0EpmMcDdGhsiaBTXkE-TOPNx2BLnI3vrLzKT5_b4UFIH7TdtPc9GIfz-RHXak1rQTzsvxtcXM5hv7eIubWunBZUVj4NN1ApdC_J-lX7M1YctZJ5NMTEPV4H2cUZYrW_Ja6Ttc2W0jL3m94xpIcAOUp6cx8Eg_ZploW6euaDK5JjBiz-yQKZ2EgXLfoIf0XPUr4GsiNyCgak_tO0p44ot56B52Aa0r844d5RiwkPa4XN9XG9jTFLArOeGsH2fT1z6uQK7_Zfqf0-2aAeENIYHtVq8mNUukgcLLSnom3BNjSxkr-DS9Swc3FSQscxmPc-7Trwjp5M92lbxu1MflmcxussNGlwbSUfWiLiso-CI37DVYxx6AbaTAk_mBsQnzJK1w2ktnHpqcOnhsGGcS9n2JGVkY4ZJovZImHkIhYO65no_H3bh_ahw4EpFRwnrgwiuB1My2JXYhB0MRRHuXeiK5RLVnk0arXCuc6plZMVXawZ9WRQS469R-NVbyhj-g-ev-RbDTg1Gvjpzjx_gOZ3GNfEHxRGN1RgWTPSN_a4zDjBE_sLV8W3VNkoUo8QPIdVbVHHV7REmsUp1BpFYsSZbDYCwkddLHmtwr4ptuEJDGboiw9fl6a6556W3Cufb47GAwRWf__eO2WdEVa4HscjzcZuHXKzOeSEOyNk79SLIg8HngAEFpv9gQmrO9FWlPVIActiHo9YLjRipfLq8xEwnDV_KTvDGBpPlIYCVjxcJDphL1pIWv4f6IbOwLbn-353krpsbLwS1bwfzm4w7qN1A0gkc1Pjx5UrgcdpoxnSAdRnXshu7Q7HflBQfVYoV97kkOLbvbnTjTldDbiYsH6AN2GpEQe5xQcIqLe2Zh_vrPc-nQXDvjf3ImPZkw8eu8iNjeBrnT2OsNBqEFE_i-n-E5XlqXS21tdce8hqLZ4eo6_ghqKV5EQCywblt9SfEQfeCMBF_xIKQmvBWDFukmJ9T1TH-ptxmf_oFLZhrwvs4D3UwKIOhetgtw1rnmeMLt-4iIZlzAo5WyZwU3QlStHcq7ifuu-0bw9J_TsoR2uXcnKyzlsD5U6BPGN_VBrlFFjqsRwXsEfBry3vSS-Q3zl_HtdCa3l5At_jddLKNPx2gbMaXLMoAnrMdt5yVmKCGl665RDznuJp3UuPGieV217iLB2Cx0EqV8odkVsbwJvzFNOShbzo_thr6ySt05lCKmosrcvEnm2Buqc8xrAj3KTXR0VPgM2SYNTHMDKA9N5L3btVJIelrIRrjQbSnJpHSznDBrRhM5l5zZl13Clfo3nYJF-QsxkdCqQZYdF1jN9aXx5qGVyz6hgXzAF2o_G7U7qUTiFeQ5YPFWac_29yaOF1xO0a_wrLyJfHg82dvuhlvDu28QZV0UiQyP17sDIWRupnof0x4OUsAhIhL9KamZQ8IqpqoTA5Ap5RpGvQ30LXm26CtFfjQe5kum1LZ-MbtVD8RpbeeikgmqhA5klaqR3BCNmIpmyOXOoB4RVP9UVugX6h5UQOj-oklnmq6PrFHD-UQta5g87ntoukTNcrsIdndX5cUohVn0qWlsfrEL6tKCTkUw5kTA6w9GjfclctNUdEdbkiA-XaUACHQaqhJkHkW-Q0_H1IcIeMe8E3v1iYLVPPMNKD4LCuhuBy9oXyaR1Ph72TwoFNhaPzdGrtDFbaBzYhx_y1dSik4yi5PNVrWrJ1HsYT8EZJ8d32eQVGYUsycL4qS_DWUQNrxLI1m_NyZKOkPbX4FXubei7rt2zXENqkYXK2O7k5oijJBPBJV1QF07RTQ5PGj8zTwyvT3bfNsdsmkcZzS4fHXq71UOHC5DelVcM8I1ytScWiN5CW4C7lt8ZLgf0tdl6_JULmJ94etLerOy0LUPe6khSR8WqgY1TQ7p9bWYo2rTSEgx_Lyc4DeH4LgSLEtVB_JCWneCqtp1mA6hWPp0-bLyL1hjCaNDU3XsyGEyQj3a88w7aKViOjIXwuugdU7r6BSF21ffICBbKvBYLT07s_ifxYIXFWRfGsbKFzwSYf-ZtpG6cEYgZEHTUJFFb3_B-HtSvz6kEnILa6aw51DQHlN6uMUvDthw61APCZzn-btHE_9vZG_6p_3frsL32Vkyz4SbdSRODe7RElVTIa3Kn2-ipyq0QcAF_o6cP6TIo-aMqp6B3h9TMxpf6SnDfjT5dHT7pAkXlFZHZfjW4YAJF3mcHZ24bcCssFhpO0NNdWaws4ELewmYqGzm65ZAP5xgJzucqom5J9RoNGSp_xXxm-_Un0vUJZmBMS5BSAwP4zLuorWMwtU_IXRdRV235vKKihqrVFz4KZqUXnqWx-oq8XErUJv2Dfhg-xOR7go9VQwlN0W-HkHKqOUr4Qv4BOPvJf_BjoI-NlRn7QH902I3I5BGViodqMavPrfd0xm2hWHrarCxWkR_7r-leaRBWPP9bKob4IZDCrQ8e4Chf92OpfU7ieNGaIH9RTngo-iVrnkuVVVd-7N1tkDQuFoDRyc5IVpB_PlLxrwCp7uiC6fc_hQGCsd28q17xDsndjDN4O1e47ppAX2iwg4cdxNcWRf3oNursj4eU1U1KffXtYo6-abwHk9BEAbRIC5DqFijQtrSsWbPJt2cWietN6dsa5YKbcu4nOV-PhlNkow8I8Vtlq4Dnfzgvj5NbODD03RMdU7NpOEhqccQO3Ym8vs8UQhOL1yyzM-w723wd2gAkXLIy_roxqOu1N5lKxi3u36keJrbu_FZlce3yrZ3PQq1grVL1Cn2NDv7GGmUtzf6QnYCJpac1Ynl2b80D3QUBTjkcXyDMBR_C2nKTMYRo7Mq62iNtwVd1Q3kokS38ERojXlwPb7C0-DLyeC0WfEquDNymzhspbB_LlKwQFjinrUlnd9DQkIFR_xfX5XvkyS32I5RddDYuiHiO50zCoDTvow_icUYXhaxPfDqlcXFWNrMymlWrogc3Tk4qoqYdIZxQInUX2RZAIsC5W-ZcP8aOPYAukVTF-EoyH8yv5Ue4GIK1jVJ-IbxZK2mB8io4KwTKFE61g-Cv3z7_l_I6224P8o3N6dm7qnDt6Dj6-v66oDe8MKQPN3dbUcOnfxeL42CgJjVaYQsnUIwjIgrcxzjTVALqcZvA0MhlHBgqqQOj9wkpYL4YYHjOCNIJns8fBCRb46gYpON8IYV1m_YoVpJDTbQsB9SewWvLws1B_92LZQ_9PDxnMSg3cvYVvjx2W3CL2dKVUZmvlz_CdaRXwCHetyU3ALMwRLT5-UylT1cMz18aI-RJzYJO7q25FefRH66KvUOhPW8UuGEPIRK9VfVw__o10ivCTqoII43p48h5DuJU4clj97nSZmjrCsCI-rhy17VI3mtD5o7EggRCCKl56z80z1BXHYQ5TPs4juDYQ_18-rxPydCjbL_rKbl1gIwCEBW8uLBsfkvYDsQGg4vvx2tzCjNTLQqw13BHOnPryN5kF0yZutmTo3uK8lBG-Zh6ufVDmQxl4lzC82zCx6iiSuSJ8ob-8gyuPE7dZv8DN92-gPpFSSZnkn_Ulma_zPpkSvXhPC-UwgYLE2Ds7ZSzRshU11K7Fc3v8cPgTDpgps1kTUMfOWYzUz4udEL5SCf7KQuZbZz5V5OCscMj6OjHFW88M8V_tBdPGzZd54-4YQJSrbu8TvMSWV5sf7_jgTTBQ5MYqvGyEFXrFwj2QTy73DT32mvZa5CiT9TqK83ShQ3JNKKqfkT8h79tz2qwHrkzMSAmxxWE1sTkMl9EgQx70q2c62lMFtFvcN-dheMKWTcQKNxEm8Z8uMFmylX3H8OQDUJpE_8HYNkfoHKs_wbcCo1R3jNX6Osks13TPPeJO_dsFQskM0D2nyGFNAco-d_7FmuululYzwyHo1dVtcUqBCj5nU4StSIvxRSu4mF89zpep35HrVcj5JUddCdjNRk58ocIOA3zOBJRn9AWZwGaD6AsQ_3ATRX9--2Kbty2nz3CBBBsEQgjbBKIQdmXT0Oi3T4M0H7Dw2Lu-j9AzeChcVCePPzWPJ9PAXGZJElQizJ7VNTQGfAp18oDTVGgwrVZV9Jcxn8f0ItwmeBJDbOwyHny7211tW1s0i-GUUIaKxXcqCoe9ggmCuzbwIRdjf0vdC-4RH7L0kHgMx3PfXmjQJIWYR6NysutcxgYJLPA1D-iOthxwdZ2ukwmY7domKE5TeKtzEgk2qPLZhpPet08DYSsIjMNZc9Rt_4ysgmOYD-k7n6MH3L7---GWQtnusB0u-upJm9qz9324yqvpfQjnvq32KvSqqlzb6rIWPuEF-ICVzqpBuRB2nlvUgfQuz7aTreNw2kKaB-q6P-Rckhy82QTtmFjSgoOp0l1qAgSa4zi5Bd4ZXAL8xfv8TT91P391yn8fr_139APVjWoNhbQ0hi71vxiIInbSfS4uUMeDfReqfeTQtwIGtCLa6YfVU-lK_Yw0qEBZp1I5Ikpc_TWWJOjGZJdd3Dz1MPqSIZXMNb86ZZlct335GU6icPSHhRYYmZ5tLXRev7ZM1aV3bzQX4OFUhL0NJEhbGpsGoVrbfvrUKjK11sSHJY7X8BqWdW6uNiZrILODVQYlJHOyzTs1yJ4VLbinSVxA4eSEduFVJGKLbzHWBfGOTtRbk2-l_z7Y1h6asylOl22WUj0bCP0Od4zLPqcZpmEzK8THoDP54ID0S8gRL55zFCPqGz6D98ctPsRU7qSHx9ZMI6rsw-DxKAPEWOJYC2gBldTPON9BS1F1iWzjb4Izr7yLMCtyquOGyAh5ZbPaZGfDycapxKazd1TXno5a5Y3LqpTNuFvIYcc47-w6Ox0";if(!e)return null;if(Ot&&Ot.sealed===e)return Ot;let t=null;try{t=$r.parse(JSON.parse(mn(e,hp)))}catch{t=null}return Ot={sealed:e,bundle:t},Ot}function gn(){let e=ta();if(!e?.bundle)return null;if(e.runtime===void 0){let t=Date.now();try{e.runtime=Cr(e.bundle,{signedAt:t,fetchedAt:t})}catch{e.runtime=null}}return e.runtime}function yp(){let e=ta();return e?.bundle?(e.keys??=new Set(e.bundle.filters.map(t=>te(t.slug))),e.keys):null}function yn(e,t=!1){if(t||!e||e.length===0){let n=yp();return n?new Set(n):null}return new Set(e.map(n=>gp.test(n)?n:te(n)))}var hp,gp,Ot,bn=y(()=>{"use strict";Tr();Ze();Or();hp="tokmizer-default-rules-v1",gp=/^[0-9a-f]{16}$/,Ot=null});function Ir(e){na=e}async function bp(e,t){let n=await Ro();if(n.size>0)return st(e,n.values(),t,n);let r=gn();return r?r.selectFor(e,"free",t?[...t]:void 0):null}function wp(e,t,n){let r=on(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 ie(e);if(n!=="compact"&&n!=="minimal")return r;let s=r.endsWith(`
71
+ `)?`
72
+ `:"";return rn((s?r.slice(0,-1):r).split(`
73
+ `)).join(`
74
+ `)+s}async function ra(e,t,n,r={}){let s=Buffer.byteLength(t,"utf8"),{exitCode:o,yolo:i=!1,resolver:a,...l}=r,u=Je(Si(e.startsWith("bash-tool: ")?e.slice(11):e)),c=o!=null&&o!==0&&!(o===1&&kp.test(xr(u)??u)),d=xi(a??na??bp),f=null;for(let P of Ti(e))if(f=await d(P,n),f)break;!f&&s>=_p&&!kr.test(e)&&(f=await d(`bash-tool: ${e}`,n));let m=_r(e.startsWith("bash-tool: ")?e.slice(11):e),h=f?.slug==="git-log"&&m!=null&&/^git\s+log(?:\s|$)/.test(Je(m)),S=o==null&&(h?/^(?:fatal|error):/im.test(ie(t)):vi(t)),_=f?.transform==="smart-read"&&s<=2048&&(t.endsWith(`
75
+ `)?t.slice(0,-1):t).split(`
76
+ `).length<=60,O=s<=16384&&m!=null&&/^(?:head|tail)(?:\s|$)|^sed\s+(?:(?:-[Eru]+|--(?:regexp-extended|unbuffered|sandbox))\s+)*(?:-[Enruse]*n[Enruse]*(?:\s|$)|--(?:quiet|silent)(?:\s|$))/.test(Je(m)),T=f?.transform==="smart-read"&&s<=16384&&(l.verbosity??"normal")==="normal"&&l.smartCode!==!0,I=f?.slug==="read-tool"&&s<vp;if(!i&&(T||I||O||_&&l.smartCode!==!0))return{output:t,filterId:f?.slug??null,rawBytes:s,filteredBytes:s,debugBypass:c||S,droppedTail:null};if(!i&&f&&!f.preserve_exact&&(c||S)&&Ui.test(u)){let P=Gi(t,l.verbosity??"normal"),z=P===null?s:Buffer.byteLength(P,"utf8");if(P!==null&&z<s)return{output:P,filterId:f.slug,rawBytes:s,filteredBytes:z,debugBypass:!0,droppedTail:t,failureSummary:!0}}if(!f||(c||S)&&f.preserve_exact&&!i)return{output:t,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:c||S,...i?{droppedTail:null}:{}};let D=P=>{if(!i)return P;let z=P.filteredBytes>s||s>0&&P.output.length===0?t:P.output,ae=!P.debugBypass&&!f?.preserve_exact?Er(z,"minimal",P.filterId??""):z,Lt=vr(ae)===ae?ae:vr(z);return{...P,output:Lt,filteredBytes:Buffer.byteLength(Lt,"utf8"),droppedTail:null}};if(f.slug==="tsc"&&!c&&!S&&!Fi(e)){let P=Li(t);if(P!==null)return D({output:P,filterId:f.slug,rawBytes:s,filteredBytes:Buffer.byteLength(P,"utf8"),debugBypass:!1,droppedTail:null})}if(c||S){let P=i?on(t,{...f,keep_failures:!0,transform:void 0,max_lines:void 0,truncate_lines_at:void 0,on_empty:void 0},{verbosity:"minimal",smartCode:!1}):f.strip_on_failure&&!f.preserve_exact?wp(t,f,l.verbosity):f.strip_ansi&&!f.preserve_exact?ie(t):t;!i&&l.verbosity==="minimal"&&f.transform!=="smart-read"&&(P=Di(P)),!i&&f.slug==="pytest"&&(l.verbosity==="compact"||l.verbosity==="minimal")&&/^={3,} test session starts ={3,}\r?$/m.test(P)&&/^={3,} FAILURES ={3,}\r?$/m.test(P)&&(P=P.replace(/^([=_])\1{2,} (.+?) \1{3,}(\r?)$/gm,"$2$3"));let z=!i&&!f.preserve_exact&&s>=xp?qo(P.split(`
77
+ `)).join(`
78
+ `):P,ae=z.length<P.length;return D({output:z,filterId:f.slug,rawBytes:s,filteredBytes:Buffer.byteLength(z,"utf8"),debugBypass:!0,...ae?{droppedTail:t}:{}})}let{text:L,droppedTail:me}=gr(t,f,i?{...l,verbosity:"minimal",...f.transform==="smart-read"?{smartCode:!0}:{}}:l),Ge=!i&&!f.preserve_exact?Er(L,l.verbosity,f.slug):L,ve=Buffer.byteLength(Ge,"utf8");return t.trim().length>0&&ve>=s?D({output:t,filterId:f.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):D({output:Ge,filterId:f.slug,rawBytes:s,filteredBytes:ve,debugBypass:!1,droppedTail:me})}var na,kp,_p,xp,vp,Pr=y(()=>{"use strict";Ao();tn();br();yr();wi();Ri();$i();Rt();sn();Ni();Mi();sn();ji();Ki();bn();na=null;kp=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,_p=2048,xp=8192,vp=32*1024});import{chmod as Ep,mkdir as Sp,readFile as nx,writeFile as sa,stat as rx,readdir as sx,rm as oa,rename as Tp}from"node:fs/promises";import{readFileSync as Rp}from"node:fs";import{createHash as Ap}from"node:crypto";function Pp(){try{let e=JSON.parse(Rp(ms(),"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 Np(e,t,n=process.env){let r=Number(n[e]);return Number.isFinite(r)&&r>0?r:t}function Dp(e){return`${$n(e)}${Ip}`}function Mp(e){return e===""?[]:(e.endsWith(`
79
+ `)?e.slice(0,-1):e).split(`
80
+ `)}async function Fp(e,t,n=process.env,r={}){if(Se()||!Op.test(e))return!1;let s=Buffer.byteLength(t,"utf8");if(s>Np("TOKMIZER_CCR_ENTRY_MAX_BYTES",Cp,n))return!1;let o=$n(e),i=`${o}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{if(await Sp(An(),{recursive:!0}),Se())return!1;if(await sa(i,t,{mode:384}),await Ep(i,384),Se())return await oa(i,{force:!0}),!1;await Tp(i,o)}catch{try{await oa(i)}catch{}return!1}let a={at:Date.now(),bytes:s,lines:Mp(t).length,partial:r.partial===!0,...r.label?{label:r.label.slice(0,40)}:{}};try{await sa(Dp(e),JSON.stringify(a),{mode:384})}catch{}return!0}function ia(e){let t=e.TOKMIZER_CCR_DISABLED;return t==="1"||t==="true"||Se()||Pp().disabled===!0}async function Nr(e,t,n,r){let s=Ap("sha256").update(e).digest("hex").slice(0,16);return await Fp(s,e,r,{partial:t,label:n})?s:null}async function aa(e,t,n=process.env,r={}){if(ia(n)||!e)return t;let s=i=>`
81
+ [tkr restore ${i}]`;if(Buffer.byteLength(e,"utf8")<=Buffer.byteLength(s("0".repeat(16)),"utf8"))return t;if(r.raw){let i=await Nr(r.raw,!1,r.label,n);if(i)return`${t}${s(i)}`}let o=await Nr(e,!0,r.label,n);return o?`${t}${s(o)}`:t}async function la(e,t,n=process.env,r={}){if(ia(n)||!e)return t;let s=await Nr(e,!1,r.label,n);return s?`${t}
82
+ [tkr restore ${s}]`:t}var $p,ux,cx,Cp,Op,Ip,dx,ua=y(()=>{"use strict";F();Jn();$p=1440*60*1e3,ux=30*$p,cx=200*1024*1024,Cp=8*1024*1024,Op=/^[0-9a-f]{8,64}$/i,Ip=".meta",dx=["usage: tkr restore <hash> [--lines a:b] [--grep pattern]"," tkr restore --list"," tkr restore --grep <pattern>",""].join(`
83
+ `)});function Lp(){let e=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(e)&&e>0?e:6048e5}function ca(e,t=Date.now()){let n=e.lastHeartbeatOkAt;if(typeof n=="number"&&t-n>Lp())return!0;if(e.subEndsAt){let r=Date.parse(e.subEndsAt);if(Number.isFinite(r)&&t>r)return!0}return!1}function da(e,t=Date.now()){return e.plan}var fa=y(()=>{"use strict"});function It(e){let t=e;for(let[n,r]of jp)t=t.replace(n,r);return t}var jp,Dr=y(()=>{"use strict";jp=[[/(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 gx,randomUUID as Hp}from"node:crypto";import{readFile as ma,writeFile as pa,mkdir as Bp}from"node:fs/promises";async function Mr(){try{let n=(await ma(dt(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(n))return n}catch{}await Bp(R(),{recursive:!0});let e=Hp();try{return await pa(dt(),e,{mode:384,flag:"wx"}),e}catch{try{let t=(await ma(dt(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(t))return t}catch{}return await pa(dt(),e,{mode:384}),e}}var Fr=y(()=>{"use strict";F()});import{readFile as zp,writeFile as xx,mkdir as vx,chmod as wx,rm as Ex,rename as Sx,readdir as Tx}from"node:fs/promises";import{join as Up}from"node:path";async function at(){let e=null;try{let t=JSON.parse(await zp(Up(R(),Zp),"utf8"));typeof t=="object"&&t!==null&&!Array.isArray(t)&&(e=t)}catch{}return e?rt.parse({...ha,...e}):ha}var Zp,ha,Cx,Pt=y(()=>{"use strict";Ze();F();Zp="settings-cache.json",ha=rt.parse({}),Cx=rt.partial().extend({filters:rt.shape.filters.removeDefault().partial().optional()})});var ga=y(()=>{"use strict";F();Pt();hn();pn()});import{join as ya}from"node:path";import{appendFileSync as Jp,chmodSync as Gp,existsSync as Kp,mkdirSync as Vp,readFileSync as Bx,renameSync as zx,rmdirSync as Ux,statSync as Wp,unlinkSync as Zx,utimesSync as Jx,writeFileSync as Gx}from"node:fs";function ba(){return ya(R(),"spool")}function qp(e){return ya(ba(),`${e}.jsonl`)}function kn(e,t){if(Rr())try{Vp(ba(),{recursive:!0,mode:448});let n=qp(e);if(Kp(n)&&Wp(n).size>=Yp)return;Jp(n,JSON.stringify(t)+`
84
+ `,{mode:384}),Gp(n,384)}catch{return}}var Yp,Lr=y(()=>{"use strict";F();Ht();Fr();Ar();Pt();hn();ga();Yp=512*1024});function lh(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 oh.has(n.toLowerCase())?n:""}function uh(e,t,n){let r=0;for(;e==="git"&&r<n.length&&n[r].startsWith("-");)r+=ah.has(n[r])?2:1;let s=(n[r]??"").toLowerCase();return t.has(s)?`${e} ${s}`:e}function ka(e){let t=e.toLowerCase();return t.startsWith("git")||nh.has(t)}function jr(e){let t=e.trim().split(/\s+/).filter(l=>l.length>0),n=0;for(;n<t.length&&th.test(t[n]??"");)n+=1;let r=lh(t[n]??"");if(!r||!Qp.test(r)||r.length>sh)return"";let s=ih.get(r.toLowerCase());if(s)return uh(r.toLowerCase(),s,t.slice(n+1));if(ka(r)||rh.test(r)||It(r)!==r)return"";let o=t[n+1];return o&&ka(o)?"":(o&&_a.has(r.toLowerCase())&&eh.test(o)?`${r} ${o}`:r).slice(0,64)}async function xa(e){if(!e.telemetryOptIn)return;let t=jr(e.cmd),n=t&&It(t)===t?t:"other",r=e.sessionId?e.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";kn("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 Qp,eh,th,nh,rh,sh,_a,oh,ih,ah,Hr=y(()=>{"use strict";Dr();Lr();Qp=/^[a-z0-9][a-z0-9._-]*$/i,eh=/^[a-z][a-z-]+$/,th=/^[A-Za-z_][A-Za-z0-9_]*=/,nh=new Set(["gh","glab","gup","hub","gist"]),rh=/^(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,sh=24,_a=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"]),oh=new Set([..._a,"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"]),ih=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"])]]),ah=new Set(["-C","-c"])});async function va(e){if(e.plan!=="pro"||_i(e.filterId)||!(await at()).telemetryOptIn)return;let t=jr(e.cmd);!t||It(t)!==t||kn("learn",{cmd:t,filterId:e.filterId==null?null:te(e.filterId),rawBytes:e.rawBytes,filteredBytes:e.filteredBytes})}var wa=y(()=>{"use strict";Hr();Dr();Lr();Ze();br();Pt()});function Ea(e){return e?ch[e]??"anthropic":"anthropic"}var ch,Sa=y(()=>{"use strict";ch={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"}});import{appendFileSync as dh,chmodSync as fh,mkdirSync as mh,readFileSync as Ca,realpathSync as ph,renameSync as Oa,rmSync as Ia,statSync as Pa,writeFileSync as Br}from"node:fs";import{basename as Ta,dirname as Na,join as _n,resolve as hh,sep as pv}from"node:path";function Da(){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 vh(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"&&_h.has(n.o)?{o:n.o}:{}}}catch{return null}}function wh(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 Eh(e){return e.s==="b"?`b:${(e.c??"").split(" ")[0]||"other"}`:e.s?.startsWith("u:")?e.s:e.o==="n"?"n":"?"}function Sh(e,t){let n=Eh(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 Th(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>kh){e.ox+=1;return}if(wh(e,t),t.k==="restore"?(e.rn+=1,e.rb+=t.f):Sh(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=Ea(t.h),r=e.prov[n]??{r:0,f:0};r.r+=t.r,r.f+=t.f,e.prov[n]=r}}function Rh(e){let t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function Ma(e){return _n(Na(e),yh)}function Ah(e){let t=Ma(e),n;try{n=Ca(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]={...Da(),...i});return s}catch{try{Oa(t,`${t}.corrupt-${Date.now()}`)}catch{}return{}}}function Aa(e,t){let n=`${e}.tmp-${process.pid}`;Br(n,t,{mode:384}),Oa(n,e)}function $h(e){try{return Br(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-Pa(e).mtimeMs<bh?!1:(Ia(e,{force:!0}),Br(e,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function Ch(e,t=Ra,n=Ra/2){try{if(Pa(e).size<=t)return}catch{return}let r=`${e}.lock`;if($h(r))try{let s=Ca(e,"utf8").split(`
85
+ `).filter(u=>u.trim()!==""),o=s.length,i=0;for(;o>0;){let u=Buffer.byteLength(s[o-1])+1;if(i+u>n)break;i+=u,o-=1}let a=Ah(e);for(let u of s.slice(0,o)){let c=vh(u);if(!c)continue;let d=Rh(c.t),f=a[d]??Da();Th(f,c),a[d]=f}let l=s.slice(o);Aa(e,l.length?`${l.join(`
37
86
  `)}
38
- `:""),Rs(Ps(t),JSON.stringify({v:1,days:a}))}catch{return}finally{Is(r,{force:!0})}}function As(t){return t.length===0||t[0]==="cd"||t.every(e=>Ms.test(e))}function _l(t){let e=[],n="",r=!1,s=null,i=()=>{r&&e.push(n),n="",r=!1};for(let o of t){if(s){o===s?s=null:n+=o;continue}if(o==="'"||o==='"'){s=o,r=!0;continue}if(o===" "||o===" "){i();continue}if(`|;&<>
39
- `.includes(o)){if(i(),As(e)){e=[];continue}return e}n+=o,r=!0}return i(),As(e)?[]:e}function Ls(t){let e=_l(t).map(a=>a.replace(/^[({]+/,"")).filter(Boolean),n=0;for(;n<e.length;){let a=e[n];if(Ms.test(a)){n+=1;continue}if(pl.has(a)){for(n+=1;n<e.length;){let c=e[n];if(c.startsWith("-")){n+=hl.has(c)?2:1;continue}if(/^\d+(?:\.\d+)?[smhd]?$/.test(c)){n+=1;continue}break}continue}break}if(n>=e.length)return"";let r=e[n],s=r.includes("/")?r.slice(r.lastIndexOf("/")+1):r,i=e[n+1];return(i&&!i.startsWith("-")&&gl.test(i)&&yl.has(s.toLowerCase())?`${s} ${i}`:s).slice(0,24)}function bl(){return Ds(A(),il)}function Fs(t,e,n=bl(),r=!1,s,i,o){if(!Number.isSafeInteger(t)||!Number.isSafeInteger(e)||t<0||e<0||t+e===0)return;let a=s?`,"h":${JSON.stringify(s)}`:"",c=i?`,"k":${JSON.stringify(i)}`:"",u=o?`,"c":${JSON.stringify(o.slice(0,24))}`:"",l=`{"t":${Math.floor(Date.now()/1e3)},"r":${t},"f":${e}${r?',"m":1':""}${a}${c}${u}}
40
- `;try{rl(A(),{recursive:!0,mode:448}),tl(n,l,{mode:384}),nl(n,384),ml(n)}catch{return}}function js(t,e,n){let r=n!=null?Math.min(t,n):t,s=n!=null?Math.min(e,n):e;return{raw:r,filtered:s}}var il,ol,Ts,al,pl,hl,gl,yl,Ms,Bs=_(()=>{"use strict";F();Ss();il="stats.jsonl",ol="stats-ledger.json",Ts=2*1024*1024,al=3e4;pl=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),hl=new Set(["-u","-g","-n","-s","-k"]),gl=/^[a-z0-9][a-z0-9._-]*$/i,yl=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"]),Ms=/^[A-Za-z_][A-Za-z0-9_]*=/});function cn(t){return JSON.stringify(t)+St}function*Zs(t){let e=0;for(;;){let n=t.indexOf(St,e);if(n<0)return;yield t.slice(e,n),e=n+1}}function nt(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}var vl,xl,kl,El,kp,Ep,wp,zs,St,Sp,Us=_(()=>{"use strict";Be();yt();vl=p.object({id:p.string().min(1).max(64),op:p.literal("filter"),cmd:p.string().min(1).max(2048),plan:p.enum(["trial","smart","pro"]),allowed:p.array(p.string().min(1).max(64)).max(512).optional(),installId:p.string().min(1).max(64).optional()}),xl=p.object({id:p.string().min(1).max(64),op:p.literal("ping")}),kl=p.object({id:p.string().min(1).max(64),op:p.literal("shutdown"),installId:p.string().min(1).max(64)}),El=p.object({id:p.string().min(1).max(64),op:p.literal("reload"),installId:p.string().min(1).max(64).optional()}),kp=p.discriminatedUnion("op",[vl,xl,kl,El]),Ep=p.object({id:p.string(),ok:p.literal(!0),data:p.unknown()}),wp=p.object({id:p.string(),ok:p.literal(!1),err:p.string(),retryAfterMs:p.number().int().nonnegative().optional()}),zs=p.object({filter:ze.nullable(),cacheHit:p.boolean().optional()}),St=`
41
- `,Sp=64*1024});import wl from"node:os";import{join as rt}from"node:path";import{existsSync as Sl,statSync as Tl,lstatSync as Vs,unlinkSync as Rl,mkdirSync as Al,chmodSync as Cl}from"node:fs";import{createHash as Ol}from"node:crypto";function Il(t){let e=Ol("sha256").update(A()).digest("hex").slice(0,8),n=rt(wl.tmpdir(),`tkr-${t}-${e}`),r=rt(n,"d.sock");if(Buffer.byteLength(r)>ln)throw new Error("Temporary directory path is too long for IPC");return Hs(n,t),r}function $l(t,e){try{let n=Vs(t);return n.isDirectory()&&n.uid===e&&(n.mode&63)===0}catch{return!1}}function Hs(t,e){Al(t,{recursive:!0,mode:448});let n=Vs(t);if(!n.isDirectory()||n.uid!==e)throw new Error("Unsafe IPC directory");Cl(t,448)}function st(){if(process.platform==="win32")return{path:`\\\\.\\pipe\\tokmizer-${process.env.USERNAME??"tokmizer"}`,isPipe:!0};let t=typeof process.getuid=="function"?process.getuid():0,e=process.env.XDG_RUNTIME_DIR;if(e&&$l(e,t)){let s=rt(e,`tokmizer-${t}.sock`);if(Buffer.byteLength(s)<=ln)return{path:s,isPipe:!1}}let n=rt(A(),"run"),r=rt(n,"daemon.sock");return Buffer.byteLength(r)>ln?{path:Il(t),isPipe:!1}:(Hs(n,t),{path:r,isPipe:!1})}async function un(){let{path:t,isPipe:e}=st();if(e||!Sl(t))return;try{if(!Tl(t).isSocket())return}catch{return}let n=await import("node:net");if(!await new Promise(s=>{let i=n.createConnection(t),o=a=>{i.removeAllListeners();try{i.destroy()}catch{}s(a)};i.once("connect",()=>o(!0)),i.once("error",a=>{let c=a.code;o(c!=="ECONNREFUSED"&&c!=="ENOENT")}),setTimeout(()=>o(!0),250)}))try{Rl(t)}catch{}}var ln,$p,Ks=_(()=>{"use strict";F();ln=100;$p=5*6e4});import{createConnection as Dl}from"node:net";import{spawn as Nl}from"node:child_process";import{existsSync as Ys,openSync as dn,closeSync as Gs,unlinkSync as mn,writeFileSync as pn,mkdirSync as hn,readFileSync as Pl,appendFileSync as Ml,rmSync as Ll,statSync as Fl}from"node:fs";import{dirname as jl,join as gn}from"node:path";import{fileURLToPath as Bl}from"node:url";function yn(){return gn(A(),"daemon.spawn.fail")}function _n(){return gn(A(),"daemon.log")}function Vl(){try{let t=Number(Pl(yn(),"utf8"));return Number.isFinite(t)&&Date.now()-t<Zl}catch{return!1}}function Hl(t){try{hn(A(),{recursive:!0});let e=_n();try{Fl(e).size>Ul&&mn(e)}catch{}Ml(e,`${new Date().toISOString()} ${t}
42
- `)}catch{}}function Kl(t){try{hn(A(),{recursive:!0}),pn(yn(),String(Date.now()))}catch{}Hl(`spawn failed: ${t.message}`)}function Gl(){try{Ll(yn(),{force:!0})}catch{}}async function Tt(t,e){return new Promise((n,r)=>{let s=Dl(t),i=a=>{if(s.removeAllListeners("connect"),s.removeAllListeners("error"),clearTimeout(o),a){try{s.destroy()}catch{}r(a)}else n(s)},o=setTimeout(()=>i(new Error("connect timeout")),e);s.once("connect",()=>i(null)),s.once("error",a=>i(a))})}function Wl(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:Bl(new URL("../bin/tkr-daemon.js",import.meta.url))}async function fn(t,e=3e3){let n=Math.ceil(e/75),r=process.platform==="win32";for(let s=0;s<n;s++){if(r)try{return(await Tt(t,75)).destroy(),!0}catch{}else if(Ys(t))return!0;await new Promise(i=>setTimeout(i,75))}return!1}async function Yl(t){let e=Wl();if(!Ys(e))throw new Error(`tkr-daemon binary not found at ${e}`);let{path:n}=st(),r=process.platform==="win32"?A():jl(n);try{hn(r,{recursive:!0})}catch{}let s=gn(r,"daemon.spawn.lock"),i=null;try{i=dn(s,"wx"),pn(i,String(process.pid))}catch(o){if(o.code==="EEXIST"){if(await fn(n,5e3))return;try{mn(s)}catch{}try{i=dn(s,"wx"),pn(i,String(process.pid))}catch(c){if(c.code==="EEXIST"){await fn(n,5e3);return}throw c}}else throw o}try{let o=null;try{o=dn(_n(),"a")}catch{}if(Nl(process.execPath,[e],{detached:!0,stdio:["ignore","ignore",o??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:t}}).unref(),o!==null)try{Gs(o)}catch{}if(!await fn(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(i!==null){try{Gs(i)}catch{}try{mn(s)}catch{}}}}async function Jl(t={}){let{path:e}=t.socketPath?{path:t.socketPath}:st(),n=await Qt();try{let r=await Tt(e,Js);r.write(cn({id:nt(),op:"shutdown",installId:n})),await new Promise(s=>setTimeout(s,150));try{r.destroy()}catch{}return!0}catch{return!1}}async function ql(t,e){let n=Date.now()+e;for(;Date.now()<n;){try{(await Tt(t,250)).destroy()}catch{return!0}await new Promise(r=>setTimeout(r,100))}return!1}async function bn(t={}){let{path:e}=t.socketPath?{path:t.socketPath}:st(),n=await Qt(),r=null,s=0,i=!1;for(;s<=Ws;)try{r=await Tt(e,Js),Gl();break}catch{if(s+=1,s>Ws)throw new Error(`tkr-daemon unreachable at ${e}`);if(Vl())throw new Error(`tkr-daemon spawn on cooldown (see ${_n()})`);await un();try{await Yl(n),i=!0}catch(l){throw Kl(l),l}}if(!r)throw new Error("tkr-daemon: socket setup failed");let o=new Map,a="";r.setEncoding("utf8"),r.on("data",l=>{a+=l;let m=-1;for(let g=0;g<a.length;g++)a[g]===St&&(m=g);if(m<0)return;let d=[];for(let g of Zs(a.slice(0,m+1)))d.push(g);a=a.slice(m+1);for(let g of d)if(g)try{let T=JSON.parse(g),O=o.get(T.id);if(!O)continue;clearTimeout(O.timer),o.delete(T.id),O.resolve(T)}catch{}}),r.on("close",()=>{for(let l of o.values())clearTimeout(l.timer),l.reject(new Error("daemon socket closed"));o.clear()}),r.on("error",()=>{});function c(l){return new Promise((m,d)=>{if(r.destroyed||!r.writable){d(new Error("daemon socket closed"));return}let g=setTimeout(()=>{o.delete(l.id),d(new Error(`daemon request timeout (${l.op})`))},zl);o.set(l.id,{resolve:m,reject:d,timer:g}),r.write(cn(l))})}let u={filter:async(l,m,d)=>{let g=await c({id:nt(),op:"filter",cmd:l.slice(0,2048),plan:m,...d&&d.length>0?{allowed:d.slice(0,512)}:{},installId:n});if(!g.ok)return null;let T=zs.safeParse(g.data);return T.success?T.data.filter:null},ping:async()=>{let l=await c({id:nt(),op:"ping"});if(!l.ok)throw new Error(l.err);return l.data},reload:async()=>{let l=await c({id:nt(),op:"reload",installId:n});if(!l.ok)throw new Error(l.err);return l.data},close:()=>{try{r.destroy()}catch{}}};if(!t.skipVersionCheck&&!i){let l=!1;try{let m=await u.ping();if(m.version&&ms(kt,m.version))throw new Error(`newer daemon ${m.version} already running`);l=m.version!==kt}catch(m){throw u.close(),m}if(l){try{await Jl(t.socketPath?{socketPath:t.socketPath}:{})}catch{}u.close();let m=await ql(e,2e3);if(await un(),!m)throw new Error("stale daemon still running after shutdown request");return bn({...t,skipVersionCheck:!0})}}return u}var Js,zl,Ws,Zl,Ul,qs=_(()=>{"use strict";Us();Ks();F();en();tn();Js=500,zl=3e3,Ws=1,Zl=6e4,Ul=256*1024});import{createCipheriv as Gp,createDecipheriv as Xl,hkdfSync as Ql,randomBytes as Wp}from"node:crypto";function nu(t){return Buffer.from(Ql("sha256",Buffer.from(t,"utf8"),eu,tu,32))}function Xs(t,e){let n=nu(e),r=Buffer.from(t,"base64url"),s=r.subarray(0,12),i=r.subarray(12,28),o=r.subarray(28),a=Xl("aes-256-gcm",n,s);return a.setAuthTag(i),Buffer.concat([a.update(o),a.final()]).toString("utf8")}var eu,tu,Qs=_(()=>{"use strict";eu=Buffer.from("tokmizer-bundle-enc-v1"),tu=Buffer.from("rules-bundle")});import{chmodSync as qp,readFileSync as ru,writeFileSync as Xp,mkdirSync as Qp,renameSync as eh}from"node:fs";import{join as su}from"node:path";function ou(){return su(A(),"bundle-cache.json")}function ei(){try{let t=ru(ou(),"utf8"),e=iu.safeParse(JSON.parse(t));return e.success?e.data:null}catch{return null}}var iu,ti=_(()=>{"use strict";Be();F();iu=p.object({payload:p.string().min(1),signature:p.string().min(1),enc:p.literal("v1"),fetchedAt:p.number().int().nonnegative()})});import{createPublicKey as au,verify as cu}from"node:crypto";function du(){let t=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(t)&&t>0?t:uu}function fu(t,e){let n=gs();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=au({key:n,format:"pem"});if(!cu(null,Buffer.from(t.payload,"utf8"),r,Buffer.from(t.signature,"base64url")))throw new Error("tkr-daemon: rules bundle signature invalid");return JSON.parse(Xs(t.payload,e))}function mu(t,e){let n=fu(t,e),r=lu.parse(n);if(Date.now()-r.signedAt>du())throw new Error("tkr-daemon: rules bundle is stale");let s=new Map;for(let i of r.filters)s.set(i.slug,{...i,matchRegex:new RegExp(i.match_command)});return{bundleVersion:r.bundleVersion,signedAt:r.signedAt,ruleCount:s.size,startedAt:Date.now(),fetchedAt:Date.now(),selectFor:(i,o,a)=>_t(i,s.values(),a?new Set(a):null,s)}}async function ni(){try{let t=ei();if(!t)return null;let e=await Ke();return e?.signingSecret?mu(t,e.signingSecret):null}catch{return null}}var lu,ph,uu,ri=_(()=>{"use strict";Be();yt();jt();lt();nn();Qs();ti();lu=p.object({bundleVersion:p.number().int().nonnegative(),signedAt:p.number().int(),filters:p.array(ze)}),ph=p.object({payload:p.string().min(1),signature:p.string().min(1),enc:p.literal("v1")}),uu=10080*60*1e3});async function pu(){if(Ve)return Ve;if(it)return it;let t=bn().then(e=>{if(it===t)return Ve=e,e;try{e.close()}catch{}return null}).catch(()=>null);return it=t,t}async function hu(){return xn||(xn=!0,vn=await ni()),vn}async function si(t,e,n){let r=await hu();if(!r)return null;let s=r.selectFor(t,e,[...n]);return!s||!n.has(q(s.slug))?null:s}function gu(t){return t?{...t,matchRegex:new RegExp(t.match_command)}:null}function ii(t){Jt(async(e,n)=>{let r=t==="free"?"trial":t,s=n??qe(void 0),i=await pu();if(!i)return si(e,r,s);try{let o=await i.filter(e,r,[...s]);return!o||!s.has(q(o.slug))?null:gu(o)}catch{return si(e,r,s)}})}function oi(){if(Jt(null),Ve)try{Ve.close()}catch{}Ve=null,it=null,vn=null,xn=!1}var Ve,it,vn,xn,ai=_(()=>{"use strict";qs();qt();Re();ri();Ve=null,it=null;vn=null,xn=!1});var ci={};Ct(ci,{FOLD_MARKER_RE:()=>xr,captureForRestore:()=>is,captureOriginalForRestore:()=>os,closeDaemonResolver:()=>oi,countedSaving:()=>js,gatingPlan:()=>ls,graceExceeded:()=>cs,installDaemonResolver:()=>ii,loadSettingsCache:()=>tt,processOutput:()=>ts,recordEvent:()=>ks,recordStat:()=>Fs,recordTelemetry:()=>xs,resolveAllowedFilters:()=>qe,statCmdLabel:()=>Ls});var li=_(()=>{"use strict";qt();as();Qe();Re();us();Es();on();Bs();ai();Et()});F();import{existsSync as yu,writeFileSync as _u,appendFileSync as bu,statSync as vu}from"node:fs";import{join as fi}from"node:path";async function Rn(){let t=[];for await(let e of process.stdin)t.push(e);return Buffer.concat(t).toString("utf8")}import{realpathSync as An}from"node:fs";import{fileURLToPath as _i,pathToFileURL as bi}from"node:url";function Cn(t,e){if(!t)return!1;if(e===bi(t).href)return!0;try{return An(t)===An(_i(e))}catch{return!1}}lt();var On=[{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_VERSION","CURSOR_TRACE_ID"]},{host:"cline",vars:["CLINE_VERSION","CLINE_API_KEY"]},{host:"aider",vars:["AIDER_VERSION","AIDER_MODEL"]},{host:"gemini-cli",vars:["GEMINI_CLI_VERSION","GEMINI_API_KEY"]},{host:"windsurf",vars:["WINDSURF_VERSION","WINDSURF_USER"]},{host:"copilot",vars:["GITHUB_COPILOT_VERSION","COPILOT_INTEGRATION_ID"]}],Qu=[...On.map(t=>t.host),"shell"],Si=new Set(["claude-code","codex"]);function In(t){return null}function $n(t=process.env){let e=process.platform,n=e==="darwin"||e==="linux"||e==="win32"?e:"other",r=process.arch;for(let s of On)if(s.vars.some(i=>t[i]))return{host:s.host,source:"env",os:n,arch:r,shimRecommended:!Si.has(s.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}F();import{appendFileSync as Ti,mkdirSync as Ri,readFileSync as Ai,writeFileSync as Ci,renameSync as Oi,statSync as Ii,readdirSync as nd,rmSync as rd,chmodSync as $i}from"node:fs";import{join as Dn}from"node:path";var Di=96*1024,Ni=500,od=168*3600*1e3,Pi=120;function Nn(){return Dn(A(),"sessions")}function Mi(t){let e=t.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Dn(Nn(),`${e}.jsonl`)}function Pn(t,e){try{let n=Mi(t);Ri(Nn(),{recursive:!0,mode:448});let r=JSON.stringify({t:e.t??Math.floor(Date.now()/1e3),tool:e.tool,target:e.target.slice(0,Pi),...e.fail?{fail:1}:{}});if(Ti(n,`${r}
43
- `,{mode:384}),$i(n,384),Ii(n).size>Di){let s=Ai(n,"utf8").split(`
44
- `).filter(a=>a.trim()!==""),i=s.slice(s.length-Ni),o=`${n}.tmp-${process.pid}`;Ci(o,`${i.join(`
87
+ `:""),Aa(Ma(e),JSON.stringify({v:1,days:a}))}catch{return}finally{Ia(r,{force:!0})}}function Oh(e){let t=hh(e),n=t,r="";for(;;){try{return _n(ph(n),r)}catch{}let s=Na(n);if(s===n)return t;r=r?_n(Ta(n),r):Ta(n),n=s}}function $a(e){return e.length===0||e[0]==="cd"||e.every(t=>Fa.test(t))}function Mh(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(`|;&<>
88
+ `.includes(i)){if(o(),$a(t)){t=[];continue}return t}n+=i,r=!0}return o(),$a(t)?[]:t}function La(e){let t=Mh(e).map(a=>a.replace(/^[({]+/,"")).filter(Boolean),n=0;for(;n<t.length;){let a=t[n];if(Fa.test(a)){n+=1;continue}if(Ih.has(a)){for(n+=1;n<t.length;){let l=t[n];if(l.startsWith("-")){n+=Ph.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("-")&&Nh.test(o)&&Dh.has(s.toLowerCase())?`${s} ${o}`:s).slice(0,24)}function Fh(){return _n(R(),gh)}function ja(e,t,n=Fh(),r=!1,s,o,i,a,l={}){if(!Number.isSafeInteger(e)||!Number.isSafeInteger(t)||e<0||t<0||e+t===0)return;let u=s?`,"h":${JSON.stringify(s)}`:"",c=o?`,"k":${JSON.stringify(o)}`:"",d=i?`,"c":${JSON.stringify(i.slice(0,24))}`:"",f=a?Oh(a):"",m=f&&f.length<=xh?`,"p":${JSON.stringify(f)}`:"",h=l.s?`,"s":${JSON.stringify(l.s.slice(0,66))}`:"",S=l.o?`,"o":${JSON.stringify(l.o)}`:"",_=`{"t":${Math.floor(Date.now()/1e3)},"r":${e},"f":${t}${r?',"m":1':""}${u}${c}${d}${m}${h}${S}}
89
+ `;try{mh(R(),{recursive:!0,mode:448}),dh(n,_,{mode:384}),fh(n,384),Ch(n)}catch{return}}function Ha(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 Ba(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 gh,yh,Ra,bh,kh,_h,xh,Ih,Ph,Nh,Dh,Fa,za=y(()=>{"use strict";F();Sa();gh="stats.jsonl",yh="stats-ledger.json",Ra=2*1024*1024,bh=3e4,kh=3e4,_h=new Set(["n","g","e"]),xh=256;Ih=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),Ph=new Set(["-u","-g","-n","-s","-k"]),Nh=/^[a-z0-9][a-z0-9._-]*$/i,Dh=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"]),Fa=/^[A-Za-z_][A-Za-z0-9_]*=/});function zr(e){return JSON.stringify(e)+xn}function*Za(e){let t=0;for(;;){let n=e.indexOf(xn,t);if(n<0)return;yield e.slice(t,n),t=n+1}}function Nt(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}var Lh,jh,Hh,Bh,_v,xv,vv,Ua,xn,wv,Ja=y(()=>{"use strict";tt();wt();Lh=g.object({id:g.string().min(1).max(64),op:g.literal("filter"),cmd:g.string().min(1).max(2048),plan:g.enum(["trial","smart","pro"]),allowed:g.array(g.string().min(1).max(64)).max(512).optional(),installId:g.string().min(1).max(64).optional()}),jh=g.object({id:g.string().min(1).max(64),op:g.literal("ping")}),Hh=g.object({id:g.string().min(1).max(64),op:g.literal("shutdown"),installId:g.string().min(1).max(64)}),Bh=g.object({id:g.string().min(1).max(64),op:g.literal("reload"),installId:g.string().min(1).max(64).optional()}),_v=g.discriminatedUnion("op",[Lh,jh,Hh,Bh]),xv=g.object({id:g.string(),ok:g.literal(!0),data:g.unknown()}),vv=g.object({id:g.string(),ok:g.literal(!1),err:g.string(),retryAfterMs:g.number().int().nonnegative().optional()}),Ua=g.object({filter:_e.nullable(),cacheHit:g.boolean().optional()}),xn=`
90
+ `,wv=64*1024});import zh from"node:os";import{join as Dt}from"node:path";import{existsSync as Uh,statSync as Zh,lstatSync as Ga,unlinkSync as Jh,mkdirSync as Gh,chmodSync as Kh}from"node:fs";import{createHash as Vh}from"node:crypto";function Wh(e){let t=Vh("sha256").update(R()).digest("hex").slice(0,8),n=Dt(zh.tmpdir(),`tkr-${e}-${t}`),r=Dt(n,"d.sock");if(Buffer.byteLength(r)>Ur)throw new Error("Temporary directory path is too long for IPC");return Ka(n,e),r}function Yh(e,t){try{let n=Ga(e);return n.isDirectory()&&n.uid===t&&(n.mode&63)===0}catch{return!1}}function Ka(e,t){Gh(e,{recursive:!0,mode:448});let n=Ga(e);if(!n.isDirectory()||n.uid!==t)throw new Error("Unsafe IPC directory");Kh(e,448)}function Mt(){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&&Yh(t,e)){let s=Dt(t,`tokmizer-${e}.sock`);if(Buffer.byteLength(s)<=Ur)return{path:s,isPipe:!1}}let n=Dt(R(),"run"),r=Dt(n,"daemon.sock");return Buffer.byteLength(r)>Ur?{path:Wh(e),isPipe:!1}:(Ka(n,e),{path:r,isPipe:!1})}async function Zr(){let{path:e,isPipe:t}=Mt();if(t||!Uh(e))return;try{if(!Zh(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{Jh(e)}catch{}}var Ur,Cv,Va=y(()=>{"use strict";F();Ur=100;Cv=5*6e4});import{createConnection as qh}from"node:net";import{spawn as Xh}from"node:child_process";import{existsSync as qa,openSync as Jr,closeSync as Wa,unlinkSync as Kr,writeFileSync as Vr,mkdirSync as Wr,readFileSync as Qh,appendFileSync as eg,rmSync as tg,statSync as ng}from"node:fs";import{dirname as rg,join as Yr}from"node:path";import{fileURLToPath as sg}from"node:url";function qr(){return Yr(R(),"daemon.spawn.fail")}function Xr(){return Yr(R(),"daemon.log")}function lg(){try{let e=Number(Qh(qr(),"utf8"));return Number.isFinite(e)&&Date.now()-e<ig}catch{return!1}}function ug(e){try{Wr(R(),{recursive:!0});let t=Xr();try{ng(t).size>ag&&Kr(t)}catch{}eg(t,`${new Date().toISOString()} ${e}
91
+ `)}catch{}}function cg(e){try{Wr(R(),{recursive:!0}),Vr(qr(),String(Date.now()))}catch{}ug(`spawn failed: ${e.message}`)}function dg(){try{tg(qr(),{force:!0})}catch{}}async function vn(e,t){return new Promise((n,r)=>{let s=qh(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 fg(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:sg(new URL("../bin/tkr-daemon.js",import.meta.url))}async function Gr(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 vn(e,75)).destroy(),!0}catch{}else if(qa(e))return!0;await new Promise(o=>setTimeout(o,75))}return!1}async function mg(e){let t=fg();if(!Bt()&&!qa(t))throw new Error(`tkr-daemon binary not found at ${t}`);let{path:n}=Mt(),r=process.platform==="win32"?R():rg(n);try{Wr(r,{recursive:!0})}catch{}let s=Yr(r,"daemon.spawn.lock"),o=null;try{o=Jr(s,"wx"),Vr(o,String(process.pid))}catch(i){if(i.code==="EEXIST"){if(await Gr(n,5e3))return;try{Kr(s)}catch{}try{o=Jr(s,"wx"),Vr(o,String(process.pid))}catch(l){if(l.code==="EEXIST"){await Gr(n,5e3);return}throw l}}else throw i}try{let i=null;try{i=Jr(Xr(),"a")}catch{}let[a,...l]=In(t);if(Xh(a,l,{detached:!0,stdio:["ignore","ignore",i??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:e}}).unref(),i!==null)try{Wa(i)}catch{}if(!await Gr(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(o!==null){try{Wa(o)}catch{}try{Kr(s)}catch{}}}}async function pg(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:Mt(),n=await Mr();try{let r=await vn(t,Xa);r.write(zr({id:Nt(),op:"shutdown",installId:n})),await new Promise(s=>setTimeout(s,150));try{r.destroy()}catch{}return!0}catch{return!1}}async function hg(e,t){let n=Date.now()+t;for(;Date.now()<n;){try{(await vn(e,250)).destroy()}catch{return!0}await new Promise(r=>setTimeout(r,100))}return!1}async function Qr(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:Mt(),n=await Mr(),r=null,s=0,o=!1;for(;s<=Ya;)try{r=await vn(t,Xa),dg();break}catch{if(s+=1,s>Ya)throw new Error(`tkr-daemon unreachable at ${t}`);if(lg())throw new Error(`tkr-daemon spawn on cooldown (see ${Xr()})`);await Zr();try{await mg(n),o=!0}catch(c){throw cg(c),c}}if(!r)throw new Error("tkr-daemon: socket setup failed");let i=new Map,a="";r.setEncoding("utf8"),r.on("data",c=>{a+=c;let d=-1;for(let m=0;m<a.length;m++)a[m]===xn&&(d=m);if(d<0)return;let f=[];for(let m of Za(a.slice(0,d+1)))f.push(m);a=a.slice(d+1);for(let m of f)if(m)try{let h=JSON.parse(m),S=i.get(h.id);if(!S)continue;clearTimeout(S.timer),i.delete(h.id),S.resolve(h)}catch{}}),r.on("close",()=>{for(let c of i.values())clearTimeout(c.timer),c.reject(new Error("daemon socket closed"));i.clear()}),r.on("error",()=>{});function l(c){return new Promise((d,f)=>{if(r.destroyed||!r.writable){f(new Error("daemon socket closed"));return}let m=setTimeout(()=>{i.delete(c.id),f(new Error(`daemon request timeout (${c.op})`))},og);i.set(c.id,{resolve:d,reject:f,timer:m}),r.write(zr(c))})}let u={filter:async(c,d,f)=>{let m=await l({id:Nt(),op:"filter",cmd:c.slice(0,2048),plan:d,...f&&f.length>0?{allowed:f.slice(0,512)}:{},installId:n});if(!m.ok)return null;let h=Ua.safeParse(m.data);return h.success?h.data.filter:null},ping:async()=>{let c=await l({id:Nt(),op:"ping"});if(!c.ok)throw new Error(c.err);return c.data},reload:async()=>{let c=await l({id:Nt(),op:"reload",installId:n});if(!c.ok)throw new Error(c.err);return c.data},close:()=>{try{r.destroy()}catch{}}};if(!e.skipVersionCheck&&!o){let c=!1;try{let d=await u.ping();if(d.version&&Vi(Ct,d.version))throw new Error(`newer daemon ${d.version} already running`);c=d.version!==Ct}catch(d){throw u.close(),d}if(c){try{await pg(e.socketPath?{socketPath:e.socketPath}:{})}catch{}u.close();let d=await hg(t,2e3);if(await Zr(),!d)throw new Error("stale daemon still running after shutdown request");return Qr({...e,skipVersionCheck:!0})}}return u}var Xa,og,Ya,ig,ag,Qa=y(()=>{"use strict";Ja();Va();F();zt();Fr();pn();Xa=500,og=3e3,Ya=1,ig=6e4,ag=256*1024});async function gg(){if(lt)return lt;if(Ft)return Ft;let e=Qr().then(t=>{if(Ft===e)return lt=t,t;try{t.close()}catch{}return null}).catch(()=>null);return Ft=e,e}async function yg(){return ts||(ts=!0,es=await ea()??gn()),es}async function el(e,t,n){let r=await yg();if(!r)return null;let s=r.selectFor(e,t,n?[...n]:void 0);return!s||n&&!n.has(te(s.slug))?null:s}function bg(e){return e?{...e,matchRegex:new RegExp(e.match_command)}:null}function tl(e){Ir(async(t,n)=>{let r=e==="free"?"trial":e,s=n??yn(void 0),o=await gg();if(!o)return el(t,r,s);try{let i=await o.filter(t,r,s?[...s]:void 0);return!i||s&&!s.has(te(i.slug))?null:bg(i)}catch{return el(t,r,s)}})}function nl(){if(Ir(null),lt)try{lt.close()}catch{}lt=null,Ft=null,es=null,ts=!1}var lt,Ft,es,ts,rl=y(()=>{"use strict";Qa();Pr();Ze();Or();bn();lt=null,Ft=null;es=null,ts=!1});var sl={};jt(sl,{FOLD_MARKER_RE:()=>zo,captureForRestore:()=>aa,captureOriginalForRestore:()=>la,closeDaemonResolver:()=>nl,countedSaving:()=>Ba,gatingPlan:()=>da,graceExceeded:()=>ca,installDaemonResolver:()=>tl,loadSettingsCache:()=>at,processOutput:()=>ra,recordEvent:()=>va,recordStat:()=>ja,recordTelemetry:()=>xa,resolveAllowedFilters:()=>yn,statCmdLabel:()=>La,statOutcome:()=>Ha});var ol=y(()=>{"use strict";Pr();ua();$t();bn();fa();wa();Hr();za();rl();Pt()});async function us(){let e=[];for await(let t of process.stdin)e.push(t);return Buffer.concat(e).toString("utf8")}import{realpathSync as cs}from"node:fs";import{fileURLToPath as kl,pathToFileURL as _l}from"node:url";var ds=null;function fs(e,t,n){if(n!==void 0&&ds===n)return!0;if(ds!==null||!e)return!1;if(t===_l(e).href)return!0;try{return cs(e)===cs(kl(t))}catch{return!1}}F();Ht();import{existsSync as kg,writeFileSync as _g,appendFileSync as xg,statSync as vg}from"node:fs";import{join as ll}from"node:path";import{existsSync as yy,readFileSync as Ml}from"node:fs";import{join as Fl}from"node:path";import Ll from"node:os";On();zt();import{readFile as Cl,writeFile as Ol,rename as Il,mkdir as Pl,copyFile as Nl}from"node:fs/promises";import{existsSync as Pn,accessSync as cy,constants as dy}from"node:fs";import{join as Dl}from"node:path";function M(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}async function pe(e){if(!Pn(e))return{};try{let t=JSON.parse(await Cl(e,"utf8"));return M(t)?t:null}catch{return null}}async function he(e,t){try{await Pl(Dl(e,".."),{recursive:!0});let n=`${e}.tkr-bak`;Pn(e)&&!Pn(n)&&await Nl(e,n);let r=`${e}.tmp-${process.pid}`;return await Ol(r,`${JSON.stringify(t,null,2)}
92
+ `),await Il(r,e),!0}catch{return!1}}var jl="tkr-cursor-hook",ps="preToolUse";function Hl(){return Fl(Ll.homedir(),".cursor","hooks.json")}function Bl(e){return typeof e.command=="string"&&e.command.includes(jl)}function zl(e){let t=M(e.hooks)?e.hooks:{},n=Array.isArray(t[ps])?t[ps]:[];return{hooks:t,entries:n}}function hs(){try{let e=JSON.parse(Ml(Hl(),"utf8"));return zl(e).entries.some(Bl)}catch{return!1}}import{existsSync as wy,readFileSync as Ul}from"node:fs";import{join as Zl}from"node:path";import Jl from"node:os";var Gl="tkr-gemini-hook",gs="BeforeTool";function Kl(){return Zl(process.env.GEMINI_CLI_HOME||Jl.homedir(),".gemini","settings.json")}function Vl(e){return typeof e.command=="string"&&e.command.includes(Gl)}function Wl(e){return(Array.isArray(e.hooks)?e.hooks:[]).find(Vl)}function Yl(e){let t=M(e.hooks)?e.hooks:{},n=Array.isArray(t[gs])?t[gs]:[];return{hooks:t,groups:n}}function ys(){try{let e=JSON.parse(Ul(Kl(),"utf8"));return Yl(e).groups.some(t=>Wl(t)!=null)}catch{return!1}}import{dirname as Zy,join as V}from"node:path";import au from"node:os";import{existsSync as $y,accessSync as Cy,constants as Oy,readFileSync as ql}from"node:fs";zt();var Xl='"rewrite", "--host"';function Ql(e){return e.includes(Xl)}function bs(e){try{return Ql(ql(e,"utf8"))}catch{return!1}}import{readFile as _s,writeFile as eu,rename as tu,mkdir as nu,copyFile as ru}from"node:fs/promises";import{existsSync as mt,readFileSync as xs}from"node:fs";import{dirname as su,join as Dn}from"node:path";import vs from"node:os";var ws="tokmizer-rewrite",pt="tokmizer-rewrite";function gt(){return Dn(process.env.VIBE_HOME||Dn(vs.homedir(),".vibe"),"hooks.toml")}function ks(e){return JSON.stringify(e)}function ou(e){return["[[hooks]]",`name = ${ks(ws)}`,'type = "pre_tool"','match = "bash"',`command = ${ks(e)}`,"timeout = 10.0","strict = false",'description = "Route shell commands through tokmizer."',""].join(`
93
+ `)}function Mn(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 ht(e){return/^\s*\[\[hooks\]\]/.test(e)&&new RegExp(`^\\s*name\\s*=\\s*"${ws}"\\s*$`,"m").test(e)}async function Es(e,t){try{await nu(su(e),{recursive:!0}),mt(e)&&!mt(`${e}.tkr-bak`)&&await ru(e,`${e}.tkr-bak`);let n=`${e}.tmp-${process.pid}`;return await eu(n,t),await tu(n,e),!0}catch{return!1}}function Ss(){try{return Mn(xs(gt(),"utf8")).some(ht)}catch{return!1}}async function Ts(e){let t=gt(),n="";try{mt(t)&&(n=await _s(t,"utf8"))}catch{return"error"}let r=ou(e),s=Mn(n),o=s.filter(ht);if(o.length===1&&o[0].trimEnd()===r.trimEnd())return"present";let i=s.filter(l=>!ht(l)).join("").trimEnd(),a=i?`${i}
94
+
95
+ ${r}`:r;return await Es(t,a)?o.length?"updated":"added":"error"}async function Rs(){let e=gt();if(!mt(e))return"absent";let t;try{t=await _s(e,"utf8")}catch{return"error"}let n=Mn(t);if(!n.some(ht))return"absent";let r=n.filter(o=>!ht(o)).join("").trimEnd(),s=r?`${r}
96
+ `:"";return await Es(e,s)?"removed":"error"}function yt(){return Dn(vs.homedir(),".gemini","config","hooks.json")}function iu(e){return{enabled:!0,PreToolUse:[{matcher:"run_command",hooks:[{type:"command",command:e,timeout:10}]}]}}function As(){try{let e=JSON.parse(xs(yt(),"utf8"));return M(e)&&M(e[pt])}catch{return!1}}async function $s(e){let t=yt(),n=await pe(t);if(!n)return"error";let r=iu(e),s=n[pt];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[pt]=r,await he(t,n)?s===void 0?"added":"updated":"error")}async function Cs(){let e=yt();if(!mt(e))return"absent";let t=await pe(e);return t?pt in t?(delete t[pt],await he(e,t)?"removed":"error"):"absent":"error"}var bt=()=>au.homedir(),Fn=()=>process.env.XDG_CONFIG_HOME||V(bt(),".config"),Os=[{host:"opencode",label:"OpenCode",command:"setup-opencode",kind:"shim",files:()=>[{template:"opencode.js",target:V(Fn(),"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:V(Fn(),"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:V(Fn(),"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:gt,installed:Ss,ensure:Ts,remove:Rs,next:"Restart Vibe so it reads hooks.toml."},{host:"antigravity",label:"Antigravity",command:"setup-antigravity",kind:"hook",file:yt,installed:As,ensure:$s,remove:Cs,next:"Restart Antigravity, then check it with /hooks."},{host:"openclaw",label:"OpenClaw",command:"setup-openclaw",kind:"shim",files:()=>{let e=V(bt(),".openclaw","extensions","tokmizer");return["index.js","openclaw.plugin.json","package.json"].map(t=>({template:`openclaw/${t}`,target:V(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:V(process.env.PI_CODING_AGENT_DIR||V(bt(),".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:V(bt(),".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=V(process.env.HERMES_HOME||V(bt(),".hermes"),"plugins","tokmizer");return["__init__.py","plugin.yaml"].map(t=>({template:`hermes/${t}`,target:V(e,t)}))},next:"Run: hermes plugins enable tokmizer, then restart Hermes (needs Hermes v2026.8.16 or newer)."}];function Is(e){return e.kind==="hook"?e.installed():bs(e.files()[0].target)}import{existsSync as zn,readFileSync as mu}from"node:fs";import{join as H}from"node:path";import pu from"node:os";import{existsSync as lu,readFileSync as uu}from"node:fs";function Ln(e,t){return M(e)&&typeof e.command=="string"&&e.command.includes(t)}function Ps(e){return e.path??(e.nested?["hooks"]:[])}function Ns(e,t){let n=e;for(let r of Ps(t))M(n[r])||(n[r]={}),n=n[r];return n}function Ds(e,t){let n=e;for(let s of Ps(t))n=M(n)?n[s]:void 0;if(!M(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function cu(e){return M(e)&&Array.isArray(e.hooks)?e.hooks:[]}function Ms(e,t){return(t.matcher===void 0?e:e.flatMap(cu)).filter(r=>Ln(r,t.mark))}function Fs(e,t){return Ms(Ds(e,t),t).length>0}function jn(e,t){try{let n=JSON.parse(uu(e,"utf8"));return M(n)&&Fs(n,t)}catch{return!1}}function du(e,t,n){let r=Ns(e,t),s=Array.isArray(r[t.event])?r[t.event]:[];r[t.event]=s;let o=Ms(s,t)[0];if(o)return o.command===n?"present":(o.command=n,"updated");let i=t.entry(n);return s.push(t.matcher===void 0?i:{matcher:t.matcher,hooks:[i]}),"added"}function fu(e,t){if(!Fs(e,t))return!1;let n=Ns(e,t),r=Ds(e,t),s=t.matcher===void 0?r.filter(o=>!Ln(o,t.mark)):r.map(o=>M(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!Ln(i,t.mark))}:o).filter(o=>!M(o)||!Array.isArray(o.hooks)||o.hooks.length>0);return s.length?n[t.event]=s:delete n[t.event],!0}async function Hn(e,t,n){let r=await pe(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=du(r,t,n);return s==="present"||await he(e,r)?s:"error"}async function Ut(e,t){if(!lu(e))return"absent";let n=await pe(e);return n?fu(n,t)?await he(e,n)?"removed":"error":"absent":"error"}function ne(){return pu.homedir()}function Bs(e){return e.version===void 0&&(e.version=1),e.version===1}function hu(e,t,n){return Promise.all(e.map(r=>Hn(r,t,n))).then(r=>r.includes("error")?"error":r.includes("updated")?"updated":r.includes("added")?"added":"present")}function gu(e,t){return Promise.all(e.map(n=>Ut(n,t))).then(n=>n.includes("error")?"error":n.includes("removed")?"removed":"absent")}function Ee(e,t){return{...e,installed:()=>e.files().some(n=>jn(n,t)),ensure:n=>hu(e.files(),t,n),remove:()=>gu(e.files(),t)}}var yu={mark:"tkr-copilot-hook",event:"PreToolUse",nested:!0,entry:e=>({type:"command",command:e,bash:e,powershell:e,timeout:10,timeoutSec:10}),prepare:Bs};function bu(){return H(process.env.COPILOT_HOME||H(ne(),".copilot"),"hooks","tokmizer.json")}var ku={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:Bs};function _u(){let e=[H(ne(),".trae","hooks.json")];return zn(H(ne(),".trae-cn"))&&e.push(H(ne(),".trae-cn","hooks.json")),e}var xu={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};function vu(){return H(process.env.QWEN_HOME||H(ne(),".qwen"),"settings.json")}var wu={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};function Eu(){return H(process.env.XDG_CONFIG_HOME||H(ne(),".config"),"crush","crush.json")}var Su={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};function Tu(){return H(ne(),".junie","config.json")}var Ru={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:e=>(e.hooks===void 0&&(e.hooks={}),M(e.hooks)?(e.hooks.enabled===void 0&&(e.hooks.enabled=!0),e.hooks.events===void 0||M(e.hooks.events)):!1)};function Au(){return H(ne(),".zcode","cli","config.json")}var $u={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};function Cu(){return H(ne(),".grok","hooks","tokmizer.json")}var Ou="tkr-droid-hook",Un={mark:Ou,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},Iu={...Un,nested:!0};function Bn(){return H(ne(),".factory")}function Zt(){return[{file:H(Bn(),"hooks.json"),spec:Un},{file:H(Bn(),"hooks","hooks.json"),spec:Un},{file:H(Bn(),"settings.json"),spec:Iu}]}function Ls(e){try{let t=JSON.parse(mu(e,"utf8"));return M(t)?t:null}catch{return null}}function js(e,t){let n=t?e?.hooks:e;return M(n)&&Array.isArray(n.PreToolUse)&&n.PreToolUse.length>0}function Hs(){let[e,t,n]=Zt(),r=zn(e.file)?e:zn(t.file)?t:null;return r&&js(Ls(r.file),!1)?r:js(Ls(n.file),!0)?n:r??e}var Pu={id:"droid",label:"Factory Droid",setup:"tkr setup-droid",bin:"tkr-droid-hook",restart:"Restart Droid, then check it with /hooks.",files:()=>[Hs().file],installed:()=>Zt().some(e=>jn(e.file,e.spec)),ensure:async e=>{let t=Hs(),n=await Hn(t.file,t.spec,e);return n==="error"||await Promise.all(Zt().filter(r=>r.file!==t.file).map(r=>Ut(r.file,r.spec))),n},remove:async()=>{let e=await Promise.all(Zt().map(t=>Ut(t.file,t.spec)));return e.includes("error")?"error":e.includes("removed")?"removed":"absent"}},zs=[Ee({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:()=>[bu()]},yu),Pu,Ee({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:_u},ku),Ee({id:"qwen-code",label:"Qwen Code",setup:"tkr setup-qwen",bin:"tkr-qwen-hook",restart:"Restart Qwen Code, then check it with /hooks.",files:()=>[vu()]},xu),Ee({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[Eu()]},wu),Ee({id:"junie",label:"Junie CLI",setup:"tkr setup-junie",bin:"tkr-junie-hook",restart:"Restart Junie CLI so it loads the new hook.",files:()=>[Tu()]},Su),Ee({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[Au()]},Ru),Ee({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:()=>[Cu()]},$u)];var Zs=[{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:[]}],Nu=[...Zs.map(e=>e.host),"shell"],Du=new Set(["claude-code","codex"]),Mu={cursor:{installed:hs,setup:"tkr setup-cursor"},"gemini-cli":{installed:ys,setup:"tkr setup-gemini"},...Object.fromEntries(Os.map(e=>[e.host,{installed:()=>Is(e),setup:`tkr ${e.command}`}])),...Object.fromEntries(zs.map(e=>[e.id,{installed:e.installed,setup:e.setup}]))};function Us(e){return Du.has(e)||(Mu[e]?.installed()??!1)}function Js(e){return null}function Gs(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&&Nu.includes(s)){let o=s;return{host:o,source:"env",os:n,arch:r,shimRecommended:!Us(o)}}for(let o of Zs)if(o.vars.some(i=>e[i]))return{host:o.host,source:"env",os:n,arch:r,shimRecommended:!Us(o.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}F();import{appendFileSync as Fu,mkdirSync as Lu,readFileSync as ju,writeFileSync as Hu,renameSync as Bu,statSync as zu,readdirSync as cb,rmSync as db,chmodSync as Uu}from"node:fs";import{join as Ks}from"node:path";var Zu=96*1024,Ju=500,pb=168*3600*1e3,Gu=120;function Vs(){return Ks(R(),"sessions")}function Ku(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Ks(Vs(),`${t}.jsonl`)}function Ws(e,t){try{let n=Ku(e);Lu(Vs(),{recursive:!0,mode:448});let r=JSON.stringify({t:t.t??Math.floor(Date.now()/1e3),tool:t.tool,target:t.target.slice(0,Gu),...t.fail?{fail:1}:{}});if(Fu(n,`${r}
97
+ `,{mode:384}),Uu(n,384),zu(n).size>Zu){let s=ju(n,"utf8").split(`
98
+ `).filter(a=>a.trim()!==""),o=s.slice(s.length-Ju),i=`${n}.tmp-${process.pid}`;Hu(i,`${o.join(`
45
99
  `)}
46
- `,{mode:384}),Oi(o,n)}}catch{}}F();import{readFileSync as Li}from"node:fs";import{join as Fi}from"node:path";function Mn(){try{return JSON.parse(Li(Fi(A(),"settings-cache.json"),"utf8")).enabled!==!1}catch{return!0}}F();import{createHash as ji}from"node:crypto";import{appendFileSync as Bi,chmodSync as zi,mkdirSync as Zi,readFileSync as Ui,rmSync as Vi,statSync as Hi}from"node:fs";import{join as Ln}from"node:path";var Ki=256*1024,Gi=80;function Wi(t){let e=t.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Ln(A(),"sessions",`${e}.seen`)}function It(t){return t.replace(/[\t\r\n]+/g," ").trim().slice(0,Gi)}function Fn(t,e,n,r){try{let s=Wi(t),i=It(e),o=ji("sha256").update(n).digest("hex").slice(0,32),a="";try{a=Ui(s,"utf8")}catch{}for(let c of a.split(`
47
- `)){let[u,l,m]=c.split(" ");if(u===i&&l===o)return{cmd:m??""}}Zi(Ln(A(),"sessions"),{recursive:!0,mode:448}),Bi(s,`${i} ${o} ${It(r)}
48
- `,{mode:384}),zi(s,384),Hi(s).size>Ki&&Vi(s,{force:!0})}catch{}return null}function jn(t,e){return`[same output as \`${It(t)}\` earlier in this session, unchanged, ~${Math.round(e/4)} tokens]`}$t();var xu=new Set(["Read","Grep","Glob","Bash"]),ku=10*1024*1024,Eu=1024,wu=/^… \(?\d+ more lines omitted\)?$/,Su=/^\[tkr restore [0-9a-f]{8,64}\]$/;function Tu(t){return wu.test(t)||Su.test(t)||t==="[YOLO: omitted]"}function mi(t,e){if(!t||typeof t=="string")return e;if(t.file?.content!=null)return{...t,file:{...t.file,content:e}};if(t.content!=null)return{...t,content:e};if(t.output!=null)return{...t,output:e};if(t.stdout!=null||t.stderr!=null)return{...t,stdout:e,stderr:""};if(Array.isArray(t.filenames)){let n=new Set(t.filenames),r=e.split(`
49
- `).filter(s=>n.has(s)||Tu(s));return{...t,filenames:r}}return e}function Ru(t,e,n){return JSON.stringify({...n?{systemMessage:n}:{},hookSpecificOutput:{hookEventName:"PostToolUse",updatedToolOutput:mi(t.tool_response,e)}})}var Au=100,kn=null;function Cu(){let t=kn;return kn=null,t}function ui(t){let e=Math.round(t/4);return e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e)}function Ou(t,e){try{if(Math.round((t-e)/4)<Au)return;let n=fi(A(),"first-save");if(yu(n))return;_u(n,String(Date.now())),kn=`Tokmizer just optimized its first command output here: ~${ui(t)} tokens down to ~${ui(e)}. Watch it add up: /tkr-gain`}catch{}}function di(t){return t?typeof t=="string"?t:t.file?.content!=null?t.file.content:t.content!=null?t.content:t.output!=null?t.output:t.stdout!=null||t.stderr!=null?[t.stdout??"",t.stderr??""].filter(Boolean).join(`
50
- `):Array.isArray(t.filenames)?t.filenames.join(`
51
- `):null:""}var Iu=64*1024;function $u(t,e){try{if(!e||typeof e!="object")return;let n=fi(A(),"drift.jsonl");try{if(vu(n).size>Iu)return}catch{}let r=Object.keys(e).slice(0,12);bu(n,`${JSON.stringify({t:Math.floor(Date.now()/1e3),tool:t,keys:r})}
52
- `)}catch{}}function Du(t){let e=t.tool_name??"tool",n=t.tool_input??{};return n.command?n.command.split(`
53
- `)[0].trim().slice(0,200):n.file_path?`${e.toLowerCase()} ${n.file_path}`:n.pattern?`${e.toLowerCase()} ${n.pattern}`:n.path?`${e.toLowerCase()} ${n.path}`:e.toLowerCase()}async function Nu(t){let e=re();if(!t.tool_name||!xu.has(t.tool_name))return null;let n=t.tool_name==="Bash"?t.tool_input?.command??"":"",r=n.includes("tkr-exec");if(/\btkr(?:\.js)?\s+restore\b/.test(n))return null;let s=await Ke();if(!s||!s.token||!Mn())return null;if(t.session_id&&!r){let D=t.tool_input??{},at=D.command??D.file_path??D.pattern??D.path??"";at&&Pn(t.session_id,{tool:t.tool_name,target:at.split(`
54
- `)[0].trim()})}if(t.tool_name==="Read"&&(t.tool_input?.offset!=null||t.tool_input?.limit!=null))return null;let i=di(t.tool_response);if(i==null)return $u(t.tool_name,t.tool_response),null;if(!i)return null;let o=Buffer.byteLength(i,"utf8");if(o>ku||t.tool_name==="Bash"&&o<Eu||r)return null;let{loadSettingsCache:a,processOutput:c,captureForRestore:u,captureOriginalForRestore:l,FOLD_MARKER_RE:m,resolveAllowedFilters:d,gatingPlan:g,graceExceeded:T,recordEvent:O,recordTelemetry:v,recordStat:C,countedSaving:S,statCmdLabel:I,installDaemonResolver:N,closeDaemonResolver:M}=await Promise.resolve().then(()=>(li(),ci)),Z=await a();if(!Z.enabled)return null;let{slugKey:Ce}=await Promise.resolve().then(()=>(Re(),ur)),$=g(s);N($);let Oe=d(s.allowedFilters,T(s)),Ie=new Set(Z.filters.disabled.map(Ce)),En=Ie.size>0?new Set([...Oe].filter(D=>!Ie.has(D))):Oe,ot=Du(t),Rt=`${t.tool_name.toLowerCase()}-tool`,pi=`${Rt}: ${ot}`;try{let D=await c(pi,i,En,{verbosity:Z.outputVerbosity,yolo:e,exitCode:t.tool_name==="Bash"?void 0:0});if(D.filterId!=null&&t.tool_name==="Bash"&&t.session_id){let wn=Fn(t.session_id,t.agent_id??"main",i,n.split(`
55
- `)[0]??"");if(wn){let Sn=jn(wn.cmd,o);return e?Sn:await l(i,Sn)}}await O({cmd:Rt,filterId:D.filterId,rawBytes:D.rawBytes,filteredBytes:D.filteredBytes,plan:$});let at=new RegExp(m.source,"m"),K;D.filteredBytes>=D.rawBytes?K=null:e?K=D.output:at.test(D.output)?K=await l(i,D.output):K=await u(D.droppedTail??null,D.output),e&&K!=null&&(K=di(mi(t.tool_response,K)));let hi=K==null?D.rawBytes:Buffer.byteLength(K,"utf8"),At=$n().host,ue=S(D.rawBytes,hi,In(At));return K!=null&&Ou(ue.raw,ue.filtered),C(ue.raw,ue.filtered,void 0,!1,At,t.tool_name==="Bash"?"sh":void 0,t.tool_name==="Bash"?I(t.tool_input?.command??""):t.tool_name),await v({cmd:Rt,tokensSaved:Math.round((ue.raw-ue.filtered)/4),rawTokens:Math.round(ue.raw/4),optimized:D.filterId!=null,telemetryOptIn:Z.telemetryOptIn,host:At}),K}finally{M()}}async function Pu(){let t=await Rn();t||process.exit(0);let e;try{e=JSON.parse(t)}catch{process.exit(0)}let n=await Nu(e);n||process.exit(0),process.stdout.write(Ru(e,n,Cu()??void 0))}var Mu=process.argv[1]??"";Cn(Mu,import.meta.url)&&Pu().catch(t=>{process.stderr.write(`tkr post-tool-use: ${t.message}
56
- `),process.exit(0)});export{Ru as buildHookEnvelope,Nu as processToolOutput,Cu as takeFirstSaveNotice};
100
+ `,{mode:384}),Bu(i,n)}}catch{}}F();import{readFileSync as Vu}from"node:fs";import{join as Wu}from"node:path";function Ys(){try{return JSON.parse(Vu(Wu(R(),"settings-cache.json"),"utf8")).enabled!==!1}catch{return!0}}F();import{createHash as Yu}from"node:crypto";import{appendFileSync as qu,chmodSync as Xu,mkdirSync as Qu,readFileSync as ec,rmSync as tc,statSync as nc}from"node:fs";import{join as qs}from"node:path";var rc=256*1024,sc=80;function oc(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return qs(R(),"sessions",`${t}.seen`)}function Zn(e){return e.replace(/[\t\r\n]+/g," ").trim().slice(0,sc)}function Xs(e,t,n,r){try{let s=oc(e),o=Zn(t),i=Yu("sha256").update(n).digest("hex").slice(0,32),a="";try{a=ec(s,"utf8")}catch{}for(let l of a.split(`
101
+ `)){let[u,c,d]=l.split(" ");if(u===o&&c===i)return{cmd:d??""}}Qu(qs(R(),"sessions"),{recursive:!0,mode:448}),qu(s,`${o} ${i} ${Zn(r)}
102
+ `,{mode:384}),Xu(s,384),nc(s).size>rc&&tc(s,{force:!0})}catch{}return null}function Qs(e,t){return`[same output as \`${Zn(e)}\` earlier in this session, unchanged, ~${Math.round(t/4)} tokens]`}Jn();var wg=new Set(["Read","Grep","Glob","Bash"]),Eg=10*1024*1024,Sg=1024,Tg=40,Rg=/^… \(?\d+ more lines omitted\)?$/,Ag=/^\[tkr restore [0-9a-f]{8,64}\]$/,$g=/^\d+F \d+D(?: in .+\/)?:$|^\S.*\/ \(\d+(?:, \*\.[^)]+)?\): \S/,Cg=/^… \(\d+ more lines omitted\)$/m,Og="[tkr: partial view; folded or omitted lines are not file text. Read with offset/limit for the exact lines before Edit or Write]";function Ig(e){return Rg.test(e)||Ag.test(e)||e==="[YOLO: omitted]"}function ul(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)return{...e,stdout:t,stderr:""};if(Array.isArray(e.filenames)){let r=new Set(e.filenames),s=n==="Glob",o=t.split(`
103
+ `).filter(i=>r.has(i)||Ig(i)||s&&$g.test(i));return{...e,filenames:o}}return t}function cl(e,t,n){return JSON.stringify({...n?{systemMessage:n}:{},hookSpecificOutput:{hookEventName:"PostToolUse",updatedToolOutput:ul(e.tool_response,t,e.tool_name)}})}var Pg=100,ns=null;function dl(){let e=ns;return ns=null,e}function il(e){let t=Math.round(e/4);return t>=1e3?`${(t/1e3).toFixed(1)}K`:String(t)}function Ng(e,t){try{if(Math.round((e-t)/4)<Pg)return;let n=ll(R(),"first-save");if(kg(n))return;_g(n,String(Date.now())),ns=`Tokmizer just optimized its first command output here: ~${il(e)} tokens down to ~${il(t)}. Watch it add up: /tkr-gain`}catch{}}function al(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(`
104
+ `):Array.isArray(e.filenames)?e.filenames.join(`
105
+ `):null:""}var Dg=64*1024;function Mg(e,t){try{if(!t||typeof t!="object")return;let n=ll(R(),"drift.jsonl");try{if(vg(n).size>Dg)return}catch{}let r=Object.keys(t).slice(0,12);xg(n,`${JSON.stringify({t:Math.floor(Date.now()/1e3),tool:e,keys:r})}
106
+ `)}catch{}}function Fg(e){let t=e.tool_name??"tool",n=e.tool_input??{};return n.command?n.command.split(`
107
+ `)[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()}async function fl(e,t={}){let n=Se();if(!e.tool_name||!wg.has(e.tool_name))return null;let r=e.tool_name==="Bash"?e.tool_input?.command??"":"",s=r.includes("tkr-exec");if(/\btkr(?:\.js)?\s+restore\b/.test(r))return null;let o=await ft();if(!Ys())return null;if(e.session_id&&!s&&o?.token){let N=e.tool_input??{},ut=N.command??N.file_path??N.pattern??N.path??"";ut&&Ws(e.session_id,{tool:e.tool_name,target:ut.split(`
108
+ `)[0].trim()})}if(e.tool_name==="Read"&&(e.tool_input?.offset!=null||e.tool_input?.limit!=null))return null;let i=al(e.tool_response);if(i==null)return Mg(e.tool_name,e.tool_response),null;if(!i)return null;let a=Buffer.byteLength(i,"utf8");if(a>Eg||e.tool_name==="Bash"&&a<Sg||e.tool_name==="Glob"&&i.split(`
109
+ `).length<Tg||s)return null;let{loadSettingsCache:l,processOutput:u,captureForRestore:c,captureOriginalForRestore:d,FOLD_MARKER_RE:f,resolveAllowedFilters:m,gatingPlan:h,graceExceeded:S,recordEvent:_,recordTelemetry:O,recordStat:T,countedSaving:I,statCmdLabel:D,statOutcome:L,installDaemonResolver:me,closeDaemonResolver:Ge}=await Promise.resolve().then(()=>(ol(),sl)),ve=await l();if(!ve.enabled)return null;let{slugKey:P}=await Promise.resolve().then(()=>(Ze(),Io)),z=o?.token?h(o):null;!t.resolver&&z&&me(z);let ae=o?.token?m(o.allowedFilters,S(o)):null,wn=new Set(ve.filters.disabled.map(P)),Lt=ae&&wn.size>0?new Set([...ae].filter(N=>!wn.has(N))):ae,ml=Fg(e),En=`${e.tool_name.toLowerCase()}-tool`,pl=`${En}: ${ml}`;try{let N=await u(pl,i,Lt,{verbosity:ve.outputVerbosity,resolver:t.resolver,yolo:n,exitCode:e.tool_name==="Bash"?void 0:0});if(N.filterId!=null&&e.tool_name==="Bash"&&e.session_id){let as=Xs(e.session_id,e.agent_id??"main",i,r.split(`
110
+ `)[0]??"");if(as){let ls=Qs(as.cmd,a);return n?ls:await d(i,ls)}}let ut=new RegExp(f.source,"m"),Sn=e.tool_name==="Bash"?D(e.tool_input?.command??""):e.tool_name,ss=e.tool_name==="Read"&&!n&&(ut.test(N.output)||Cg.test(N.output))?`${N.output}${N.output.endsWith(`
111
+ `)?"":`
112
+ `}${Og}`:N.output,X;N.filteredBytes>=N.rawBytes?X=null:n?X=N.output:e.tool_name==="Glob"||ut.test(N.output)?X=await d(i,ss,void 0,{label:Sn}):X=await c(N.droppedTail??null,ss,void 0,{raw:i,label:Sn}),n&&X!=null&&(X=al(ul(e.tool_response,X,e.tool_name)));let hl=X==null?N.rawBytes:Buffer.byteLength(X,"utf8"),Tn=Gs().host,we=I(N.rawBytes,hl,Js(Tn));X!=null&&Ng(we.raw,we.filtered);let gl=e.cwd||(t.inferCwd===!1?void 0:process.cwd()),yl=e.tool_name==="Bash"?"sh":void 0,Rn=t.deferAccounting,os=!1,is=async()=>{os||(os=!0,await _({cmd:En,filterId:N.filterId,rawBytes:N.rawBytes,filteredBytes:N.filteredBytes,plan:z}),T(we.raw,we.filtered,void 0,!1,Tn,yl,Sn,gl,L(N)),await O({cmd:En,tokensSaved:Math.round((we.raw-we.filtered)/4),rawTokens:Math.round(we.raw/4),optimized:N.filterId!=null,telemetryOptIn:ve.telemetryOptIn&&(!Rn||(await l()).telemetryOptIn),host:Tn}))};return Rn?Rn(is):await is(),X}finally{t.resolver||Ge()}}async function rs(e,t={}){let n=await fl(e,t);return n?cl(e,n,dl()??void 0):""}async function Lg(){let e=await us();e||process.exit(0);let t;try{t=JSON.parse(e)}catch{process.exit(0)}let n=await rs(t);n||process.exit(0),process.stdout.write(n)}var jg=process.argv[1]??"";fs(jg,import.meta.url,"post-tool-use")&&Lg().catch(e=>{process.stderr.write(`tkr post-tool-use: ${e.message}
113
+ `),process.exit(0)});export{cl as buildHookEnvelope,rs as postToolUseResponse,fl as processToolOutput,dl as takeFirstSaveNotice};
114
+ /*! Bundled license information:
115
+
116
+ smol-toml/dist/error.js:
117
+ smol-toml/dist/primitive.js:
118
+ smol-toml/dist/date.js:
119
+ smol-toml/dist/extract.js:
120
+ smol-toml/dist/util.js:
121
+ smol-toml/dist/struct.js:
122
+ smol-toml/dist/parse.js:
123
+ smol-toml/dist/stringify.js:
124
+ smol-toml/dist/index.js:
125
+ (*!
126
+ * Copyright (c) Squirrel Chat et al., All rights reserved.
127
+ * SPDX-License-Identifier: BSD-3-Clause
128
+ *
129
+ * Redistribution and use in source and binary forms, with or without
130
+ * modification, are permitted provided that the following conditions are met:
131
+ *
132
+ * 1. Redistributions of source code must retain the above copyright notice, this
133
+ * list of conditions and the following disclaimer.
134
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
135
+ * this list of conditions and the following disclaimer in the
136
+ * documentation and/or other materials provided with the distribution.
137
+ * 3. Neither the name of the copyright holder nor the names of its contributors
138
+ * may be used to endorse or promote products derived from this software without
139
+ * specific prior written permission.
140
+ *
141
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
142
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
143
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
144
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
145
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
146
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
147
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
148
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
149
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
150
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
151
+ *)
152
+ */