@tokmizer/plugin 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire as __tkrCreateRequire } from "node:module"; const require = __tkrCreateRequire(import.meta.url);
3
- var cm=Object.create;var Ns=Object.defineProperty;var fm=Object.getOwnPropertyDescriptor;var dm=Object.getOwnPropertyNames;var pm=Object.getPrototypeOf,mm=Object.prototype.hasOwnProperty;var Je=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var b=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var ue=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},wn=(e,t)=>{for(var n in t)Ns(e,n,{get:t[n],enumerable:!0})},hm=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of dm(t))!mm.call(e,s)&&s!==n&&Ns(e,s,{get:()=>t[s],enumerable:!(r=fm(t,s))||r.enumerable});return e};var gm=(e,t,n)=>(n=e!=null?cm(pm(e)):{},hm(t||!e||!e.__esModule?Ns(n,"default",{value:e,enumerable:!0}):n,e));var B,Ds,S,$e,xn=b(()=>{(function(e){e.assertEqual=s=>{};function t(s){}e.assertIs=t;function n(s){throw new Error}e.assertNever=n,e.arrayToEnum=s=>{let o={};for(let i of s)o[i]=i;return o},e.getValidEnumValues=s=>{let o=e.objectKeys(s).filter(a=>typeof s[s[a]]!="number"),i={};for(let a of o)i[a]=s[a];return e.objectValues(i)},e.objectValues=s=>e.objectKeys(s).map(function(o){return s[o]}),e.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let o=[];for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&o.push(i);return o},e.find=(s,o)=>{for(let i of s)if(o(i))return i},e.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,o=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(s,o)=>typeof o=="bigint"?o.toString():o})(B||(B={}));(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Ds||(Ds={}));S=B.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),$e=e=>{switch(typeof e){case"undefined":return S.undefined;case"string":return S.string;case"number":return Number.isNaN(e)?S.nan:S.number;case"boolean":return S.boolean;case"function":return S.function;case"bigint":return S.bigint;case"symbol":return S.symbol;case"object":return Array.isArray(e)?S.array:e===null?S.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?S.promise:typeof Map<"u"&&e instanceof Map?S.map:typeof Set<"u"&&e instanceof Set?S.set:typeof Date<"u"&&e instanceof Date?S.date:S.object;default:return S.unknown}}});var k,ym,oe,ur=b(()=>{xn();k=B.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"]),ym=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),oe=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,B.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()}};oe.create=e=>new oe(e)});var bm,Le,Ms=b(()=>{ur();xn();bm=(e,t)=>{let n;switch(e.code){case k.invalid_type:e.received===S.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case k.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,B.jsonStringifyReplacer)}`;break;case k.unrecognized_keys:n=`Unrecognized key(s) in object: ${B.joinValues(e.keys,", ")}`;break;case k.invalid_union:n="Invalid input";break;case k.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${B.joinValues(e.options)}`;break;case k.invalid_enum_value:n=`Invalid enum value. Expected ${B.joinValues(e.options)}, received '${e.received}'`;break;case k.invalid_arguments:n="Invalid function arguments";break;case k.invalid_return_type:n="Invalid function return type";break;case k.invalid_date:n="Invalid date";break;case k.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}"`:B.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case k.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 k.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 k.custom:n="Invalid input";break;case k.invalid_intersection_types:n="Intersection results could not be merged";break;case k.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case k.not_finite:n="Number must be finite";break;default:n=t.defaultError,B.assertNever(e)}return{message:n}},Le=bm});function km(e){pa=e}function Nt(){return pa}var pa,cr=b(()=>{Ms();pa=Le});function x(e,t){let n=Nt(),r=Sn({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 Sn,_m,Y,A,it,ee,fr,dr,Ge,Dt,Ls=b(()=>{cr();Ms();Sn=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}},_m=[];Y=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){let r=[];for(let s of n){if(s.status==="aborted")return A;s.status==="dirty"&&t.dirty(),r.push(s.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){let r=[];for(let s of n){let o=await s.key,i=await s.value;r.push({key:o,value:i})}return e.mergeObjectSync(t,r)}static mergeObjectSync(t,n){let r={};for(let s of n){let{key:o,value:i}=s;if(o.status==="aborted"||i.status==="aborted")return A;o.status==="dirty"&&t.dirty(),i.status==="dirty"&&t.dirty(),o.value!=="__proto__"&&(typeof i.value<"u"||s.alwaysSet)&&(r[o.value]=i.value)}return{status:t.value,value:r}}},A=Object.freeze({status:"aborted"}),it=e=>({status:"dirty",value:e}),ee=e=>({status:"valid",value:e}),fr=e=>e.status==="aborted",dr=e=>e.status==="dirty",Ge=e=>e.status==="valid",Dt=e=>typeof Promise<"u"&&e instanceof Promise});var ma=b(()=>{});var T,ha=b(()=>{(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(T||(T={}))});function D(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 ka(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 Lm(e){return new RegExp(`^${ka(e)}$`)}function _a(e){let t=`${ba}T${ka(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 Fm(e,t){return!!((t==="v4"||!t)&&Cm.test(e)||(t==="v6"||!t)&&Im.test(e))}function jm(e,t){if(!Tm.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 Hm(e,t){return!!((t==="v4"||!t)&&Om.test(e)||(t==="v6"||!t)&&Pm.test(e))}function Bm(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 Mt(e){if(e instanceof ie){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=me.create(Mt(r))}return new ie({...e._def,shape:()=>t})}else return e instanceof He?new He({...e._def,type:Mt(e.element)}):e instanceof me?me.create(Mt(e.unwrap())):e instanceof Oe?Oe.create(Mt(e.unwrap())):e instanceof Ce?Ce.create(e.items.map(t=>Mt(t))):e}function js(e,t){let n=$e(e),r=$e(t);if(e===t)return{valid:!0,data:e};if(n===S.object&&r===S.object){let s=B.objectKeys(t),o=B.objectKeys(e).filter(a=>s.indexOf(a)!==-1),i={...e,...t};for(let a of o){let l=js(e[a],t[a]);if(!l.valid)return{valid:!1};i[a]=l.data}return{valid:!0,data:i}}else if(n===S.array&&r===S.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=js(i,a);if(!l.valid)return{valid:!1};s.push(l.data)}return{valid:!0,data:s}}else return n===S.date&&r===S.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}function wa(e,t){return new yt({values:e,typeName:O.ZodEnum,...D(t)})}function ya(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function xa(e,t={},n){return e?Ke.create().superRefine((r,s)=>{let o=e(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=ya(t,r),l=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:l})}});if(!o){let i=ya(t,r),a=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:a})}}):Ke.create()}var he,ga,j,wm,xm,Sm,Em,vm,Tm,Rm,Am,$m,Fs,Cm,Om,Im,Pm,Nm,Dm,ba,Mm,We,at,lt,ut,ct,Lt,ft,dt,Ke,je,Ee,Ft,He,ie,pt,Fe,pr,mt,Ce,mr,jt,Ht,hr,ht,gt,yt,bt,Ve,ge,me,Oe,kt,_t,Bt,zm,En,vn,wt,Um,O,Zm,Sa,Ea,Jm,Gm,va,Wm,Km,Vm,qm,Ym,Xm,Qm,eh,th,nh,rh,sh,oh,ih,ah,lh,uh,ch,fh,dh,ph,mh,hh,gh,yh,bh,kh,_h,wh,xh,Sh,Eh,vh,Th,Ta=b(()=>{ur();cr();ha();Ls();xn();he=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}},ga=(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 oe(e.common.issues);return this._error=n,this._error}}};j=class{get description(){return this._def.description}_getType(t){return $e(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:$e(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Y,ctx:{common:t.parent.common,data:t.data,parsedType:$e(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(Dt(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:$e(t)},s=this._parseSync({data:t,path:r.path,parent:r});return ga(r,s)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:$e(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:$e(t)},s=this._parse({data:t,path:r.path,parent:r}),o=await(Dt(s)?s:Promise.resolve(s));return ga(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:k.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 ge({schema:this,typeName:O.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 me.create(this,this._def)}nullable(){return Oe.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return He.create(this)}promise(){return Ve.create(this,this._def)}or(t){return pt.create([this,t],this._def)}and(t){return mt.create(this,t,this._def)}transform(t){return new ge({...D(this._def),schema:this,typeName:O.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new kt({...D(this._def),innerType:this,defaultValue:n,typeName:O.ZodDefault})}brand(){return new En({typeName:O.ZodBranded,type:this,...D(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new _t({...D(this._def),innerType:this,catchValue:n,typeName:O.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return vn.create(this,t)}readonly(){return wt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},wm=/^c[^\s-]{8,}$/i,xm=/^[0-9a-z]+$/,Sm=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Em=/^[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,vm=/^[a-z0-9_-]{21}$/i,Tm=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Rm=/^[-+]?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)?)??$/,Am=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,$m="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Cm=/^(?:(?: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])$/,Om=/^(?:(?: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])$/,Im=/^(([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]))$/,Pm=/^(([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])$/,Nm=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Dm=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,ba="((\\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])))",Mm=new RegExp(`^${ba}$`);We=class e extends j{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==S.string){let o=this._getOrReturnCtx(t);return x(o,{code:k.invalid_type,expected:S.string,received:o.parsedType}),A}let r=new Y,s;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(s=this._getOrReturnCtx(t,s),x(s,{code:k.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),x(s,{code:k.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?x(s,{code:k.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&x(s,{code:k.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),r.dirty())}else if(o.kind==="email")Am.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"email",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="emoji")Fs||(Fs=new RegExp($m,"u")),Fs.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"emoji",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="uuid")Em.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"uuid",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="nanoid")vm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"nanoid",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid")wm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"cuid",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid2")xm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"cuid2",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="ulid")Sm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"ulid",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{s=this._getOrReturnCtx(t,s),x(s,{validation:"url",code:k.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),x(s,{validation:"regex",code:k.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),x(s,{code:k.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),x(s,{code:k.invalid_string,validation:{startsWith:o.value},message:o.message}),r.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(s=this._getOrReturnCtx(t,s),x(s,{code:k.invalid_string,validation:{endsWith:o.value},message:o.message}),r.dirty()):o.kind==="datetime"?_a(o).test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{code:k.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?Mm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{code:k.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?Lm(o).test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{code:k.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?Rm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"duration",code:k.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?Fm(t.data,o.version)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"ip",code:k.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?jm(t.data,o.alg)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"jwt",code:k.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?Hm(t.data,o.version)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"cidr",code:k.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?Nm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"base64",code:k.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?Dm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"base64url",code:k.invalid_string,message:o.message}),r.dirty()):B.assertNever(o);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:k.invalid_string,...T.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...T.errToObj(t)})}url(t){return this._addCheck({kind:"url",...T.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...T.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...T.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...T.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...T.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...T.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...T.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...T.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...T.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...T.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...T.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...T.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,...T.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,...T.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...T.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...T.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...T.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...T.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...T.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...T.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...T.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...T.errToObj(n)})}nonempty(t){return this.min(1,T.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}};We.create=e=>new We({checks:[],typeName:O.ZodString,coerce:e?.coerce??!1,...D(e)});at=class e extends j{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)!==S.number){let o=this._getOrReturnCtx(t);return x(o,{code:k.invalid_type,expected:S.number,received:o.parsedType}),A}let r,s=new Y;for(let o of this._def.checks)o.kind==="int"?B.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),x(r,{code:k.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),x(r,{code:k.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),x(r,{code:k.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?Bm(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),x(r,{code:k.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),x(r,{code:k.not_finite,message:o.message}),s.dirty()):B.assertNever(o);return{status:s.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,T.toString(n))}gt(t,n){return this.setLimit("min",t,!1,T.toString(n))}lte(t,n){return this.setLimit("max",t,!0,T.toString(n))}lt(t,n){return this.setLimit("max",t,!1,T.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:T.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:T.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:T.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:T.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:T.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:T.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:T.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:T.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:T.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:T.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"&&B.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)}};at.create=e=>new at({checks:[],typeName:O.ZodNumber,coerce:e?.coerce||!1,...D(e)});lt=class e extends j{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)!==S.bigint)return this._getInvalidInput(t);let r,s=new Y;for(let o of this._def.checks)o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(r=this._getOrReturnCtx(t,r),x(r,{code:k.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),x(r,{code:k.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),x(r,{code:k.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):B.assertNever(o);return{status:s.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return x(n,{code:k.invalid_type,expected:S.bigint,received:n.parsedType}),A}gte(t,n){return this.setLimit("min",t,!0,T.toString(n))}gt(t,n){return this.setLimit("min",t,!1,T.toString(n))}lte(t,n){return this.setLimit("max",t,!0,T.toString(n))}lt(t,n){return this.setLimit("max",t,!1,T.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:T.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:T.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:T.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:T.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:T.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:T.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}};lt.create=e=>new lt({checks:[],typeName:O.ZodBigInt,coerce:e?.coerce??!1,...D(e)});ut=class extends j{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==S.boolean){let r=this._getOrReturnCtx(t);return x(r,{code:k.invalid_type,expected:S.boolean,received:r.parsedType}),A}return ee(t.data)}};ut.create=e=>new ut({typeName:O.ZodBoolean,coerce:e?.coerce||!1,...D(e)});ct=class e extends j{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==S.date){let o=this._getOrReturnCtx(t);return x(o,{code:k.invalid_type,expected:S.date,received:o.parsedType}),A}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return x(o,{code:k.invalid_date}),A}let r=new Y,s;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(s=this._getOrReturnCtx(t,s),x(s,{code:k.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),x(s,{code:k.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):B.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:T.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:T.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}};ct.create=e=>new ct({checks:[],coerce:e?.coerce||!1,typeName:O.ZodDate,...D(e)});Lt=class extends j{_parse(t){if(this._getType(t)!==S.symbol){let r=this._getOrReturnCtx(t);return x(r,{code:k.invalid_type,expected:S.symbol,received:r.parsedType}),A}return ee(t.data)}};Lt.create=e=>new Lt({typeName:O.ZodSymbol,...D(e)});ft=class extends j{_parse(t){if(this._getType(t)!==S.undefined){let r=this._getOrReturnCtx(t);return x(r,{code:k.invalid_type,expected:S.undefined,received:r.parsedType}),A}return ee(t.data)}};ft.create=e=>new ft({typeName:O.ZodUndefined,...D(e)});dt=class extends j{_parse(t){if(this._getType(t)!==S.null){let r=this._getOrReturnCtx(t);return x(r,{code:k.invalid_type,expected:S.null,received:r.parsedType}),A}return ee(t.data)}};dt.create=e=>new dt({typeName:O.ZodNull,...D(e)});Ke=class extends j{constructor(){super(...arguments),this._any=!0}_parse(t){return ee(t.data)}};Ke.create=e=>new Ke({typeName:O.ZodAny,...D(e)});je=class extends j{constructor(){super(...arguments),this._unknown=!0}_parse(t){return ee(t.data)}};je.create=e=>new je({typeName:O.ZodUnknown,...D(e)});Ee=class extends j{_parse(t){let n=this._getOrReturnCtx(t);return x(n,{code:k.invalid_type,expected:S.never,received:n.parsedType}),A}};Ee.create=e=>new Ee({typeName:O.ZodNever,...D(e)});Ft=class extends j{_parse(t){if(this._getType(t)!==S.undefined){let r=this._getOrReturnCtx(t);return x(r,{code:k.invalid_type,expected:S.void,received:r.parsedType}),A}return ee(t.data)}};Ft.create=e=>new Ft({typeName:O.ZodVoid,...D(e)});He=class e extends j{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==S.array)return x(n,{code:k.invalid_type,expected:S.array,received:n.parsedType}),A;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(i||a)&&(x(n,{code:i?k.too_big:k.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&&(x(n,{code:k.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&&(x(n,{code:k.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 he(n,i,n.path,a)))).then(i=>Y.mergeArray(r,i));let o=[...n.data].map((i,a)=>s.type._parseSync(new he(n,i,n.path,a)));return Y.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:T.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:T.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:T.toString(n)}})}nonempty(t){return this.min(1,t)}};He.create=(e,t)=>new He({type:e,minLength:null,maxLength:null,exactLength:null,typeName:O.ZodArray,...D(t)});ie=class e extends j{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=B.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==S.object){let u=this._getOrReturnCtx(t);return x(u,{code:k.invalid_type,expected:S.object,received:u.parsedType}),A}let{status:r,ctx:s}=this._processInputParams(t),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof Ee&&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],f=s.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new he(s,f,s.path,u)),alwaysSet:u in s.data})}if(this._def.catchall instanceof Ee){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&&(x(s,{code:k.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 f=s.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new he(s,f,s.path,c)),alwaysSet:c in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let u=[];for(let c of l){let f=await c.key,d=await c.value;u.push({key:f,value:d,alwaysSet:c.alwaysSet})}return u}).then(u=>Y.mergeObjectSync(r,u)):Y.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return T.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:T.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:O.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 B.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 B.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return Mt(this)}partial(t){let n={};for(let r of B.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 B.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof me;)o=o._def.innerType;n[r]=o}return new e({...this._def,shape:()=>n})}keyof(){return wa(B.objectKeys(this.shape))}};ie.create=(e,t)=>new ie({shape:()=>e,unknownKeys:"strip",catchall:Ee.create(),typeName:O.ZodObject,...D(t)});ie.strictCreate=(e,t)=>new ie({shape:()=>e,unknownKeys:"strict",catchall:Ee.create(),typeName:O.ZodObject,...D(t)});ie.lazycreate=(e,t)=>new ie({shape:e,unknownKeys:"strip",catchall:Ee.create(),typeName:O.ZodObject,...D(t)});pt=class extends j{_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 oe(a.ctx.common.issues));return x(n,{code:k.invalid_union,unionErrors:i}),A}if(n.common.async)return Promise.all(r.map(async o=>{let i={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:i}),ctx:i}})).then(s);{let o,i=[];for(let l of r){let 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 oe(l));return x(n,{code:k.invalid_union,unionErrors:a}),A}}get options(){return this._def.options}};pt.create=(e,t)=>new pt({options:e,typeName:O.ZodUnion,...D(t)});Fe=e=>e instanceof ht?Fe(e.schema):e instanceof ge?Fe(e.innerType()):e instanceof gt?[e.value]:e instanceof yt?e.options:e instanceof bt?B.objectValues(e.enum):e instanceof kt?Fe(e._def.innerType):e instanceof ft?[void 0]:e instanceof dt?[null]:e instanceof me?[void 0,...Fe(e.unwrap())]:e instanceof Oe?[null,...Fe(e.unwrap())]:e instanceof En||e instanceof wt?Fe(e.unwrap()):e instanceof _t?Fe(e._def.innerType):[],pr=class e extends j{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==S.object)return x(n,{code:k.invalid_type,expected:S.object,received:n.parsedType}),A;let r=this.discriminator,s=n.data[r],o=this.optionsMap.get(s);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(x(n,{code:k.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),A)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let s=new Map;for(let o of n){let i=Fe(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:O.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...D(r)})}};mt=class extends j{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(o,i)=>{if(fr(o)||fr(i))return A;let a=js(o.value,i.value);return a.valid?((dr(o)||dr(i))&&n.dirty(),{status:n.value,value:a.data}):(x(r,{code:k.invalid_intersection_types}),A)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,i])=>s(o,i)):s(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};mt.create=(e,t,n)=>new mt({left:e,right:t,typeName:O.ZodIntersection,...D(n)});Ce=class e extends j{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==S.array)return x(r,{code:k.invalid_type,expected:S.array,received:r.parsedType}),A;if(r.data.length<this._def.items.length)return x(r,{code:k.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),A;!this._def.rest&&r.data.length>this._def.items.length&&(x(r,{code:k.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 he(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(o).then(i=>Y.mergeArray(n,i)):Y.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};Ce.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ce({items:e,typeName:O.ZodTuple,rest:null,...D(t)})};mr=class e extends j{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!==S.object)return x(r,{code:k.invalid_type,expected:S.object,received:r.parsedType}),A;let s=[],o=this._def.keyType,i=this._def.valueType;for(let a in r.data)s.push({key:o._parse(new he(r,a,r.path,a)),value:i._parse(new he(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?Y.mergeObjectAsync(n,s):Y.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof j?new e({keyType:t,valueType:n,typeName:O.ZodRecord,...D(r)}):new e({keyType:We.create(),valueType:t,typeName:O.ZodRecord,...D(n)})}},jt=class extends j{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!==S.map)return x(r,{code:k.invalid_type,expected:S.map,received:r.parsedType}),A;let s=this._def.keyType,o=this._def.valueType,i=[...r.data.entries()].map(([a,l],u)=>({key:s._parse(new he(r,a,r.path,[u,"key"])),value:o._parse(new he(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 A;(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 A;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}}}};jt.create=(e,t,n)=>new jt({valueType:t,keyType:e,typeName:O.ZodMap,...D(n)});Ht=class e extends j{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==S.set)return x(r,{code:k.invalid_type,expected:S.set,received:r.parsedType}),A;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(x(r,{code:k.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&&(x(r,{code:k.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 A;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 he(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:T.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:T.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};Ht.create=(e,t)=>new Ht({valueType:e,minSize:null,maxSize:null,typeName:O.ZodSet,...D(t)});hr=class e extends j{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==S.function)return x(n,{code:k.invalid_type,expected:S.function,received:n.parsedType}),A;function r(a,l){return Sn({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Nt(),Le].filter(u=>!!u),issueData:{code:k.invalid_arguments,argumentsError:l}})}function s(a,l){return Sn({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Nt(),Le].filter(u=>!!u),issueData:{code:k.invalid_return_type,returnTypeError:l}})}let o={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof Ve){let a=this;return ee(async function(...l){let u=new oe([]),c=await a._def.args.parseAsync(l,o).catch(p=>{throw u.addIssue(r(l,p)),u}),f=await Reflect.apply(i,this,c);return await a._def.returns._def.type.parseAsync(f,o).catch(p=>{throw u.addIssue(s(f,p)),u})})}else{let a=this;return ee(function(...l){let u=a._def.args.safeParse(l,o);if(!u.success)throw new oe([r(l,u.error)]);let c=Reflect.apply(i,this,u.data),f=a._def.returns.safeParse(c,o);if(!f.success)throw new oe([s(c,f.error)]);return f.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:Ce.create(t).rest(je.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||Ce.create([]).rest(je.create()),returns:n||je.create(),typeName:O.ZodFunction,...D(r)})}},ht=class extends j{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})}};ht.create=(e,t)=>new ht({getter:e,typeName:O.ZodLazy,...D(t)});gt=class extends j{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return x(n,{received:n.data,code:k.invalid_literal,expected:this._def.value}),A}return{status:"valid",value:t.data}}get value(){return this._def.value}};gt.create=(e,t)=>new gt({value:e,typeName:O.ZodLiteral,...D(t)});yt=class e extends j{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return x(n,{expected:B.joinValues(r),received:n.parsedType,code:k.invalid_type}),A}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),r=this._def.values;return x(n,{received:n.data,code:k.invalid_enum_value,options:r}),A}return ee(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})}};yt.create=wa;bt=class extends j{_parse(t){let n=B.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==S.string&&r.parsedType!==S.number){let s=B.objectValues(n);return x(r,{expected:B.joinValues(s),received:r.parsedType,code:k.invalid_type}),A}if(this._cache||(this._cache=new Set(B.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=B.objectValues(n);return x(r,{received:r.data,code:k.invalid_enum_value,options:s}),A}return ee(t.data)}get enum(){return this._def.values}};bt.create=(e,t)=>new bt({values:e,typeName:O.ZodNativeEnum,...D(t)});Ve=class extends j{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==S.promise&&n.common.async===!1)return x(n,{code:k.invalid_type,expected:S.promise,received:n.parsedType}),A;let r=n.parsedType===S.promise?n.data:Promise.resolve(n.data);return ee(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};Ve.create=(e,t)=>new Ve({type:e,typeName:O.ZodPromise,...D(t)});ge=class extends j{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===O.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=>{x(r,i),i.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),s.type==="preprocess"){let i=s.transform(r.data,o);if(r.common.async)return Promise.resolve(i).then(async a=>{if(n.value==="aborted")return A;let l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?A:l.status==="dirty"?it(l.value):n.value==="dirty"?it(l.value):l});{if(n.value==="aborted")return A;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?A:a.status==="dirty"?it(a.value):n.value==="dirty"?it(a.value):a}}if(s.type==="refinement"){let i=a=>{let l=s.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?A:(a.status==="dirty"&&n.dirty(),i(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?A:(a.status==="dirty"&&n.dirty(),i(a.value).then(()=>({status:n.value,value:a.value}))))}if(s.type==="transform")if(r.common.async===!1){let i=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!Ge(i))return A;let a=s.transform(i.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(i=>Ge(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:n.value,value:a})):A);B.assertNever(s)}};ge.create=(e,t,n)=>new ge({schema:e,typeName:O.ZodEffects,effect:t,...D(n)});ge.createWithPreprocess=(e,t,n)=>new ge({schema:t,effect:{type:"preprocess",transform:e},typeName:O.ZodEffects,...D(n)});me=class extends j{_parse(t){return this._getType(t)===S.undefined?ee(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};me.create=(e,t)=>new me({innerType:e,typeName:O.ZodOptional,...D(t)});Oe=class extends j{_parse(t){return this._getType(t)===S.null?ee(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Oe.create=(e,t)=>new Oe({innerType:e,typeName:O.ZodNullable,...D(t)});kt=class extends j{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===S.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};kt.create=(e,t)=>new kt({innerType:e,typeName:O.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...D(t)});_t=class extends j{_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 Dt(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new oe(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new oe(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};_t.create=(e,t)=>new _t({innerType:e,typeName:O.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...D(t)});Bt=class extends j{_parse(t){if(this._getType(t)!==S.nan){let r=this._getOrReturnCtx(t);return x(r,{code:k.invalid_type,expected:S.nan,received:r.parsedType}),A}return{status:"valid",value:t.data}}};Bt.create=e=>new Bt({typeName:O.ZodNaN,...D(e)});zm=Symbol("zod_brand"),En=class extends j{_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}},vn=class e extends j{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{let o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?A:o.status==="dirty"?(n.dirty(),it(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?A:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(t,n){return new e({in:t,out:n,typeName:O.ZodPipeline})}},wt=class extends j{_parse(t){let n=this._def.innerType._parse(t),r=s=>(Ge(s)&&(s.value=Object.freeze(s.value)),s);return Dt(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};wt.create=(e,t)=>new wt({innerType:e,typeName:O.ZodReadonly,...D(t)});Um={object:ie.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"})(O||(O={}));Zm=(e,t={message:`Input not instance of ${e.name}`})=>xa(n=>n instanceof e,t),Sa=We.create,Ea=at.create,Jm=Bt.create,Gm=lt.create,va=ut.create,Wm=ct.create,Km=Lt.create,Vm=ft.create,qm=dt.create,Ym=Ke.create,Xm=je.create,Qm=Ee.create,eh=Ft.create,th=He.create,nh=ie.create,rh=ie.strictCreate,sh=pt.create,oh=pr.create,ih=mt.create,ah=Ce.create,lh=mr.create,uh=jt.create,ch=Ht.create,fh=hr.create,dh=ht.create,ph=gt.create,mh=yt.create,hh=bt.create,gh=Ve.create,yh=ge.create,bh=me.create,kh=Oe.create,_h=ge.createWithPreprocess,wh=vn.create,xh=()=>Sa().optional(),Sh=()=>Ea().optional(),Eh=()=>va().optional(),vh={string:(e=>We.create({...e,coerce:!0})),number:(e=>at.create({...e,coerce:!0})),boolean:(e=>ut.create({...e,coerce:!0})),bigint:(e=>lt.create({...e,coerce:!0})),date:(e=>ct.create({...e,coerce:!0}))},Th=A});var h={};wn(h,{BRAND:()=>zm,DIRTY:()=>it,EMPTY_PATH:()=>_m,INVALID:()=>A,NEVER:()=>Th,OK:()=>ee,ParseStatus:()=>Y,Schema:()=>j,ZodAny:()=>Ke,ZodArray:()=>He,ZodBigInt:()=>lt,ZodBoolean:()=>ut,ZodBranded:()=>En,ZodCatch:()=>_t,ZodDate:()=>ct,ZodDefault:()=>kt,ZodDiscriminatedUnion:()=>pr,ZodEffects:()=>ge,ZodEnum:()=>yt,ZodError:()=>oe,ZodFirstPartyTypeKind:()=>O,ZodFunction:()=>hr,ZodIntersection:()=>mt,ZodIssueCode:()=>k,ZodLazy:()=>ht,ZodLiteral:()=>gt,ZodMap:()=>jt,ZodNaN:()=>Bt,ZodNativeEnum:()=>bt,ZodNever:()=>Ee,ZodNull:()=>dt,ZodNullable:()=>Oe,ZodNumber:()=>at,ZodObject:()=>ie,ZodOptional:()=>me,ZodParsedType:()=>S,ZodPipeline:()=>vn,ZodPromise:()=>Ve,ZodReadonly:()=>wt,ZodRecord:()=>mr,ZodSchema:()=>j,ZodSet:()=>Ht,ZodString:()=>We,ZodSymbol:()=>Lt,ZodTransformer:()=>ge,ZodTuple:()=>Ce,ZodType:()=>j,ZodUndefined:()=>ft,ZodUnion:()=>pt,ZodUnknown:()=>je,ZodVoid:()=>Ft,addIssueToContext:()=>x,any:()=>Ym,array:()=>th,bigint:()=>Gm,boolean:()=>va,coerce:()=>vh,custom:()=>xa,date:()=>Wm,datetimeRegex:()=>_a,defaultErrorMap:()=>Le,discriminatedUnion:()=>oh,effect:()=>yh,enum:()=>mh,function:()=>fh,getErrorMap:()=>Nt,getParsedType:()=>$e,instanceof:()=>Zm,intersection:()=>ih,isAborted:()=>fr,isAsync:()=>Dt,isDirty:()=>dr,isValid:()=>Ge,late:()=>Um,lazy:()=>dh,literal:()=>ph,makeIssue:()=>Sn,map:()=>uh,nan:()=>Jm,nativeEnum:()=>hh,never:()=>Qm,null:()=>qm,nullable:()=>kh,number:()=>Ea,object:()=>nh,objectUtil:()=>Ds,oboolean:()=>Eh,onumber:()=>Sh,optional:()=>bh,ostring:()=>xh,pipeline:()=>wh,preprocess:()=>_h,promise:()=>gh,quotelessJson:()=>ym,record:()=>lh,set:()=>ch,setErrorMap:()=>km,strictObject:()=>rh,string:()=>Sa,symbol:()=>Km,transformer:()=>yh,tuple:()=>ah,undefined:()=>Vm,union:()=>sh,unknown:()=>Xm,util:()=>B,void:()=>eh});var Hs=b(()=>{cr();Ls();ma();xn();Ta();ur()});var xt=b(()=>{Hs();Hs()});var qe,Tn=b(()=>{"use strict";xt();qe=h.object({slug:h.string().min(1).max(64),description:h.string().max(255).optional(),match_command:h.string().min(1),priority:h.number().int().default(50),strip_ansi:h.boolean().default(!1),strip_lines_matching:h.array(h.string()).default([]),drop_lines_matching:h.array(h.string()).default([]),keep_failures:h.boolean().default(!1),strip_on_failure:h.boolean().default(!1),fold_passing:h.boolean().default(!1),fold_passing_threshold:h.number().int().positive().max(1e3).optional(),mask_abs_paths:h.boolean().default(!1),preserve_exact:h.boolean().default(!1),truncate_lines_at:h.number().int().positive().max(1e4).optional(),max_lines:h.number().int().positive().max(1e5).optional(),scale_with_level:h.boolean().default(!0),transform:h.string().max(64).optional(),transform_on_failure:h.boolean().default(!1),on_empty:h.string().max(255).optional()})});var Ca={};wn(Ca,{OutputVerbosity:()=>Aa,ReducerLevel:()=>$a,Settings:()=>zt,slugKey:()=>ce});import{createHash as Rh}from"node:crypto";function ce(e){let t=Ra.get(e);return t||(t=Rh("sha256").update(`tkr:${e}`).digest("hex").slice(0,16),Ra.set(e,t)),t}var Aa,$a,zt,Ra,Ye=b(()=>{"use strict";xt();Aa=h.enum(["normal","compact","minimal"]),$a=h.enum(["off","light","balanced","max"]),zt=h.object({enabled:h.boolean().default(!0),telemetryOptIn:h.boolean().default(!0),outputVerbosity:Aa.default("compact"),reducer:$a.default("off"),filters:h.object({enableAll:h.boolean().default(!0),disabled:h.array(h.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),Ra=new Map});function Ut(e,t,n,r=t){let s=Oa.get(r);s||(s=new Map,Oa.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(ce(l.slug))||l.matchRegex.test(e)&&(!a||l.priority>a.priority)&&(a=l);if(s.size>=Ah){let l=s.keys().next().value;l&&s.delete(l)}return s.set(o,a),a}var Oa,Ah,gr=b(()=>{"use strict";Ye();Oa=new WeakMap,Ah=256});import $h from"node:os";import{join as Rn}from"node:path";function v(){return process.env.TOKMIZER_HOME||Rn($h.homedir(),".tokmizer")}function An(){return Rn(v(),"install-id")}function Bs(){return Rn(v(),"content-cache")}function Ia(){return Rn(v(),"restore.json")}function zs(e){return Rn(Bs(),e)}var Z=b(()=>{"use strict"});import{join as Ch}from"node:path";import{mkdir as mA,readFile as Oh,writeFile as hA,unlink as gA,rename as yA}from"node:fs/promises";function Ph(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e&&e.length>0?e:"Etc/UTC"}catch{return"Etc/UTC"}}function Nh(e){return e?.dir??v()}async function St(e){let t=Nh(e);try{let n=await Oh(Ch(t,Ih),"utf8"),r=JSON.parse(n),s=r.timeZone;return{...r,lastSettingsRevision:r.lastSettingsRevision??0,get timeZone(){return s??=Ph()},bonusActive:r.bonusActive??!1,...r.bonusResetAt!==void 0?{bonusResetAt:r.bonusResetAt}:{}}}catch{return null}}var Ih,$n=b(()=>{"use strict";Z();Ih="state.json"});import{createRequire as Dh}from"node:module";function Lh(){let e="1.0.2";if(e)return e;for(let t of["../package.json","../../package.json"])try{let n=Mh(t).version;if(typeof n=="string"&&n)return n}catch{}return"0.0.0"}function Pa(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 Mh,ye,Zt=b(()=>{"use strict";Mh=Dh(import.meta.url);ye=Lh()});var Na,Da=b(()=>{"use strict";Na=`-----BEGIN PUBLIC KEY-----
3
+ var cm=Object.create;var Ns=Object.defineProperty;var fm=Object.getOwnPropertyDescriptor;var dm=Object.getOwnPropertyNames;var pm=Object.getPrototypeOf,mm=Object.prototype.hasOwnProperty;var Je=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var b=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var ue=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},wn=(e,t)=>{for(var n in t)Ns(e,n,{get:t[n],enumerable:!0})},hm=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of dm(t))!mm.call(e,s)&&s!==n&&Ns(e,s,{get:()=>t[s],enumerable:!(r=fm(t,s))||r.enumerable});return e};var gm=(e,t,n)=>(n=e!=null?cm(pm(e)):{},hm(t||!e||!e.__esModule?Ns(n,"default",{value:e,enumerable:!0}):n,e));var B,Ds,S,$e,xn=b(()=>{(function(e){e.assertEqual=s=>{};function t(s){}e.assertIs=t;function n(s){throw new Error}e.assertNever=n,e.arrayToEnum=s=>{let o={};for(let i of s)o[i]=i;return o},e.getValidEnumValues=s=>{let o=e.objectKeys(s).filter(a=>typeof s[s[a]]!="number"),i={};for(let a of o)i[a]=s[a];return e.objectValues(i)},e.objectValues=s=>e.objectKeys(s).map(function(o){return s[o]}),e.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let o=[];for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&o.push(i);return o},e.find=(s,o)=>{for(let i of s)if(o(i))return i},e.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,o=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(s,o)=>typeof o=="bigint"?o.toString():o})(B||(B={}));(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Ds||(Ds={}));S=B.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),$e=e=>{switch(typeof e){case"undefined":return S.undefined;case"string":return S.string;case"number":return Number.isNaN(e)?S.nan:S.number;case"boolean":return S.boolean;case"function":return S.function;case"bigint":return S.bigint;case"symbol":return S.symbol;case"object":return Array.isArray(e)?S.array:e===null?S.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?S.promise:typeof Map<"u"&&e instanceof Map?S.map:typeof Set<"u"&&e instanceof Set?S.set:typeof Date<"u"&&e instanceof Date?S.date:S.object;default:return S.unknown}}});var k,ym,oe,ur=b(()=>{xn();k=B.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"]),ym=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),oe=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,B.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()}};oe.create=e=>new oe(e)});var bm,Le,Ms=b(()=>{ur();xn();bm=(e,t)=>{let n;switch(e.code){case k.invalid_type:e.received===S.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case k.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,B.jsonStringifyReplacer)}`;break;case k.unrecognized_keys:n=`Unrecognized key(s) in object: ${B.joinValues(e.keys,", ")}`;break;case k.invalid_union:n="Invalid input";break;case k.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${B.joinValues(e.options)}`;break;case k.invalid_enum_value:n=`Invalid enum value. Expected ${B.joinValues(e.options)}, received '${e.received}'`;break;case k.invalid_arguments:n="Invalid function arguments";break;case k.invalid_return_type:n="Invalid function return type";break;case k.invalid_date:n="Invalid date";break;case k.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}"`:B.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case k.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 k.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 k.custom:n="Invalid input";break;case k.invalid_intersection_types:n="Intersection results could not be merged";break;case k.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case k.not_finite:n="Number must be finite";break;default:n=t.defaultError,B.assertNever(e)}return{message:n}},Le=bm});function km(e){pa=e}function Nt(){return pa}var pa,cr=b(()=>{Ms();pa=Le});function x(e,t){let n=Nt(),r=Sn({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 Sn,_m,Y,A,it,ee,fr,dr,Ge,Dt,Ls=b(()=>{cr();Ms();Sn=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}},_m=[];Y=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){let r=[];for(let s of n){if(s.status==="aborted")return A;s.status==="dirty"&&t.dirty(),r.push(s.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){let r=[];for(let s of n){let o=await s.key,i=await s.value;r.push({key:o,value:i})}return e.mergeObjectSync(t,r)}static mergeObjectSync(t,n){let r={};for(let s of n){let{key:o,value:i}=s;if(o.status==="aborted"||i.status==="aborted")return A;o.status==="dirty"&&t.dirty(),i.status==="dirty"&&t.dirty(),o.value!=="__proto__"&&(typeof i.value<"u"||s.alwaysSet)&&(r[o.value]=i.value)}return{status:t.value,value:r}}},A=Object.freeze({status:"aborted"}),it=e=>({status:"dirty",value:e}),ee=e=>({status:"valid",value:e}),fr=e=>e.status==="aborted",dr=e=>e.status==="dirty",Ge=e=>e.status==="valid",Dt=e=>typeof Promise<"u"&&e instanceof Promise});var ma=b(()=>{});var T,ha=b(()=>{(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(T||(T={}))});function D(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 ka(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 Lm(e){return new RegExp(`^${ka(e)}$`)}function _a(e){let t=`${ba}T${ka(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 Fm(e,t){return!!((t==="v4"||!t)&&Cm.test(e)||(t==="v6"||!t)&&Im.test(e))}function jm(e,t){if(!Tm.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 Hm(e,t){return!!((t==="v4"||!t)&&Om.test(e)||(t==="v6"||!t)&&Pm.test(e))}function Bm(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 Mt(e){if(e instanceof ie){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=me.create(Mt(r))}return new ie({...e._def,shape:()=>t})}else return e instanceof He?new He({...e._def,type:Mt(e.element)}):e instanceof me?me.create(Mt(e.unwrap())):e instanceof Oe?Oe.create(Mt(e.unwrap())):e instanceof Ce?Ce.create(e.items.map(t=>Mt(t))):e}function js(e,t){let n=$e(e),r=$e(t);if(e===t)return{valid:!0,data:e};if(n===S.object&&r===S.object){let s=B.objectKeys(t),o=B.objectKeys(e).filter(a=>s.indexOf(a)!==-1),i={...e,...t};for(let a of o){let l=js(e[a],t[a]);if(!l.valid)return{valid:!1};i[a]=l.data}return{valid:!0,data:i}}else if(n===S.array&&r===S.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=js(i,a);if(!l.valid)return{valid:!1};s.push(l.data)}return{valid:!0,data:s}}else return n===S.date&&r===S.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}function wa(e,t){return new yt({values:e,typeName:O.ZodEnum,...D(t)})}function ya(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function xa(e,t={},n){return e?Ke.create().superRefine((r,s)=>{let o=e(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=ya(t,r),l=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:l})}});if(!o){let i=ya(t,r),a=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:a})}}):Ke.create()}var he,ga,j,wm,xm,Sm,Em,vm,Tm,Rm,Am,$m,Fs,Cm,Om,Im,Pm,Nm,Dm,ba,Mm,We,at,lt,ut,ct,Lt,ft,dt,Ke,je,Ee,Ft,He,ie,pt,Fe,pr,mt,Ce,mr,jt,Ht,hr,ht,gt,yt,bt,Ve,ge,me,Oe,kt,_t,Bt,zm,En,vn,wt,Um,O,Zm,Sa,Ea,Jm,Gm,va,Wm,Km,Vm,qm,Ym,Xm,Qm,eh,th,nh,rh,sh,oh,ih,ah,lh,uh,ch,fh,dh,ph,mh,hh,gh,yh,bh,kh,_h,wh,xh,Sh,Eh,vh,Th,Ta=b(()=>{ur();cr();ha();Ls();xn();he=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}},ga=(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 oe(e.common.issues);return this._error=n,this._error}}};j=class{get description(){return this._def.description}_getType(t){return $e(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:$e(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Y,ctx:{common:t.parent.common,data:t.data,parsedType:$e(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(Dt(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:$e(t)},s=this._parseSync({data:t,path:r.path,parent:r});return ga(r,s)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:$e(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:$e(t)},s=this._parse({data:t,path:r.path,parent:r}),o=await(Dt(s)?s:Promise.resolve(s));return ga(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:k.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 ge({schema:this,typeName:O.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 me.create(this,this._def)}nullable(){return Oe.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return He.create(this)}promise(){return Ve.create(this,this._def)}or(t){return pt.create([this,t],this._def)}and(t){return mt.create(this,t,this._def)}transform(t){return new ge({...D(this._def),schema:this,typeName:O.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new kt({...D(this._def),innerType:this,defaultValue:n,typeName:O.ZodDefault})}brand(){return new En({typeName:O.ZodBranded,type:this,...D(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new _t({...D(this._def),innerType:this,catchValue:n,typeName:O.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return vn.create(this,t)}readonly(){return wt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},wm=/^c[^\s-]{8,}$/i,xm=/^[0-9a-z]+$/,Sm=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Em=/^[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,vm=/^[a-z0-9_-]{21}$/i,Tm=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Rm=/^[-+]?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)?)??$/,Am=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,$m="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Cm=/^(?:(?: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])$/,Om=/^(?:(?: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])$/,Im=/^(([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]))$/,Pm=/^(([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])$/,Nm=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Dm=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,ba="((\\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])))",Mm=new RegExp(`^${ba}$`);We=class e extends j{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==S.string){let o=this._getOrReturnCtx(t);return x(o,{code:k.invalid_type,expected:S.string,received:o.parsedType}),A}let r=new Y,s;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(s=this._getOrReturnCtx(t,s),x(s,{code:k.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),x(s,{code:k.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?x(s,{code:k.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&x(s,{code:k.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),r.dirty())}else if(o.kind==="email")Am.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"email",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="emoji")Fs||(Fs=new RegExp($m,"u")),Fs.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"emoji",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="uuid")Em.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"uuid",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="nanoid")vm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"nanoid",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid")wm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"cuid",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid2")xm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"cuid2",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="ulid")Sm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"ulid",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{s=this._getOrReturnCtx(t,s),x(s,{validation:"url",code:k.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),x(s,{validation:"regex",code:k.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),x(s,{code:k.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),x(s,{code:k.invalid_string,validation:{startsWith:o.value},message:o.message}),r.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(s=this._getOrReturnCtx(t,s),x(s,{code:k.invalid_string,validation:{endsWith:o.value},message:o.message}),r.dirty()):o.kind==="datetime"?_a(o).test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{code:k.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?Mm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{code:k.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?Lm(o).test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{code:k.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?Rm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"duration",code:k.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?Fm(t.data,o.version)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"ip",code:k.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?jm(t.data,o.alg)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"jwt",code:k.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?Hm(t.data,o.version)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"cidr",code:k.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?Nm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"base64",code:k.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?Dm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"base64url",code:k.invalid_string,message:o.message}),r.dirty()):B.assertNever(o);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:k.invalid_string,...T.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...T.errToObj(t)})}url(t){return this._addCheck({kind:"url",...T.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...T.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...T.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...T.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...T.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...T.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...T.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...T.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...T.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...T.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...T.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...T.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,...T.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,...T.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...T.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...T.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...T.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...T.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...T.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...T.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...T.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...T.errToObj(n)})}nonempty(t){return this.min(1,T.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}};We.create=e=>new We({checks:[],typeName:O.ZodString,coerce:e?.coerce??!1,...D(e)});at=class e extends j{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)!==S.number){let o=this._getOrReturnCtx(t);return x(o,{code:k.invalid_type,expected:S.number,received:o.parsedType}),A}let r,s=new Y;for(let o of this._def.checks)o.kind==="int"?B.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),x(r,{code:k.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),x(r,{code:k.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),x(r,{code:k.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?Bm(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),x(r,{code:k.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),x(r,{code:k.not_finite,message:o.message}),s.dirty()):B.assertNever(o);return{status:s.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,T.toString(n))}gt(t,n){return this.setLimit("min",t,!1,T.toString(n))}lte(t,n){return this.setLimit("max",t,!0,T.toString(n))}lt(t,n){return this.setLimit("max",t,!1,T.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:T.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:T.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:T.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:T.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:T.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:T.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:T.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:T.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:T.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:T.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"&&B.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)}};at.create=e=>new at({checks:[],typeName:O.ZodNumber,coerce:e?.coerce||!1,...D(e)});lt=class e extends j{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)!==S.bigint)return this._getInvalidInput(t);let r,s=new Y;for(let o of this._def.checks)o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(r=this._getOrReturnCtx(t,r),x(r,{code:k.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),x(r,{code:k.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),x(r,{code:k.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):B.assertNever(o);return{status:s.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return x(n,{code:k.invalid_type,expected:S.bigint,received:n.parsedType}),A}gte(t,n){return this.setLimit("min",t,!0,T.toString(n))}gt(t,n){return this.setLimit("min",t,!1,T.toString(n))}lte(t,n){return this.setLimit("max",t,!0,T.toString(n))}lt(t,n){return this.setLimit("max",t,!1,T.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:T.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:T.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:T.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:T.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:T.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:T.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}};lt.create=e=>new lt({checks:[],typeName:O.ZodBigInt,coerce:e?.coerce??!1,...D(e)});ut=class extends j{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==S.boolean){let r=this._getOrReturnCtx(t);return x(r,{code:k.invalid_type,expected:S.boolean,received:r.parsedType}),A}return ee(t.data)}};ut.create=e=>new ut({typeName:O.ZodBoolean,coerce:e?.coerce||!1,...D(e)});ct=class e extends j{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==S.date){let o=this._getOrReturnCtx(t);return x(o,{code:k.invalid_type,expected:S.date,received:o.parsedType}),A}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return x(o,{code:k.invalid_date}),A}let r=new Y,s;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(s=this._getOrReturnCtx(t,s),x(s,{code:k.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),x(s,{code:k.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):B.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:T.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:T.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}};ct.create=e=>new ct({checks:[],coerce:e?.coerce||!1,typeName:O.ZodDate,...D(e)});Lt=class extends j{_parse(t){if(this._getType(t)!==S.symbol){let r=this._getOrReturnCtx(t);return x(r,{code:k.invalid_type,expected:S.symbol,received:r.parsedType}),A}return ee(t.data)}};Lt.create=e=>new Lt({typeName:O.ZodSymbol,...D(e)});ft=class extends j{_parse(t){if(this._getType(t)!==S.undefined){let r=this._getOrReturnCtx(t);return x(r,{code:k.invalid_type,expected:S.undefined,received:r.parsedType}),A}return ee(t.data)}};ft.create=e=>new ft({typeName:O.ZodUndefined,...D(e)});dt=class extends j{_parse(t){if(this._getType(t)!==S.null){let r=this._getOrReturnCtx(t);return x(r,{code:k.invalid_type,expected:S.null,received:r.parsedType}),A}return ee(t.data)}};dt.create=e=>new dt({typeName:O.ZodNull,...D(e)});Ke=class extends j{constructor(){super(...arguments),this._any=!0}_parse(t){return ee(t.data)}};Ke.create=e=>new Ke({typeName:O.ZodAny,...D(e)});je=class extends j{constructor(){super(...arguments),this._unknown=!0}_parse(t){return ee(t.data)}};je.create=e=>new je({typeName:O.ZodUnknown,...D(e)});Ee=class extends j{_parse(t){let n=this._getOrReturnCtx(t);return x(n,{code:k.invalid_type,expected:S.never,received:n.parsedType}),A}};Ee.create=e=>new Ee({typeName:O.ZodNever,...D(e)});Ft=class extends j{_parse(t){if(this._getType(t)!==S.undefined){let r=this._getOrReturnCtx(t);return x(r,{code:k.invalid_type,expected:S.void,received:r.parsedType}),A}return ee(t.data)}};Ft.create=e=>new Ft({typeName:O.ZodVoid,...D(e)});He=class e extends j{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==S.array)return x(n,{code:k.invalid_type,expected:S.array,received:n.parsedType}),A;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(i||a)&&(x(n,{code:i?k.too_big:k.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&&(x(n,{code:k.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&&(x(n,{code:k.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 he(n,i,n.path,a)))).then(i=>Y.mergeArray(r,i));let o=[...n.data].map((i,a)=>s.type._parseSync(new he(n,i,n.path,a)));return Y.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:T.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:T.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:T.toString(n)}})}nonempty(t){return this.min(1,t)}};He.create=(e,t)=>new He({type:e,minLength:null,maxLength:null,exactLength:null,typeName:O.ZodArray,...D(t)});ie=class e extends j{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=B.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==S.object){let u=this._getOrReturnCtx(t);return x(u,{code:k.invalid_type,expected:S.object,received:u.parsedType}),A}let{status:r,ctx:s}=this._processInputParams(t),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof Ee&&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],f=s.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new he(s,f,s.path,u)),alwaysSet:u in s.data})}if(this._def.catchall instanceof Ee){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&&(x(s,{code:k.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 f=s.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new he(s,f,s.path,c)),alwaysSet:c in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let u=[];for(let c of l){let f=await c.key,d=await c.value;u.push({key:f,value:d,alwaysSet:c.alwaysSet})}return u}).then(u=>Y.mergeObjectSync(r,u)):Y.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return T.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:T.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:O.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 B.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 B.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return Mt(this)}partial(t){let n={};for(let r of B.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 B.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof me;)o=o._def.innerType;n[r]=o}return new e({...this._def,shape:()=>n})}keyof(){return wa(B.objectKeys(this.shape))}};ie.create=(e,t)=>new ie({shape:()=>e,unknownKeys:"strip",catchall:Ee.create(),typeName:O.ZodObject,...D(t)});ie.strictCreate=(e,t)=>new ie({shape:()=>e,unknownKeys:"strict",catchall:Ee.create(),typeName:O.ZodObject,...D(t)});ie.lazycreate=(e,t)=>new ie({shape:e,unknownKeys:"strip",catchall:Ee.create(),typeName:O.ZodObject,...D(t)});pt=class extends j{_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 oe(a.ctx.common.issues));return x(n,{code:k.invalid_union,unionErrors:i}),A}if(n.common.async)return Promise.all(r.map(async o=>{let i={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:i}),ctx:i}})).then(s);{let o,i=[];for(let l of r){let 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 oe(l));return x(n,{code:k.invalid_union,unionErrors:a}),A}}get options(){return this._def.options}};pt.create=(e,t)=>new pt({options:e,typeName:O.ZodUnion,...D(t)});Fe=e=>e instanceof ht?Fe(e.schema):e instanceof ge?Fe(e.innerType()):e instanceof gt?[e.value]:e instanceof yt?e.options:e instanceof bt?B.objectValues(e.enum):e instanceof kt?Fe(e._def.innerType):e instanceof ft?[void 0]:e instanceof dt?[null]:e instanceof me?[void 0,...Fe(e.unwrap())]:e instanceof Oe?[null,...Fe(e.unwrap())]:e instanceof En||e instanceof wt?Fe(e.unwrap()):e instanceof _t?Fe(e._def.innerType):[],pr=class e extends j{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==S.object)return x(n,{code:k.invalid_type,expected:S.object,received:n.parsedType}),A;let r=this.discriminator,s=n.data[r],o=this.optionsMap.get(s);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(x(n,{code:k.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),A)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let s=new Map;for(let o of n){let i=Fe(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:O.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...D(r)})}};mt=class extends j{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(o,i)=>{if(fr(o)||fr(i))return A;let a=js(o.value,i.value);return a.valid?((dr(o)||dr(i))&&n.dirty(),{status:n.value,value:a.data}):(x(r,{code:k.invalid_intersection_types}),A)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,i])=>s(o,i)):s(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};mt.create=(e,t,n)=>new mt({left:e,right:t,typeName:O.ZodIntersection,...D(n)});Ce=class e extends j{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==S.array)return x(r,{code:k.invalid_type,expected:S.array,received:r.parsedType}),A;if(r.data.length<this._def.items.length)return x(r,{code:k.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),A;!this._def.rest&&r.data.length>this._def.items.length&&(x(r,{code:k.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 he(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(o).then(i=>Y.mergeArray(n,i)):Y.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};Ce.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ce({items:e,typeName:O.ZodTuple,rest:null,...D(t)})};mr=class e extends j{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!==S.object)return x(r,{code:k.invalid_type,expected:S.object,received:r.parsedType}),A;let s=[],o=this._def.keyType,i=this._def.valueType;for(let a in r.data)s.push({key:o._parse(new he(r,a,r.path,a)),value:i._parse(new he(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?Y.mergeObjectAsync(n,s):Y.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof j?new e({keyType:t,valueType:n,typeName:O.ZodRecord,...D(r)}):new e({keyType:We.create(),valueType:t,typeName:O.ZodRecord,...D(n)})}},jt=class extends j{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!==S.map)return x(r,{code:k.invalid_type,expected:S.map,received:r.parsedType}),A;let s=this._def.keyType,o=this._def.valueType,i=[...r.data.entries()].map(([a,l],u)=>({key:s._parse(new he(r,a,r.path,[u,"key"])),value:o._parse(new he(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 A;(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 A;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}}}};jt.create=(e,t,n)=>new jt({valueType:t,keyType:e,typeName:O.ZodMap,...D(n)});Ht=class e extends j{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==S.set)return x(r,{code:k.invalid_type,expected:S.set,received:r.parsedType}),A;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(x(r,{code:k.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&&(x(r,{code:k.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 A;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 he(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:T.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:T.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};Ht.create=(e,t)=>new Ht({valueType:e,minSize:null,maxSize:null,typeName:O.ZodSet,...D(t)});hr=class e extends j{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==S.function)return x(n,{code:k.invalid_type,expected:S.function,received:n.parsedType}),A;function r(a,l){return Sn({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Nt(),Le].filter(u=>!!u),issueData:{code:k.invalid_arguments,argumentsError:l}})}function s(a,l){return Sn({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Nt(),Le].filter(u=>!!u),issueData:{code:k.invalid_return_type,returnTypeError:l}})}let o={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof Ve){let a=this;return ee(async function(...l){let u=new oe([]),c=await a._def.args.parseAsync(l,o).catch(p=>{throw u.addIssue(r(l,p)),u}),f=await Reflect.apply(i,this,c);return await a._def.returns._def.type.parseAsync(f,o).catch(p=>{throw u.addIssue(s(f,p)),u})})}else{let a=this;return ee(function(...l){let u=a._def.args.safeParse(l,o);if(!u.success)throw new oe([r(l,u.error)]);let c=Reflect.apply(i,this,u.data),f=a._def.returns.safeParse(c,o);if(!f.success)throw new oe([s(c,f.error)]);return f.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:Ce.create(t).rest(je.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||Ce.create([]).rest(je.create()),returns:n||je.create(),typeName:O.ZodFunction,...D(r)})}},ht=class extends j{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})}};ht.create=(e,t)=>new ht({getter:e,typeName:O.ZodLazy,...D(t)});gt=class extends j{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return x(n,{received:n.data,code:k.invalid_literal,expected:this._def.value}),A}return{status:"valid",value:t.data}}get value(){return this._def.value}};gt.create=(e,t)=>new gt({value:e,typeName:O.ZodLiteral,...D(t)});yt=class e extends j{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return x(n,{expected:B.joinValues(r),received:n.parsedType,code:k.invalid_type}),A}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),r=this._def.values;return x(n,{received:n.data,code:k.invalid_enum_value,options:r}),A}return ee(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})}};yt.create=wa;bt=class extends j{_parse(t){let n=B.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==S.string&&r.parsedType!==S.number){let s=B.objectValues(n);return x(r,{expected:B.joinValues(s),received:r.parsedType,code:k.invalid_type}),A}if(this._cache||(this._cache=new Set(B.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=B.objectValues(n);return x(r,{received:r.data,code:k.invalid_enum_value,options:s}),A}return ee(t.data)}get enum(){return this._def.values}};bt.create=(e,t)=>new bt({values:e,typeName:O.ZodNativeEnum,...D(t)});Ve=class extends j{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==S.promise&&n.common.async===!1)return x(n,{code:k.invalid_type,expected:S.promise,received:n.parsedType}),A;let r=n.parsedType===S.promise?n.data:Promise.resolve(n.data);return ee(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};Ve.create=(e,t)=>new Ve({type:e,typeName:O.ZodPromise,...D(t)});ge=class extends j{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===O.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=>{x(r,i),i.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),s.type==="preprocess"){let i=s.transform(r.data,o);if(r.common.async)return Promise.resolve(i).then(async a=>{if(n.value==="aborted")return A;let l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?A:l.status==="dirty"?it(l.value):n.value==="dirty"?it(l.value):l});{if(n.value==="aborted")return A;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?A:a.status==="dirty"?it(a.value):n.value==="dirty"?it(a.value):a}}if(s.type==="refinement"){let i=a=>{let l=s.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?A:(a.status==="dirty"&&n.dirty(),i(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?A:(a.status==="dirty"&&n.dirty(),i(a.value).then(()=>({status:n.value,value:a.value}))))}if(s.type==="transform")if(r.common.async===!1){let i=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!Ge(i))return A;let a=s.transform(i.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(i=>Ge(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:n.value,value:a})):A);B.assertNever(s)}};ge.create=(e,t,n)=>new ge({schema:e,typeName:O.ZodEffects,effect:t,...D(n)});ge.createWithPreprocess=(e,t,n)=>new ge({schema:t,effect:{type:"preprocess",transform:e},typeName:O.ZodEffects,...D(n)});me=class extends j{_parse(t){return this._getType(t)===S.undefined?ee(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};me.create=(e,t)=>new me({innerType:e,typeName:O.ZodOptional,...D(t)});Oe=class extends j{_parse(t){return this._getType(t)===S.null?ee(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Oe.create=(e,t)=>new Oe({innerType:e,typeName:O.ZodNullable,...D(t)});kt=class extends j{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===S.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};kt.create=(e,t)=>new kt({innerType:e,typeName:O.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...D(t)});_t=class extends j{_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 Dt(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new oe(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new oe(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};_t.create=(e,t)=>new _t({innerType:e,typeName:O.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...D(t)});Bt=class extends j{_parse(t){if(this._getType(t)!==S.nan){let r=this._getOrReturnCtx(t);return x(r,{code:k.invalid_type,expected:S.nan,received:r.parsedType}),A}return{status:"valid",value:t.data}}};Bt.create=e=>new Bt({typeName:O.ZodNaN,...D(e)});zm=Symbol("zod_brand"),En=class extends j{_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}},vn=class e extends j{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{let o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?A:o.status==="dirty"?(n.dirty(),it(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?A:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(t,n){return new e({in:t,out:n,typeName:O.ZodPipeline})}},wt=class extends j{_parse(t){let n=this._def.innerType._parse(t),r=s=>(Ge(s)&&(s.value=Object.freeze(s.value)),s);return Dt(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};wt.create=(e,t)=>new wt({innerType:e,typeName:O.ZodReadonly,...D(t)});Um={object:ie.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"})(O||(O={}));Zm=(e,t={message:`Input not instance of ${e.name}`})=>xa(n=>n instanceof e,t),Sa=We.create,Ea=at.create,Jm=Bt.create,Gm=lt.create,va=ut.create,Wm=ct.create,Km=Lt.create,Vm=ft.create,qm=dt.create,Ym=Ke.create,Xm=je.create,Qm=Ee.create,eh=Ft.create,th=He.create,nh=ie.create,rh=ie.strictCreate,sh=pt.create,oh=pr.create,ih=mt.create,ah=Ce.create,lh=mr.create,uh=jt.create,ch=Ht.create,fh=hr.create,dh=ht.create,ph=gt.create,mh=yt.create,hh=bt.create,gh=Ve.create,yh=ge.create,bh=me.create,kh=Oe.create,_h=ge.createWithPreprocess,wh=vn.create,xh=()=>Sa().optional(),Sh=()=>Ea().optional(),Eh=()=>va().optional(),vh={string:(e=>We.create({...e,coerce:!0})),number:(e=>at.create({...e,coerce:!0})),boolean:(e=>ut.create({...e,coerce:!0})),bigint:(e=>lt.create({...e,coerce:!0})),date:(e=>ct.create({...e,coerce:!0}))},Th=A});var h={};wn(h,{BRAND:()=>zm,DIRTY:()=>it,EMPTY_PATH:()=>_m,INVALID:()=>A,NEVER:()=>Th,OK:()=>ee,ParseStatus:()=>Y,Schema:()=>j,ZodAny:()=>Ke,ZodArray:()=>He,ZodBigInt:()=>lt,ZodBoolean:()=>ut,ZodBranded:()=>En,ZodCatch:()=>_t,ZodDate:()=>ct,ZodDefault:()=>kt,ZodDiscriminatedUnion:()=>pr,ZodEffects:()=>ge,ZodEnum:()=>yt,ZodError:()=>oe,ZodFirstPartyTypeKind:()=>O,ZodFunction:()=>hr,ZodIntersection:()=>mt,ZodIssueCode:()=>k,ZodLazy:()=>ht,ZodLiteral:()=>gt,ZodMap:()=>jt,ZodNaN:()=>Bt,ZodNativeEnum:()=>bt,ZodNever:()=>Ee,ZodNull:()=>dt,ZodNullable:()=>Oe,ZodNumber:()=>at,ZodObject:()=>ie,ZodOptional:()=>me,ZodParsedType:()=>S,ZodPipeline:()=>vn,ZodPromise:()=>Ve,ZodReadonly:()=>wt,ZodRecord:()=>mr,ZodSchema:()=>j,ZodSet:()=>Ht,ZodString:()=>We,ZodSymbol:()=>Lt,ZodTransformer:()=>ge,ZodTuple:()=>Ce,ZodType:()=>j,ZodUndefined:()=>ft,ZodUnion:()=>pt,ZodUnknown:()=>je,ZodVoid:()=>Ft,addIssueToContext:()=>x,any:()=>Ym,array:()=>th,bigint:()=>Gm,boolean:()=>va,coerce:()=>vh,custom:()=>xa,date:()=>Wm,datetimeRegex:()=>_a,defaultErrorMap:()=>Le,discriminatedUnion:()=>oh,effect:()=>yh,enum:()=>mh,function:()=>fh,getErrorMap:()=>Nt,getParsedType:()=>$e,instanceof:()=>Zm,intersection:()=>ih,isAborted:()=>fr,isAsync:()=>Dt,isDirty:()=>dr,isValid:()=>Ge,late:()=>Um,lazy:()=>dh,literal:()=>ph,makeIssue:()=>Sn,map:()=>uh,nan:()=>Jm,nativeEnum:()=>hh,never:()=>Qm,null:()=>qm,nullable:()=>kh,number:()=>Ea,object:()=>nh,objectUtil:()=>Ds,oboolean:()=>Eh,onumber:()=>Sh,optional:()=>bh,ostring:()=>xh,pipeline:()=>wh,preprocess:()=>_h,promise:()=>gh,quotelessJson:()=>ym,record:()=>lh,set:()=>ch,setErrorMap:()=>km,strictObject:()=>rh,string:()=>Sa,symbol:()=>Km,transformer:()=>yh,tuple:()=>ah,undefined:()=>Vm,union:()=>sh,unknown:()=>Xm,util:()=>B,void:()=>eh});var Hs=b(()=>{cr();Ls();ma();xn();Ta();ur()});var xt=b(()=>{Hs();Hs()});var qe,Tn=b(()=>{"use strict";xt();qe=h.object({slug:h.string().min(1).max(64),description:h.string().max(255).optional(),match_command:h.string().min(1),priority:h.number().int().default(50),strip_ansi:h.boolean().default(!1),strip_lines_matching:h.array(h.string()).default([]),drop_lines_matching:h.array(h.string()).default([]),keep_failures:h.boolean().default(!1),strip_on_failure:h.boolean().default(!1),fold_passing:h.boolean().default(!1),fold_passing_threshold:h.number().int().positive().max(1e3).optional(),mask_abs_paths:h.boolean().default(!1),preserve_exact:h.boolean().default(!1),truncate_lines_at:h.number().int().positive().max(1e4).optional(),max_lines:h.number().int().positive().max(1e5).optional(),scale_with_level:h.boolean().default(!0),transform:h.string().max(64).optional(),transform_on_failure:h.boolean().default(!1),on_empty:h.string().max(255).optional()})});var Ca={};wn(Ca,{OutputVerbosity:()=>Aa,ReducerLevel:()=>$a,Settings:()=>zt,slugKey:()=>ce});import{createHash as Rh}from"node:crypto";function ce(e){let t=Ra.get(e);return t||(t=Rh("sha256").update(`tkr:${e}`).digest("hex").slice(0,16),Ra.set(e,t)),t}var Aa,$a,zt,Ra,Ye=b(()=>{"use strict";xt();Aa=h.enum(["normal","compact","minimal"]),$a=h.enum(["off","light","balanced","max"]),zt=h.object({enabled:h.boolean().default(!0),telemetryOptIn:h.boolean().default(!0),outputVerbosity:Aa.default("compact"),reducer:$a.default("off"),filters:h.object({enableAll:h.boolean().default(!0),disabled:h.array(h.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),Ra=new Map});function Ut(e,t,n,r=t){let s=Oa.get(r);s||(s=new Map,Oa.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(ce(l.slug))||l.matchRegex.test(e)&&(!a||l.priority>a.priority)&&(a=l);if(s.size>=Ah){let l=s.keys().next().value;l&&s.delete(l)}return s.set(o,a),a}var Oa,Ah,gr=b(()=>{"use strict";Ye();Oa=new WeakMap,Ah=256});import $h from"node:os";import{join as Rn}from"node:path";function v(){return process.env.TOKMIZER_HOME||Rn($h.homedir(),".tokmizer")}function An(){return Rn(v(),"install-id")}function Bs(){return Rn(v(),"content-cache")}function Ia(){return Rn(v(),"restore.json")}function zs(e){return Rn(Bs(),e)}var Z=b(()=>{"use strict"});import{join as Ch}from"node:path";import{mkdir as mA,readFile as Oh,writeFile as hA,unlink as gA,rename as yA}from"node:fs/promises";function Ph(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e&&e.length>0?e:"Etc/UTC"}catch{return"Etc/UTC"}}function Nh(e){return e?.dir??v()}async function St(e){let t=Nh(e);try{let n=await Oh(Ch(t,Ih),"utf8"),r=JSON.parse(n),s=r.timeZone;return{...r,lastSettingsRevision:r.lastSettingsRevision??0,get timeZone(){return s??=Ph()},bonusActive:r.bonusActive??!1,...r.bonusResetAt!==void 0?{bonusResetAt:r.bonusResetAt}:{}}}catch{return null}}var Ih,$n=b(()=>{"use strict";Z();Ih="state.json"});import{createRequire as Dh}from"node:module";function Lh(){let e="1.1.0";if(e)return e;for(let t of["../package.json","../../package.json"])try{let n=Mh(t).version;if(typeof n=="string"&&n)return n}catch{}return"0.0.0"}function Pa(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 Mh,ye,Zt=b(()=>{"use strict";Mh=Dh(import.meta.url);ye=Lh()});var Na,Da=b(()=>{"use strict";Na=`-----BEGIN PUBLIC KEY-----
4
4
  MCowBQYDK2VwAyEAj/kMlXlhTIGHRKxOKMuGFa1S1ybxxwgdYcAE0YM9fgU=
5
5
  -----END PUBLIC KEY-----
6
- `});import{existsSync as Fh,mkdirSync as EA,rmSync as vA,writeFileSync as TA}from"node:fs";import{join as Ma}from"node:path";function Bh(){return Ma(v(),"network-off")}function zh(){let e=process.env.TOKMIZER_NETWORK;return e!==void 0&&jh.has(e.trim().toLowerCase())}function Cn(){return zh()?!1:!Fh(Bh())}function La(){return Ma(v(),Hh)}var jh,Hh,$A,On=b(()=>{"use strict";Z();jh=new Set(["0","off","false","no"]),Hh="network-notice-shown",$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, token counts and install health counts) are sent only while they are on. Check with: tkr telemetry status.","Turn all network access off: tkr network off. Usage stats only: tkr telemetry off."].join(`
6
+ `});import{existsSync as Fh,mkdirSync as EA,rmSync as vA,writeFileSync as TA}from"node:fs";import{join as Ma}from"node:path";function Bh(){return Ma(v(),"network-off")}function zh(){let e=process.env.TOKMIZER_NETWORK;return e!==void 0&&jh.has(e.trim().toLowerCase())}function Cn(){return zh()?!1:!Fh(Bh())}function La(){return Ma(v(),Hh)}var jh,Hh,$A,On=b(()=>{"use strict";Z();jh=new Set(["0","off","false","no"]),Hh="network-notice-shown",$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 and the plugin version, nothing that describes your machine: no computer name, OS, hardware or user name. Command contents and output are never sent.","Usage stats (command names, token counts and install health counts) are sent only while they are on. Check with: tkr telemetry status.","Turn all network access off: tkr network off. Usage stats only: tkr telemetry off."].join(`
7
7
  `)});function Fa(){return Na.replace(/\\n/g,`
8
8
  `)}var DA,MA,Us=b(()=>{"use strict";Zt();Da();On();DA=300*1e3,MA=120*1e3});import{createCipheriv as jA,createDecipheriv as Uh,hkdfSync as Zh,randomBytes as HA}from"node:crypto";function Wh(e){return Buffer.from(Zh("sha256",Buffer.from(e,"utf8"),Jh,Gh,32))}function yr(e,t){let n=Wh(t),r=Buffer.from(e,"base64url"),s=r.subarray(0,12),o=r.subarray(12,28),i=r.subarray(28),a=Uh("aes-256-gcm",n,s);return a.setAuthTag(o),Buffer.concat([a.update(i),a.final()]).toString("utf8")}var Jh,Gh,Zs=b(()=>{"use strict";Jh=Buffer.from("tokmizer-bundle-enc-v1"),Gh=Buffer.from("rules-bundle")});import{chmodSync as UA,readFileSync as Kh,writeFileSync as ZA,mkdirSync as JA,renameSync as GA}from"node:fs";import{join as Vh}from"node:path";function Yh(){return Vh(v(),"bundle-cache.json")}function ja(){try{let e=Kh(Yh(),"utf8"),t=qh.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}var qh,Ha=b(()=>{"use strict";xt();Z();qh=h.object({payload:h.string().min(1),signature:h.string().min(1),enc:h.literal("v1"),fetchedAt:h.number().int().nonnegative()})});import{createPublicKey as Qh,verify as eg}from"node:crypto";function Gs(){let e=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(e)&&e>0?e:tg}function ng(e,t){let n=Fa();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=Qh({key:n,format:"pem"});if(!eg(null,Buffer.from(e.payload,"utf8"),r,Buffer.from(e.signature,"base64url")))throw new Error("tkr-daemon: rules bundle signature invalid");return JSON.parse(yr(e.payload,t))}function rg(e,t){let n=ng(e,t),r=Js.parse(n);if(Date.now()-r.signedAt>Gs())throw new Error("tkr-daemon: rules bundle is stale");return Ws(r,{signedAt:r.signedAt,fetchedAt:Date.now()})}function Ws(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)=>Ut(r,n.values(),o?new Set(o):null,n)}}async function br(){try{let e=ja();if(!e)return null;let t=await St();return t?.signingSecret?rg(e,t.signingSecret):null}catch{return null}}var Js,i$,tg,In=b(()=>{"use strict";xt();Tn();gr();$n();Us();Zs();Ha();Js=h.object({bundleVersion:h.number().int().nonnegative(),signedAt:h.number().int(),filters:h.array(qe)}),i$=h.object({payload:h.string().min(1),signature:h.string().min(1),enc:h.literal("v1")}),tg=10080*60*1e3});function sg(e,t){let n=e.slice(0,t).split(/\r?\n/);return[n.length,n.pop().length+1]}function og(e,t,n){let r=e.split(/\r?\n/),s="",o=(Math.log10(t+1)|0)+1;for(let i=t-1;i<=t+1;i++){let a=r[i-1];a&&(s+=i.toString().padEnd(o," "),s+=": ",s+=a,s+=`
9
9
  `,i===t&&(s+=" ".repeat(o+n+2),s+=`^
@@ -74,7 +74,7 @@ ${a}`:i||a}function ro(e,{maxDepth:t=1e3,numbersAsFloat:n=!1,strictTemporal:r=!1
74
74
  `)}}),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 f=u;if(!c.full&&c.f.loc===null)for(;f+1<o.length;){let p=o[f+1];if(p.full||p.f.loc!==null||p.f.file!==c.f.file||p.body!==c.body)break;f+=1}i.push(f>u?`\xD7 ${c0(o.slice(u,f+1).map(p=>p.f.name))}`:f0(c.f)),u=f;let d=o[u+1];d&&d.f.file===c.f.file&&d.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(`
75
75
  `)}
76
76
  `}function $u(e,t="normal"){let n=Ie(e).split(`
77
- `).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 a0){let s=r(n);if(!(!s||s.failures.length===0))return s.counted===0||s.reported!==null&&s.counted<s.reported?null:d0(s,t)}return null}var Tu,Ru,Gb,Wb,Kb,Vb,qb,Yb,Su,i0,a0,Cu=b(()=>{"use strict";Ln();io();Tu=/^(?:(?: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|$)/,Ru={normal:{msg:40,diff:60,frames:6,out:20,bulk:50,repeats:10,trimDiff:!1,changedOnly:!1},compact:{msg:12,diff:24,frames:2,out:5,bulk:20,repeats:2,trimDiff:!0,changedOnly:!1},minimal:{msg:6,diff:8,frames:0,out:0,bulk:10,repeats:1,trimDiff:!0,changedOnly:!0}},Gb=/node_modules|^node:|^internal\/|site-packages|dist-packages|\/lib\/python\d|\/rustc\/|\.cargo\/registry|\.rustup\/|\/go\/src\/|\/go\/pkg\/mod\/|\/libexec\/src\/|<anonymous>/,Wb=/^\s*at\s+(?:.*?\()?((?:file:\/\/)?[^\s()]+?):(\d+)(?::(\d+))?\)?\s*$/,Kb=/^\s*❯\s+(?:\S+\s+)?([^\s]+?):(\d+)(?::(\d+))?\s*$/,Vb=/^\s*(>)?\s*(\d+)\s*\|/,qb=/^\s*\|\s*[\^~]+\s*$/,Yb=/^(?:- Expected|\+ Received|- Snapshot|\+ expected - actual|\+ actual - expected|- expected \+ actual)(?:\s+[-+]\s*\d+)?$/;Su=/^(FAILED|ERROR) (\S+?\.py(?:::\S+)?)(?: - (.*))?$/;i0=12,a0=[r0,s0,o0,e0,Qb,t0,n0]});function Ou(){let e="RmLB4Qg6kLBB3OS6Ty7fwJ1EvSuPsOtduIjpFnS93R6i20hNm02x4Q6dX6Bg4wVHrFu-yqSmMwPb6epbvOOSVfbhS6SIFv06v7IulFcWxSbvQ6V1IVomZZj2IevavoWmSoe5yPSMz45duDZ6xViaeatwTIkV0LYPXu_QZ_-dMcWddqTVJ8dFlJ6OQOMBJ3EKL5uaySOpI5dZ176qL1ggLpNrLTu78ou2wnT5TtwlaauYHZVcV5iL9DquJuW4Nh0hLDYGoHRFY1HhyXHP_cTkFoOVfXKcIN8SbvX9Mv_lUgqlhKXH0g7ajGy1ByHn4des9EffWR_YzY8wVZ9gKlq340B6q1Umk6ihWvkmB1RJzfHXJIFiEzfYeVXVtna5R3omXp9TbG-FljQde7iiqIL-j72uZheP1_AO2e3YMMhmuW0hmtTD7coxvNDAL_KmHRDxPZ7IO38KUfu2_rjgEO3E-8vU6ytHrnPK-k2MVSSZfU2wF7TP8Nf32W_kHSI91K0QCZRvJvPqday16TAmcsXzAlGhZxJhXLgjoMJKpY42yqrIEf-Rkb2A8erIYdBpFhWc67n-rXbCHRxCko6DiwZxA8Gc6QAl6OuE99Sjf63Y0MbhwBkhgOIkzF7upgDqd5ek9opuvpjzquA4vT92D4XYNETa63r4oPEAoNTlEmWVmnB_0Fk7jeSVgdlQWngvNmEeiMMqMALIe7R_M1Qa1lDvs-_vE8k-806g8IJPgWAi5BfU_T67kZ6QK3rJf9cypqEXJpJxXkX50Qsvs_jklUHQknxzvKqJUv3p9GINwGmLnKmLtk03IZyWGdcGj4jNJQ0LZS6tMz4fhtBy6bPeaW7_9DQR2ygPAI8SOVZXTqZOdQWKuJgB6Rd1lY2lpCKBoI34kNC6YSrOOFRTUd9aiLRfoJoYsSvmZQTG_kpg8NfEQvXFb5_fkwlSll47wKz8uHA2Dsc2oZ7cPkz0yb5qKwomULNzUL7ZjcLHjFVi1LBlVdocn9Zc6o3AdoARZRq8A8RQjXI_qyK-XHrcrNzgf-Qtjz5-RMY_uXEP9iSBIRlz3hmXLlFpqpUkGkCzA2McQQ6itx-kMu8Qslo-vghzdPoRyEy61nJB9JXfx_FVnKVLKTBPpfOTfYwgc7UHU_L2JNuL1ui5J_SA7tDHueJTbRjyLlp2gdXqrWhaHcunp3c7TuLY_7nKiQ81GxNvkpPnNSd_xh65M6ezoudewoRxoTpHII74H_tTkuwYtSujyRdyrucXDNkCEiYjft5k-5H5RG4y5VbouIdD8N_uyV89YFoBQ5JMB6pW-lZo0VgK1oB7WU49Im_hqCBDOO2AuGdirI4qP5S-K3-1BzhiCBJpYE5Moeo1mgYyzJi1Wiagjy4F8rkJiitcBFk6nyT8r87JlUrEcf04cUWt1AVqWzCvfanVjCTuggPlxJzaIH7P4bCS0k5DUrdGNbpD94UmCq63LqYhY9wg_bv4bwyB8k18YOHbHUlacgGlm--LPz_i9eDVhAXzC_0kCLvhF18BOhKLyHJpPjkV3u6lOKbnQlJzIrPXGRZr00mn-0Vjk95JmnCWtkIzMLKPD2Tf1j29onCQf5T-44lyNxp6CghOH3UwSeYsa_8e2V7u651HYUcPthrF1VBSaqJ8uLHujIi8373LYNrQQTEYaEtiFrgE1023fczHoovsnbCEfT_IdsXc_e9uAzDF7tlrvFy9B0J-NLt3V_OeHwc6_NKp9tpXZ7UKaQ6oeVxN5FO4mkM-cfNuZoB3y8ERa4qghoMjS-SZQ4OPVin4cwlnhGvyGJrtXeefp7_b34InvJQNUgMQRplTKcDuTbjQELrb02A-67_28C3A8RCC8mHFheRd8ZfybO-1Cv_-byTJTEDXc_RUR5X7AUUNEL3CIYW6ChTTmuotI20FT4vGpMIMgveYyNIwhXBWvWITDcB3CfUAWVMyAxd4wEOFgp4Bw-W3dN4e0QmXjGroQUsyyS5xINq6N7r5gR_ZG35j0GAk3qhih4G5y7WwRCCsKwJzXjKNc1eUCzbwhp_UZTEX4HUsCzfI_19EO82VHpOXmUp44wp1pD_hc9Ijqn7X8xyGUhuhBWMfZhjbFmd9vOJZUsgLJaNQma_L26hFTRd7SpEaBFwZZtc5ODdd4rVCuy7oViacttaB2gDT03EB8eUz1Z1wms_fhcsowazLG6stAjN8hKmz_9kbcnd9DYDU7eV9LYDLSpaMjszjgwwyWaS0jssaV998VD682x6Bf6Z1ScXEC3t6_28ddlIS7L7vIcNaDSGmKnh86Y3Yc2Qf4O_OH5YRFf0-Cjq9Qv4UG3uiS4KNDoOXuEGgTeOtzKjJ0Y9s23ztiFJKVCOSJGGl6YByKfzZJIrQoJO12mJM-pVItkHh-is8Wh8QzrxL83IadpDP_MY6u5lwlvfwAgGlOLFhn8MzHbKYUbR35FNAQyYX-m9fYfwJmLdGg5wKVfx-GImtku4Za-sopigKckemVIrILmRcTt9mgTT6DSdxk0Bv3k2eChir-Ls7XfOpiFIcpgtPcn2LkQ0djEmq5DrJAe7gwumHmu7vvawSlxAbzjPybKZGlLaRPcBJhGz0nsGqG_s49pYf8d_PhrN4w4tCtFMz6ecoQqvxfhwRGMAXDL38OtesRRl-83hUCke3gsYfAdq5EOC92c4hTYQ-AhejjqzA2uP4QSQ2dqm2BlP9D6-kXwu2OknxGe4bwNCa5d4usZH0BA4MJRvxZs3sDKKb9EWoVRwWlAD53Pot5uw6SP4dB3QTdO3XDsp0rX3x49CBjr3lEWSxjl9LQyoCGAbdfYG4dhCdTCE1LP0UPoltPJUsIOUr_UfLitpFeFLRuEtlQliA_vgkzxCczVI7xTVMqOtzHfHWfTTb1o1dUqpd4tiUgCNaIWmTXJlGUgdVJMY-FpjnitEYOSHiRpcavelhEr0P1mkOXf_Lh6rn4Q81Dqln6KXV7YgDx6kLFF3g4fJKmlE38Xf86n8ozVQ3Kc9M5R0mfFX_sTBwlR1aFrSP9mvlPWInEDfr5KCyqB3GCelWlOV69IeOszzFJyqoWAKDaWJsw0AqotkYPP5liXgc8vcPHNFbXUADD26mpVGW3jNC1v6h9cSZZRAKF5YK02vWvymlZU1zGOuW53-HIfJpVm-LZgQMnoVcQ5y5wm8cXwSNayzqAe8MZ4v_ob8Hu3yVMrb6bJMbi3Bopj3LDZMCXCZV9ohx0NXRevKF-QxBK6dytup0ag_rWd6Lv3-YdmrsjGchM1cHImmVA9vqu0gJ0sead8Z_wKFXREH36ERsXvUvk-qZm8qvGMnSTjjtIsjDawBUn43HARyGWBn2A66GIXK5XV21m5aVlIajRVMMxt-o0jiW35SowAea1RqblcJ-1htQ7t_EDy8JLpI1XNl1KUkWMFsuSGbZsp3YLbL-jVY4ON_L68fZjyFPzabvDOjFoHWlYevIs8qlJZa0vadlZLgB753qoc-6Zq8TclNT1w3fPpefXECdyZDoE3tks0ZKi-gpp0v-sJ20gNU-8oB6SAjFOLORxHctuFSvAZl-s11QLJxlTmz6O3f9v0oGQq9OR9qY6KrHaPutctmFPx6YYYNzkqy_Jl-pXZWlEevNw39cxLwjEnt560qClosPx1ha6vp0J_IsK65t4yCyRCWcq0U5hqiMHfDM0-lKRf5tkADT4Ianod0qIgdr4aI1vd6_GhkkpKhhtAMNv0n8YmsR_rRprNBGvl4FHbEpcmRs9AV3LGYV1znpw0SdcYfvekF21YmZySWAgaK5Y8Cf9UaXuuf8vUxzbKvf5z0il_RPvbMkolE40K15irri-6t-JfMWXoxMJvv5SnH6lxME09spixC8R9SzZMxO_JcLvAe8KVPQD0--kWwZ2Mq27C_A-Xu70eWxNf9j6jjKDrokvb1CqVhGKKyD9d81X76j59pntC3viTwe4v2eC9ZB1AFPWL8iG8_uuWFhdq8SDqKCR_1rTDHOJm-VbLOKdBZ4paYXnbXcxhPlAv4rt7TVtHYXafyofDoswgRZEUU5VN-PIknh5O9e-vW4JmTyHuGiT0QJSBOep0FSy1rPNUBfvm8G02wgaqLqy91QJC5aoOeizNP1iGahf28iN5zEL4iNEOm_Gi9d5m1CwFZytFDWvMawtMAtTsBejddNMQOjhMl1t7OutVS8rjpaWVRBRCHh6OiL1FDrz0mOtVy61RHWTlRhbE4smP_4_hrxOTJijbwH9-itihKxvzTobcJSBppJsmdOqZQr92m_CyJh7bKTAVbftIaBtUVwayNKHr6D0sfXg7XmNHCCW-uMVgjgVodgxYK6NdSHqvcMM7niwDz_Gk5pFiDpjRMxVSZqNNAKr6JNe3rUW7uoasPDniEMOW_-u-ByvUbNin1t0ZZLk6WiwFDZ5zdmGYGtYVnq_zCUG7Q8CyYz8XS6A0wk02sn1coY8TiIAOntAMHPRGTczyI-UIfMNM05qd6_SW1sfWKvQXeIL6OvRA-eDiAjKa-gfxiCN9Tmw0RNhsp11cF0wPlDhTj9e2eIQejJfoxdWE74tBIGtlntVmZR1Idg_qnF3MqNuPPq_TjFQDmgdp8Bo7N2Gskpfpyeixor4v6nJ8Iu22QRGponSHdTSJ84yVNLih_Tr1j76Z0UexPXOLrxLtf7_SAf_x1dCEl3yx_sVsmtrWTmaBr49PmxhwqjnI4rAlrPeo38YjJu8GlNgNQ1PuYySJCh13bCAUxRTov5gpSvc1aTqCjplqz4EpkZ2DHVAc4vAH1TBLOhJNx9gnAyFDAKsl3-0CQtY3a5xttjO6oIiR9rbiSJ15yD9HAP0QeeXGZmMFUDFfe32lC5sQ2PXPINo9ZnJQHdaM1uyDmHmdTy850b4JWZ6ieP6rIXUXPPVrIj51wr-IZfn9kNDkXI0Psk_PdNtV7mTudfD7I290G6PvjE_0NzSzWPuf3nu2y458m3pq0k1YZW6LUm53txdn25mgZ2qJB8F6Kzw8EHZaYyNE4W0P3s5FP_xG0D8Bcw-XJQLGcMdvWUcc2HMY4eQAdIltKwoYPMrY0y_KevUM0WSb5JzEWY0WXTKfp08t268rsuUeuPpC9sh9PWhR78ZOMiovyjghSHtGWZKMDILmgqz6cIcsElbQPc0QvvW8njADiuKEZTUWrksUCXWVuPOhg29-A3cOEKJRqM2EyIILCfxl1ihDIF32m-WzB7zhpW_8v1ZF2Oy5m_qlgYsRosvyrp9XyuQCrPqi3z0Qg2gqbjTnPIAzlHyQAPHxJ-oeCZbGyBZ2ScScKkrrVkLtYuiOKXKc6IyqxKW8HbTv_jFha6L6uuoNgeMyuySyG_QyvlXoV5hSmtL-G4Uu7rXgaDSQAUGV9juiN0JiBVj5G-AhMs8yu0CQuRr_C_ZEzitsRZAfV-lxDP7Q3PNUmQmC_6TfpaTpZhJtsimrSoOGMbsM33UXKCEGriQrSURityXkOlkY6hPAf0njT83yBtUwf80tqI_EREy71NVZ9fBdJRhsnxTTooGbKNvS1asCtD3yGDhUD4zmkEVWtay7lALNhoZ9U6v-yVSYdi1OemG0-rubeZbINadhja2Q_qxnzowN0WjxE-OeR25UVT4M4VAJETL8f-td_bUB941FLBhdhjW-lBKCDHJt1AfitxEqAaQadzIuPkosiF5Icgho86NwwPVdhZWGC-CRedTP3UhkXB4t3BoZvV-piTCqnKB8LRNPAUSoP5zLjC08X_dK5PgZw1hohXdGafK9LuH5OVs_QzvnfkwcCNMWAl04T2ZbWpqBBcEFZhWVcxfL3poX6WAiEKJlStFWJ9S5VMTqJjdwl8J_3aCo8mrnDQhc2eDtOuXKpwWuMMBUPDn1XknMkBcQCioDBY10WAGvdaKRvGrW32EY81k6zPGv_wJYf97x0wPR15S4YljFyFsrKTMnK8jNfLNd2UuWIEyulQ7217_T7vyTlPr8PicKvJM7bWiaQQFPia0og5QBdosnyRlFXMJ2YMKVpcSJMKHrSLBY3c7-9-cYNuLtV3sYdQO4pCmCcsUtey5q2f1RyiJDfexmvtcktlsGIbnNNaYLK7Ld2GRpXChsUyu0P5J80vPiyecGVaEWAOkwiBX611YER9fLBC_E5VRIvh5h03fc_siTjU32114H4ci4ExflnpwmqfbuJ3A1QQ2_TFNpP91phP7TcloCZAEPJdqWvQVBti67ounOYTjsU_3UTCdBe839HFRvf47TUVfzr6XXWF5SKTzDtZc1RwEMOcBXEKPokcVILuqdhCSNOkVIh9vWSAj2ethr4TOF-iH_y4dQkK7OqHwpOzkhsdPtrhDO1XrLbocgoVwQBqk3ZVi2ztO1xaGDxoVRxPp-FjVdPF8KIWyJBVjV9ZQNHNyCY0B8zq-d9xHeYuRkpQioCdgXj1QkaG_sZ1bmEThBbZbu3UuTrkegcXJorfvX6t8p4hjV_DUbrcK85POlM7B0USp3kjCwEpPZVTAgVvv-hP6lV3aqj0eHI0WHBmUKZQseLP1_0Kjswty7sTNBCyfnIwHz6_5mA9_DxYERyu8LCEBWfi4EcH5zWOPki0P0sp6renn0Sw2nPAN0jmt5Se5afEk6edP1NVkrHNgFHyw-7jU0Wi4xWRJ07hcj8tjEGIH2RTUW8OIhg4IgGhRKq30QCxQesI1HMDKhW02NpLhyd3XIb57dzFsZ4aFqMfFzde7UqD08BykDj7L6UCfdc_PU_NlhP21FBHBNZjwUeFJnDl_qHHSaYuGEdztQOZcuwtuhTkr1ORjOURrg-H99wYxMF38_90JbbE9HxpWOgX015AavuyjNTf1PgxGcvYrH_0EwIN8s4ibmTbRBrJxoXfqTyKj-EKByydlvoWDI661kY2VS5LpYuehQOwARm22Ht24WaIoVCxJyVTX7EtY44Y4FeMYHnscRgZnKWrtZWrk46fRPR0Vs3KwepYxqEqPpZyE7-DwPo1meFZa9PZZvaAqhlCU4cmr_AV8GyJintvlE93EWZuoQwLNxXfJkWbdGRz5EcnuSFCD8FJKnoD68TiqFC8Ju1ejWO8Kx8bCS-eWFn9pVJ2DqL2cwA3b3AIHJ-fxIwwUNxWRR8BTiWNyCweQ96WtKbQ5j4mkORcHkjWXPCtt3ZuIdhazLvftYGm1AU02-iJzpty82eq8LjIMEFktdK98xLA2r-1S_gUN65vIDI8cj9zj6JFgL-mb57HWGOYLRgKkjBNR3k9_oaSS8y0p9cgl1FlZVoDJt4RvQFutjmHzxNF7W4R3OJwUocjiWYPmEmwU2GMmcWBOgw12UoX6mNNsT_OVGI7TuoAdlSjiPlG_bePn9CJ5JvXiiryaai3tunGDN3qdBqRYiXAWwZdvXit9vXd1scP2xPr5hGOglIwC8L1gVBwPAPkckpTCjYz-UK4VvK7BiVy1LK-CA6-5xGtx018_6BPULa0rC3elrG8SLnADTocyaltwRkBTzdD2-Sevt45TRaujL3L8oiMOENUyTsjlrqtztagxIDFTVkJCsx7dxsEPG7CJvQyV-uDOipwVzNhzYMR5eqjh2cvJ83e0TkW0rrsVSHqkQDIg0R7pxuWY3jy7UGHjyo9brUdgDK9SWvZQIh5RE1cDkDSvJYUNDZRcawFOuQTOSHDd-lrvcaxG_bq8_TajSN4tJ6ojKRDCRY6pFXD1S1C-DT5ZIgtOaZpFMppl1ynqj5MRM1Jp2sWnJdsISPiMZ8xSr3mI3HYC_BXVjBwFkNMNhqpLzbnP0tuMmL8qiB6FO3d0NgJMl_J27_CKt7GEm22tAMNikmG6gjel7zBNrgLHL1N_xGcOCxHxOTCWHzz1Bco81AMwUWpnVBeW88GsDE0KFYfCbhNo7TBgficw545rjZaBVdhyHHHoX9wjuHLu1mum1mw2ZUuwra5qCVIdX9ts02SmiY__ZOUxoHDcaZWBxqGdbM_rWgv4DzUbzXwiSCuF2tOijE3Mb8XeSmH9hZW9dwm4Wn5zyG7WtedzN7Cv57q45wyNtTccFyY-es2PZfiErsFQof4foU8CPIyhHSMQ5lGbiXRijaMatmhy1tfN2xoFruPucwARx1WfnfpT-1eR72d7BjGQxleJZM-EbP7gJoWODi_9YjOqzkc_KAsLG8VNNhAXWCtdT_5jUQzE2voSyid2NpeFgmH3tdioEOsjP0Q853UlImt9pkMIs_OD0fe1OcamlyNIOF63h1l0IMa9tE1KF3_A-ARdnBeOefXrw1vfYFBHxWt3U_h9VlgC2X5iMo-Btt5qITw3dorDA6AmSE0JYyTJmhG6UFd4LSLnuoaH_XfFFGeGsBPuQv0gBRYt9Vsp7D2wqjmJm5hBCq5tJeKHLKTv6yv75Jvfy4wfmenuigXk_b5rVdffp2NxCOHX8Ed9NxjFhnRgXZn_fsSQInp_bRx7wskxDsUZxtYxIHObdIx4ul2yG8CIWwwspwdIFDRjBS1RfCiXG9aFLS91UWX-8zYD9_hx853LYqXAzASYKtLi9_JVLufiOhC0fDATc38QmsgnrvHPdKpwT_60i7Em6CcgVYAkuPZUpXoU54GV6U0x3Tx7iBJyZQ7QFC7lhNd9wNnqDMx-8pKd2mrNWcHa1X_8ka0s3WGsTNiCo_JIbiq7cH-onSyyN_KhfkKUgCp2BHmKrnuupnrkV5lWxRGBJZyZ_fJelAW9FMJ4G5ayJA3uBOtsZ_iYsFgFItwHDIDC_fgo7_L2lod7XDegVRRbEKabV05-fu-QTmOImWnemO-9rnsHIvZqSveEK6TQa1877TyoZgrtiGdHuAIZWsqOg6uvwdhdo1SYsdd6SK1VXpQuiiekW1X6X0RDqFXJDAACd9wEbqoJt3e8fKDPRsFQaUv3M5PZb3FQa-UOou0_cdKC6X4xdCHFbIMSAXBRrleessW9PrJxQC7lbATO-NcCssS7n4Yc-RmzQ9FtcY_HSUIAX0Hsj5ys5EUuO71UgVL1N7ZE7lX0MhcM4l2CPL4TULQeAJJv2DgCM7JHMDc3ZdiHHHxDsn2zsrqhgMJec5rBEc0nyCO1EuoI-DYzYOpJ03nUOcLDvJ5XvLzDfBT6Ja4b_vzkwn3gXECePZ8uifg8ME6ore4jb3xkbBCPWW18UUmYGuoEnjGfI9M3lW2erSKEkb_0G-8LjS-I6ozcAbNZWHAAyNq--cBcPC2D1QYOukbXIfZ2nRstagn6uFU_CAkCG0L51UuYm0lQARZwA_5dLM0sjq2BDv7Kj76qTTiiD1bj0x8GcUo0zBle-1cWYn4Fy73g1yyK6SMdbwmLlkJOfTbm5dCPHvetzQbd3tAf5rEv0Zw3MAw12ju9JMloqU75E-eOW-vWVpUff5NTaVBCjE-U-1HWTl6yDuUE23dbZbU6q6FgSBEkKCAYC0clfOgdHiCjqaLaX6X0C_8HK8vTRWQwFQfBnUkKW_uuYDODHtTQegSr4ImW0Pijf0vvF5TzrVW0SjYDzGRl3bENXaBycWXmUm7-rhc7R5c4_qU8fNqD59Sn-i4HlwcqBOZYfkib8WCznu76g1xqIUPqsDEyfeD8fLIhQqV1d67vVT4txhsrJ1rSlGm_lZS7vjD4QJN30Ld9ezWGI93k4KYbaZ5AcTStAsHiIGI5kRNbh6C85H9uBB9L0LJM4Bo1RI0VLT8bkzA2EjREDHXFcN59Zr7Jlrn2QJxoyzVEFU-_RCQ8N9eOKQD3_lyiIoHqdi5MShb9BrLXqvs0AIvhFtHujERDDbnjSyFVhRToMqI_SUHjOkXG3uVEoiAOG1OXbDnnENZsOG2JA1bzl7j54kgKQVfajbFYQN_MOhrre_fTsezM9z2Fe4My2txtS11NuZ7-g7xZwogilS_FU0a0Ao0EKsWTIuJHg7j4F9QeZ2NEWf-b2LQed_uHAz3gVihzxRfwB0GWdfGULdYQA-ne8CPeJw13KE_6AaY-x4sGcGcNTefkBV8v3NtO6QMrKqI_DHKq5hQ5Xc0D6IgWJWaskQwnbjSh6BoJItLvRSvEGEqGs7DrfRpn7hxYTN7m3EZ4qsf42vAT8BPQMjxcXyEXEEgqobJokMArArcbvBiyVB6nEoLU0Dw9O5zIH5weEAzIFi1DngkQX07asvRWrQUPOKELPFsNCdqUGAwvMpoVJyBIoi_9kapyFjGNZMJIMPGr1pj3zIRV7HW7isRCtrl1N9g3So-XLO6twaEmKP8CCKVs0ijdEca6UY2JQrnPR8ZJDQilj1gsqfJNbPi_3t2r1ansSBKqc0TgiWSfSPQlPk9DRq7m_ISf21YYv21RYgZaP24xXHexYM9uJcFsRaebukt65E_aKuTju9OaFJY-600V2VA-oRJeQ5UZuLTCqvRB_IzNzJIFdh0ZCAM1yyzNIKgzE59ATFktMaSAZsonRSw617fbdl9KtO6H97LhLd-TckTmmuMQGMNodh2Lev_9bUJahjlh_spudJiO55xEB1qrKY4AtWIgSW4OSJuvILWvNyAYCsRRmV_HlDs5Y7ta1pq1L3H_ofPT8zoUHG98mrBLjpVdEyQDTv_edNixKCa8QCssqY4SBOC5y_BMMRKQGWcq4LFnfjzkeZgVDjNg38L9Y9tTagB0CB4apwmdyPD0uyEVn_VHnprO-VTcvQOU8qWIGh0AiBUtCkNsVNXUTZJhvcwtzR5Tr4tqqAr7jXns_LetflqKyBDORZ6DBPI0wwPrRbtZfveB6WIPmly33VegPEuxjt7LDRohepqZBKA5Bfb6VUEJ3g4v4BkfcV6aJrbPzr7Y_00iYe8smPD0VKMLkS4efLwPce_HZkfAQrg0DHE112F3z1pYeP6mKvlhVqVIVbkCp5zxekrCPK9kAEOxHPOAb9SRESzU2Vp6461O9jalHd-zOJG3ta5ORg4T-kFikBL2kO9LC0lrIoJqYXXuKBzuQbAFAeDb7sVOV0LL842xxE1suZLlA3ri5alDPy4XjfYv5t9SPtkhJY-DgOGZ2tcFeZgDK0HpFzL_5k4vviYjUpk6uqVplw2COGB1NDN939Ovnkzz7qAFTdFxThssOwJ3lKDgk2VdUknqWE3Uwh40hlFGxLZJc6Ql2sFa6AR5NhraJw7VYq1MffsD7l7XWx0HtSKt7EQVytCiwGQ8ZLcuqh3Y6yvgUPMEEpBXHi294K-W3l57Ko7mND_w6uOfvHwQ4V0u_zldSVKkZ6-tyqxxzxjpqBk09TVK8MHJ_c5dz2e3sJjW1HN84mLp1mwQiiFr1PKyNIMWUx5Xnjm0Y9ugy7EuPJ942M_EioWitgQ2zLMDFlEf5PRQN6xiDMqr0O4P3zNFjB_yIEoumIepg0DvtPdZJ8sTPoJQpVdDRO7DS2Wr0TNM9iBURs5iaWplAIZFdfHA3Pb11YwdJ8LJiMXUuPvsI_hGJOLgxFpohKVinD6McTOoVzUejaTViN32r8paSJVzkaW25WiCTpRJX49XO9ratepb8bfvuKe86EQYKCo7lBv7JnYyTHu2n2k9XLSxtkRikeby441nDrN90p9xX92iUl7waXKx58aoVRucyQJQXlBwQckiTgwqowgcNBlauLwx79WrHW2f54ttsxVYB4MzP9r2g9uoGBhIZSoEmjOX2Uj-36UryX2tmrVFhdRloVvJSPS6VwFsg66Tggagxc1DuMoO6KqUli4Ox8oSjMQY1lGBuPgbhftuCqaxz4uqZI5PpWXmStfYJI0YtUcWoif27H0G7b4lhnCz_6qFhCFd4S--jec-YtcW4vU1IolfK-rLcwcxXWkI49spJqTxblxkovatplAlpp5EmM8jtb-NY06fFBK_UOFn-S05cmrWgISzTbDNaLJKKYmkt1ZCfHPLgDcoyHFHTk0GTW_bxQNWWQ2_6I91cgQpVsOLuzRvxDDFz0JnUA8ul4IxLoIHIYZX6W7HntwWhv6HAt2Qzg3nOSivVnrmGylwl53V_CN0t0E0vo3ywuv6Goqnt0phWTr3Q_ysf89HenmL00JWPKGShh_Scqe4Inzeu6TiAYReEDGIVjRM85rbIlo0mfdldJRKsXhntj4cfMaKbD1SuqEDgXkd5rsULyAdxDO-r-D7TymHvbSup-LRoiRIOY6C7S_uBdWRxy5foSqzgYyCRC34gvLlcUDxzE_VKhlXx2-1zmVkxkRoWREj72Xu8FOIbCxuC2eWUa_P3qmYx7si2QQ2gAcpulYW2apo5SLk2ZU7rT7aM7qQWbZ46nIWs_o7Jr0h2zs8UnINh7xHcfil7nuLnKv3YMLRG4mClA1pX0xxkdEL6GMgmcm4wCmyfhv5sg4hSoMh425E9-eZbmad3eKluZESAVG759_4CZbVYneNvqnwE5Rr8FevMflhIlsyB4n_1K_NThTKQvsmJFZjeY1CG_cTfwuKhjT4v0JeXvpQxKhK2vda7OHfiOAOPYSMGtdJ27vM9Qxj-Tf4wjNiwBENZTvvlWHmfiZQh3YV97fEy9aOJTsXqHwemog8OZWOwGzKJLHmq1otzm1VdD7CzNj_mVGSTLX9V5Q7IK3n8DJiZ8m1KGurX-NaCcx8v_8p1_0e5AUoVsFAg3-qqyhsVP03DCHf2jqbG-c4ChkEJWbnyradGyOFlt-Y_RWoFbSUVKBDakZ_WJnTdLJwUsTHGu51QS5yBSUKAHhp4D8vtTKGHwEtpOePSYS-lZMx8l_iBkR-NfleVySeoJl2iQb0rJdQ7JycwJvAo9zreCmxhbl9lJySFRvlpS8qVK8JhkCSGN9YuYgTXgEOGRJiYGrztoAAqFV81viERLd4hW0I8MheJK8X3ITL0X0e7GagZsym0GEs7fse5XShuT8kFp7CNlF9bXD1-KjIF8kXYUigmwG7re_dLcGQ6gat9jDICFEPXfXqZXA8mdEii1ZHoFuM9H2ZbLplXDiea5EgxS0jPRyfsHC9IQ2i5RghHB3EOL9ghbUAIGKj7h5BrTVJT7DewfYsNgDyQVgLrRqA5S32qxP3l-z2mWp3eyflVZGtL4DBYb7I1Q7_1ZPvrqR2G9Js2MKJTbcBXFuVeYi7FcAK5Apo2nMptiXG-a2hf59L2lh-KM2UxfQskFHfAdbacnqW9nvwuoF8HC3t1iMhldPkmOfFlMrTirCTTdZ9O2jjgtAidfWIdr8DPEhKEbTuDnpYmRD9oYtyy6Ir4mmPaOsMjeSnrMA8Jjtz_EJvzvvWy72EyyZRwuN731pQG677XXwL1d3ezFbF5MqVcovY8fPwqcuf82-SQfqDVJI-dcu4g1LaxWMCeDtaB-9iPkLmJW5zige2OGMvC1uJrKoL7fLYrmzXYhmNcSaU4YMc0Spaa0D1J2ufrogU6pVcSUf45xqn38vylcMJuVcltUtjCGqaMTEx6_ndE5LvZtfSQVsbFKqc5-J6f5Jy7OA1OECnm1E_Pv4B6zJPar7szhcR23vRPPV3s5CrFQmLw1H7AcPHqaedmFHwly18GDmlrh_KbQ3PqJWJTUfD6z_fv4FaXmJG6hXBc_fm2Z0MyBjiXUy6NbBlTqxM7O0e84xCQILjvSL5RJKvRNS5NOBYvZpEUOu97aq60bJ4g1IpCr3IU3Ng_4V-d7f92HeWHUcN3_O-zZ0c2L4UtTTLiGczWWc-TuTm8ioeXc6F8DWDucdgL9SXgeSc4NYr7il-2SxGitbguPHaQDzws9fCkoRq1XMX3pNqP4DkXeqoJTh9pJQvmR2z0g8NLmf1ZsMSEOGV8cJuHm69NrYE2vhlpu2N3K_hI3DKQ_7wk-CL3hE7RWru3y3EcV01QY-vj5GF7udyxyJEBy8IQSn2LoZ9Xja9CKjJKBTxrQb12ZHuJcyMqo8hbwREPRw52w0J8a_Fd9Yp5DIEBypYXqXJr4VK3lYZNZvXrZszXdYXpd_R3zoxmI1UKKS571JIvpuXheHuqb7U--ggEVbnlITyCJ2oaw-mn2TZ0SIMDpisL_5JBqOgJdmLM0gfKKOh75YBu6mvE2H4vAXOHE-FitzFviKt5_o2bOCn9R2c4gceG4h5AZ_-3eVKtG1LYRgTWZgtzVngOf5If1T7Ev4sB4TUNG-MbuOOA7BerC151Na3dD5sVvmRUI09OfZxgYnYLugs1P48nlodtgeR3aA_LDLY3hY1ype4PFAQeyU_P2nWz9DuPAqDFzV2SHnE_DSNXdktH3Ckg-wwmCkSM36B3B68iUKkmtxB4foi1sAD4JlB6ex6Dv6X1-dHpzdjBhXbVWDbpsQGKdYsyQm0_eYZ2979RFRRD7H9cnN0WbSKe5LhWJmlSB7E380d02DPdShakvjoB1zOqX-2t2C5HFqpht_PEUhYrUhfsA3lqxNHbuInMe92i_R0JLE9EhYQ_2T8VaO0g0djC9cUt9gy52S4vdQ9W0lbJFF_2s9YiKrRZnodNKkXe0QqK6Rk_IQq2Z3elksFCZ9S_gg2ZQ4TDhdRZvSRjmyMr4glKn0ULbaM_iw1lza2b1727IlWrrqYmsI8GiCB6j2tB4DmaQz1dAf2famZ_HSNww40yXNSGX3uLOGH6UlmQWjNJR-wYJlHzkAqb5jcxnJd0i6Z5CJNo3Ayb1JbMnhheIp1JnM_yB-Px7fRrGL_Ovl_Ml0g6WRHzbBXWhhhMSrImIn1nJHBdH-fvj3FSgvNFAsrch7riKj3FZ-xjBy2f17SHZYOfR2jWZFQdNFGVWmYY9zgD2OOYZXNJEwTttWTYYo0bf6mfV84T_u61yvVa0L3AX1xGxPSm_4W87dp0LGk5insneTLrFe0BDVIMQlh9F1E7GmuH37ALvD01cxVZa_NAwVRcgneRO45CcZCCh41W3AZ2oFCuFsHGmV-sZ4v8jvqyMjPA4VCraDjnLaqyr-NQ4J4waEcUsCaWNW35VbFL48L9CYuzggLWc7RgS8RI6SNeUzRdkkDMrGdHK46CsQIecGU1oUFS6rgIOx09IT9isQxfCswVS908O0ubYGu0GobxYmhH1A_aiaUBQoiZvkx59d9NUCmchqcShId0zk-oM_e-3U55Od6pnsb_1OD3gvthnxP1ehwXMyOIHrjmTqL7-PifgGwP4MlrlYqaQGsm0M9RyTnYFpDwP8Qkqw09Q3v9645jNnqzb9X8fNgpQHs2VZBNHVVremvBU-NLDcf8vXZDd_M_WdKJRxlT6TgFnCH4tah1IAIUkFDOa5INTtUYiEqq65tDjnMIqPA2T0uKbgmEMyQjVfdxoqyHYiI4nkYZaOS6nrjDy93BmHUnX7OuQprIXSR0U64Su3rrQXhmDxJkO8sw_SSPbOhPaLaqh3-SzSL9Uepd0oHyfSct-Y-2Lzn0aJbgugHsqshdf1Pah2j9eO0TUAlM_-YJqTvgGLZFOAm6FBaMijLyf9G-XNFxWDIQ-a0gh36uiSdz5-uoyKT1pIcEvpNZvZmfAtRStcyaqJjJ7m9KjSfcb1E3Ys7hPdilAhBwvYFy0gLSuLZ_XFa4Uv75KRFc7BFfmeJuqyHsQPS1qGH7ZF-QQq3yLz6c0cbur4VAxkRpls0Ehoj9wT0vy8_nA0hoLKsK7Rn4ZMia8sCh_6Ddw10J0X0K8dWWI5VYNBRHqQQvG5eFOxyNmqp5JdLyJt6t3SS8I0yMltJzs4R4jSO0JDLP7qT5JM-jCRc3Qz7MHyqjbszSoxGpy7LtU1g2hr5hHCcBUB93RHqzkhddjqWUhjFZDr0MdpXQes_u76PU-XkIIPjo7-bPmFWf1pbRa-4M59eE0PwxhFo6DUf3KNTD5glNjOVa4-0-YwCyRCzSYplb_jZshSjqVKYhpTX0vJ1-7uZgUrhpZQx44iQAN7QBdw0Jz64IWlfBU4Wt3sfuX-meIyZsLFbqF-pWgN2gShgMtN0nWCbc5igyZ_4371yvKbPx27Q6CoMtmZXeCwLFfFhdNC26ODyR7LiA9qgS35kVQ3cdvny7OzSJEPOgZvxqpvmoOTJeQ1FOOMEZGg4FlOP3MbsCqyQxefRZ4-QvSJBG8nhJL58RTB8952azpSl-kk6SUsz0ZmDlEBRBwAT2yu_99qO0nlWt2YSPhOVyhqNwHxXLDJNFWk-nQAnbN0ebokahaTbrTnLrtwned2XokFTMPqjrYffr2_f7VthS4ehaiTnRVm8Ix8Xdi8WBV_2zVE6VTp6YfOccIqZ4xyVWhkAtjTvTD2aFsGGX1Ad4KxezTroOFQhGxwPeY6EB-wmeQlEwLfzh8N-Rs0P6HLVv4U6vtiq2QfJ11RBNlnuln_yzmYI1KoiRR9aKXtPF9gIS8jp0tH9J-y6aBDet3I1WecfDRu89aJ3Av3krwygEyzh0n26jyFsKVpFEfBh8yI_dXx4w_vdvVNUOfQU4vEMdSrjH5x10MEkdi49Yhx5ahU3DSiwKap2PGdSj08X_rWbYjFSxoL4Kq2oYjbnDV1atgUOex5dQjEAxazDeBI86xqKLB85MehoWONeuXDI8qsEbnAUSloOUfPS2WVNBSyTnQnTjauF-9A7rADafR5MPBV76RrpiWQcE61qngPdua7wLy7SjuCgo5KpKeVfJzPjUTjr5rlTS6MJH-WFMxau3OOLG4KkKyqC1U1FxSlyHR3sb5JcVW8jAmslMPdED9YZgN2kfxI-mycTUInjTRjacEIEO6HU1xrB4z-82P3EImcGM9JgqXkp_3yDJe6Yg_NYh3I4FzJwT6OqkTzngPkNzeo6l7kkdFhrx0o1Gv9MkfQth-EG2AenqTSu94nD2ecMjlvfGPTOEjK_AEQUgcunjbCaQZtHaWqmbC-_zOCrtuViv5_ERql4dAZi1bIp_CYYS86yPjN7VYocnsTpb0Lma3hZ4Mde6roaTsounvMcXSEsrINx1uRL-TSOEZZgwLj8W1Z8yUVkZQtcohOAILSp29LRwI8uJC8uwUrQjjeIsv3lFzIVEh4V-cOXNJJPs0o6gZdpIqwX-OtEhpho0nsq826FdBdE6LxZrw-ObDGrH0dyUpQLcc8Jaf0TI85BW9a2nQzZswKNAgXP5Hrb4ERY9D1R4JNbrQJWUzb1kgDUMvS2Z0l5FzZxCRoMs9l3N8UonaCirZnLzZpEinvMZ1WCysp4zkvN8_FuyoI_ZXXqpaIFKIe411cEEP6WOkYsgwCqLmW1O34IC7gc0Eo7X741Azg2hJS39mNRtgXcdw5VA_B6_-e2ZL-w5x1NVizh8p3T8sz_He_SrT4ROehK-kII7uRjwwdm3mLlvpkgkqFktCJuUUGhfLi4C-4WuVEA7D4J5S-lx2czWERiQRcSw8g8521SncEp63nld4TMKB0XxmedFRL7B-xM8f9nkBZZ89zo1MSwpWDh8GyKqutYApA-ItIS9MLuAORQNdsfxZ1UT-Hy_LGR7USlJ8rhvijzsI3NpTiVYVB7Hx3IDWFtmIAioMIQ8XSXzazEmvNv-oWuU7CWs7B_1q1JPfkIU0GXMLL4YdFOdcNSAq4ylqSMuS57CHPWbmhF6WAAC0Rzdr5x7cTa2mnAdb0RB3F1iESltgsZ-B6yFG-_teAzswz4tG7EVW-3Hywqm8uuScP9qgjywbsfJWTC5_-OqkBjH0PRLKpuqV3u7-2m1OV0sI0lzeHb242O_NBKmzwmxp35ql7tRiZz-QtaxWGc1WmeecUn2nIIAh9kB5zDzMRI36LybnjnJJpf2x4K9knCOgdLC3AgY-06L2GJhLxapDqKBTrWKBBVJO-OjLA1sME7al-xleLLg80q1aEYy3Ik1ggSMkV3T5LFXv3tadLPEbMny8aPgga0OCLvY_Ja9oL9XJsMM2eEO2lHMzYhDJCD1KCk3tGeB5jhBuFu7sEe1olvR_Uyp4r-WZ0y8hlxsTcQu4N2RGQYFmmZqRAguxwabu93-aibrZESBgyeCWaHlbNUaFod_3XSfW7yBxLgJAiOeQwFvakyCGDhn_dxHBeti7YzuXxKG1pJ6Gbs3qqMAPkqrfseFmwkrGKGjwevbgZ7vM1nr7wJKoXwg7u8y9k0FjmRC0WLt6OAX6scmoIxboUfOyFQ_eGrvry9tu3ikoCIRW1Q0eUhbbjjxXPtOF9ddzqG3XL6Q4VhnagXxG8QNW6ivJhc4OKyVxah66vnninl4F4Rzt5Tpi6-xTTGYH523nr8XUGLOMZbeDg7nlYZ2mID9kXqguJByxVDAqFblUkn0NaHGjRCJzTvgeJMHQiEUBBWYKgXV87wLHZEfxBm64yqHYV-7XllW6bJ7WwdXcXHgSOPIXf4u-I1t7-7HMcuoDRHTy1EP3XSSbayIyiSbXL2pcXZme9LocVaXIJA_S2dQJXQ0e87zeTsKcfsRGN2wu3GLLZIpsBK8_XtYWSf5EQIgkoDmMYz-4SOKM81GCMTcpSzR_d7-2dynyisp10cLpaURoxQ8RKlkVH_bRdor7ppeOn0cfpqcMKjXwZ54PkOLaXnRMUAE5Plq0p-M07DiBu4EIl_KXkIJJOZMbbYq19sJf3SXoV3o8hgb6iOXoo6y1xbqCfUYoQOrXbSqe-3_4DlV5INlY7hHX9Ktm4n0aNG8zY-54deBmgLaSAPdQVDuDHXpHxy-xqR2aYnrGtSTRLFBCHixBlHy_9lxEKJ2PljSog-2vTWRiH2vAYmXG-khU6GsZ5glgZHKOekTKkbuS2FntzKpiUkKNl0wzKoou1U5wrooMgJ82p4JqloAS6qwoJfZ77rsXQSnqqZ6bkmbGgMPHbZuS49hCSSIl-7TE0IXnaSmftcjn5kPZHg8xjPVifBjVCVluudQlLIOOoveSW5idnsK42sAw73HpWgIc1q0Exg8pDYCJUUAs36e0x766WNnB1O_Un4erSI01NqzVE2tzRUU78PFRqiYpwJ9S2yPj1XU_lON18Nm-eG29nDjCoax2q666IvlzESZfkyyTZZchlFz-GxyenQcgF-tSP_Of0Ay_APENENHvFIBa_xY9c5fivV6qy7l9u6Ly2Hfxytxu4DhjvpzxtyaGLsTVSWUVnlu7Lft-eKX6vVzGJmbCrH_zCT5yjXbh4PjDbIXBR9Qs-HeF7oH8uQ-WV35wqqxhoxkddA2PUJay0bB6JPdKqL2TkiidSQJTbL5FFAKGUVqyoFnjXUxFoQwxPZuyxpB5_cT7ernX9K-CvBz5W647aPA99fsj0x_9nwIbeq6oaOA-aVm7-fHm3m6Zfo8N_IccoKiP2O0BUTOG6mlSEzOzDhXcvIumtoUH3XolilGa_2DKNsn_Zm58sLUNlckWCyK4lpiv0FSKtHWGlVw6l9ugPiRJVzuBmgPK4CfFZ7bAhzgmb2gpmt6WyGymQixRPC4m-bkodiZDK-BwfzlZ93h_A8PU7fdqiln45Co8-api5zMoO-OYHD_fbeAvG7dtPslg_Pxecb93-cuv16-__u7IgHmjZENB2SRV6AmwqxXDrCqjCdRLZpjxEvYnL2HbIipUIT4fp4zZw2tydKVo6C-qg15R4bqU84s850e7JxLooAl91ApSlrMU2gevfkbQEvLqnRXGB18XVVqLvLtqMzUkNBpTb3lWyzkqZLsUxbK2awZKv_mZjAZORP4FXZ6NHJ0UW9Hq8GeXi7IxL5IHBPCegwIFZk6eFCXBwrZwTL4M09_l8OIZyvtjFw_AZm0E75ojT65Wnb7Ynuw8e3uyFK9WwUnABxOfJxl5c84RAjyhRU5c8jdWL-3hGzfWww1vhBezRD7cnaZlJ8gsGVDB4HH5vEgqZhIUdnvwZjOxX81_h1vLz8fGiLvikbqMJyVnOpM5zXpAfASTy3JSQBFzMk1vZNdyt43879wXWh9XqVlEvKbJl2Z_fJsB0m75XmyqBLZEAK935vTMtatoeAP7TcKzN02ClZxTNtUtc1pCQm7M2mdJVBDD0aM2KVj7JyM50bOLCfv4H8ou-X9YqCuBZdbFrW5mluoNNgIA2JOEYHBUUecByDY947b3kOiR_ORosqVzOGIPxz2qNpAdqN1gJ9ipnrTCSWFE1Sjx8o2SJvkExAdjmgw-O0uPQMRy-th9thjR64lfgznuJf1BLU6rLss2Cc_nHpY7sepY3MWecvLRBd63V6PeO8hKxVapvC-J341yqcOOAXBTmqia6FPwTwbza3Bz0gv9SpT6UsHsJT5hogDSfyHukCyHVTSdkxmwn6Szg5jxRlcHU8VHuq0NxPonnOsbI-LmiR9Tgti7VEsaeN647BUriSEc7q94lDQ0TSgQwk-kLFHG9Ujf5z77usiFXfLCl_FNG9SBy0zCNpG9e8r-di354AR0xhCVFmd9f_T67UMiettFt6wJY1fAa5S2022fnIv_56vmCfeMsp-hJ96Ifxn5AzoSM4DkozQEiCbL7TlO_QMwsEz3OdVfrfWkXOzKNVmXKfDLhf4wr4UbMpmR7K5rcsi8zCSeiXEtNlOfvUsbrjrQbT3SpzTDdsX1GTLtDXs84dMDO7_CqslFVgMQScEQ2uluNEL91S1UuNFM4qjP3KU6kB2TtFzRoVtcq1T_5LfzuXY9LEtfY2dywNnqo3daTdbYdUJ7K-LFkhuBR_QpJ8kX7qDCCPNNk3qbqEMYX66CanZZTNcN0xOXWXJuFgurvHyD_zQnVqSa_GOU7A9Vz_UEdudscZW7K-vOj-XIJXgMVd-VzyC5MBhPPFbmbx8orcocE9uMIyFpalGgcyy8NTxYNwjQkPU0XCskI-ZevqHL7RetobBxUB21_WPv-54JYz1y2oV_LLZjwFAS2GFxYxTkmi9i1oLXpX6Bf9Go34H10o_lFYsLCSMoKGJXorwjXMZgnJiz1Ud2RhhxJZTOgfRlVR9IX2pjErQ-MNsCKlxZ3v5rpIqHfMYObB9-oUWMgnEGCwybJEmpkdcC8pl_uqhju9rXr_w4CIMuQTHIYrW9t3CE0JHov1cPd2rJ2Ndpz7FLtQQEdWf_-zfSXMC-IoSu8r0HTfJYRO1gINDxd2anRohaVPKAT3kSVwtWGb20444gGY8yWyZxkHjcYFafL3kbKAFoM2zDAehPA131H5sryG_FdWEqmcTtjHY4VvQ2B-cZ-kuBDKrGfn0luXw5lD7XnboDk4-Cmv_xs9Q04RHaPpOv1wOksBEXYnb4hoCL2iVdnFCpi6ckgWAdcVPzlf2RU8tK5flvQ4h9o_OyXtPlVo7_j7cSgdagZNyRMGSYMVQRDG7RAsW5Gg6YqQCpnLGO3h1J74iOacXoy_UeY8sq4DY5ntDaKPphMUGzxXxyM-WWDvGVeRF3xKUNMwln_zXf2pq1JF0yVuRq-TPjP8guaV73xt2cLwzD5_HxkXZ4LLsJMTZilceK6cQzE4hdFtjyAncLSmOgM2vTB4mkKfvtZ-FnTs3UknNbfRtktv6KTDYV4k8kMNipadb9QT6pGGEIRpX1nU5tJ9Awl1jJg-2i3emAP6gc11YWyyqqt4LQpKK3KebRwNCbC1uZA_UnqyLUXTjLiN1lavGPZ2kVT4-ktfGpRNbXR7anK_jLEVbS88GTxaMsTSKUIavHAyJIG7Kou6r6JFoV7WFjJmOB8FmbrJRruI8n_r-Z6npbIxz3wO6bM3UHU0A23tEJJfFDTc81AaGYAiMNfBbwRbAL0ZuHoY8wzayu0sZQBibAa9k79WGFwvMSrYbIDoTLBiA1EUw921PVGw9n1hDuElpL7jpMxozMKlAPejDQr7uRyZ_3cwXaUD6w-zj6um3k7hsYAItd9wd0Z-JpP_twXp-lfTPbVBzaZKbgwu_U4te-O5jYpnSAGGbtpWNM1MQOMqMhXkDd-9jryFnaCmIUkZBsnlDP0EVKXn2CGKw6YHOzp8fKO2kdCpi9CTe9Qi7h4JcWVwkUgth9Xtt0NLAu_7u0CqvBCIV2767xl5kYbiBuuk_cbgDz0LGCr-0PoGQYsIBxT5Pm-ETWkxamUFCoBwEePNSn-U_9xzbvrPxGKXtHDf5ohXVUBR7A21DIqwrXZ9GlDy9ecnIyUvuOIlDG6rDwEZiNVYIegSIAjF5MUCTLHIodpTq2lnuqwGIel8G8-IJH8vQkb8mlOryxTN8gDxdSLFfrF_bLT983_adpg-dPlxolbma9A7mvmUXa-VqYoooAe18LsSt0OlRX-PbZePwF9TlKKmc0eOaXPx7CgzBzimCODeTC0l0pnagDOAtN6VMxOOijuI1CILlE7TuHTdZgpUvKvTTFsuwWWTwvbEdA8Cxato9G7w9ARejBZvt3nvdMPqiUdWk5xlS0DSne28RlaKBCTCrqYElSWpRLUDd2o5fCUwojLh_jovuhRxHzkYW_4eiw3PEe9mmQXD8n_H3q7i2iwCyLNP_eOqxFPz9y6-L3z1_WwAaz9piwLKkt4BQYk4gKMIxxIIMg0YJi-BYlFN79wY_YYp7ecGd8cpO22CfBRnfDDmyntGh8ZEWqhVYQTeJa-t9_o49TwY_XOTmJSD4qldV5FYzSBhGscJ8dACGIJZIshIf6-HAy3_J879gec-v3OBfXNGcYkJtWLPK9Jpk3h6DztJFrivUH0DRxCR4vVIYmVBEEX5QusGJsKNHNrIuXwl8vlYWaQLY21X72vOqK2FK_Bg6IZ_zrFWki-UEyyM4seeEvPpBjBRHEBlChicgPwirR5UP55R56olEYfy0Z44apJk4Q-2FvOiPKxPtfvr1h1kaYJCD7M-InwCONGxB6jYQTkJR3TM6HtqAWP4ty_1MTg6CZi8aZ2_nGBk2tLv9SeadnQ5fYHtflMgkHNxNAlIIzmNI7mLgsNcECt52c0Un5ps5J37DGL4SpGh677xCD6L19MVqIuqw9vCng5COMai_PQ5nnzn-b5eCswTr2S2jRydqgtbW2TqPQvpX4_87-b4FsJ1XnAw93T5WwCL86OzgNlIBBcQa6Wt4DDDUtmXof3XeucchLHQl7heVYtAbsEMxzJeDoidRWcVRvfLlBoeS3qjtyzIvY7pp-nl_L72A8hEHmW8bj-msy-rHJOQXIBR1JlOsQEo-P3nBs-UZJHheoK4rXjUSWOP1ZVTsy57iKKTxz_wQ9pjVXSrGBeQQv5SFv5aV1Jf1zUMzcdn_VVNg4dfW4QAnhM75zVth_KWISEMrHNmJmM7HncMN_0Z_wrwuvVTEYxGS4ngVv2wGVO3okbxr9tpQ8-o84m_yOw-1QZSNpoHd9LVMP7d7Dw8MegsxWPKRY0GhXro8mekGlhb23QGUysO8-19mC1nRIl2nlsAfL4EDpVfKnPC4ZT4k0ls47Sh7lWHw47-tIt7SkCHBr5LBWTovXTiXwQmlDW3JYU6mK-7TPw42khH8rcKulz1vvvOUyi6HdcyJNuyMzHrlB9BAf6P-pKKzAzevswcOotEzbLVOdLSIvjDTbncv9KuZMGEaNhkoVKtp_V1NQHfJ8YkLuWtLPaG2HLhwX4rLRnj7VKrAx3Fxfuiin0_JZQzsupNe0IslP_7X-WVFgQ8mBdEGu9H_55vUyXY0AtDtcL8_0Sve_i0CKqmh86-1OSSzsn3jOjM37qjBYiX9sgaWNFm6owRrpbGfXdKtEwLLG1LEtEPfx6uEp3PJD0UUyi7f4J-Lm7B3I0cY2ZQ_NLvRWIgg12y7Ga4sR-bAgudpupSDzmXeRNH1MmuPjG9AbgZYEaEAu94D1p0EWqYbdqnctWgTaUrDC-w-J5KLsPNBpAO4ShMM61d57VMyL2bSBZe934H9Tz3CWNU58fZV2-ldkK7Hw6KP0GiKtLAAys-XS_tr8KweBZ4edV7ra3lg7pWlQ8pmgmihpraarhnk9faARDsXWAQkKDBh_S1vEeyqkVSXlE_SRMpY7R7jDRKvejPlgo0DS-YwTA8R1ypaGk16Gyj-IvkFKvziSscFX9R-3p3XYPrMqR0P_9OGxzZ8L2t65b2n8jfc4sfNsg11k_bu-GrEMUvdoN1-KS6nubPDbIMWDwz0lEdRxBoWXf0jVF82DDbIvqxgg6on19tumjlLVnDdLSxnX6FT4UtVfTHuzoZLsCAKlmN_OPnB37Il1b6SlYHWguvH3Elp6A3qkbrmjjal_V1R44aOuRP2xh7tmZm25xfQMDhgm9uAwMXjV91Ts65teZyfLwq_DIqbyEMqLKfXhmoEzex4imYdi1pZiE0ZZpI7mwcOIPFPbSO1bbFLlpVtnNZLpf7fcpOQbj6s5VIYET0ITuft5II1TKKH48f3x4fFNGzKOdJ9QRfSWxwT6_o8Zk7jeYPeSJX3omt9pvsExRfX1uR3YimpK_bV3PcG_fXKhkDzdKMf6IFGp8olyr-gZg4JrCg3EvoWwrfEPMvYX92o6AJD8FyGaJSTpz01UunIHy960rpErxIkWw0_FT58F8XfEnSVh5zoD3T0yIEo2Kexq5YT8ivl91UrnU4WxHSCiWtkVQ5dFT2ey-i8ebfz4b4Kx2e_bxdAQj917JO7jlOa05dHNppZ2adGav6D4_rv93o1sPGYYv9rN7crfUbORQGbaFm7uDTMlHxIX_F_pglWEG2Nb2F0jVJf6beMhqtwj-wjjG-q2iWJG0Py7UunGb388I44Yqs_--HqWzHOCHZJv6No5XKbbRmmLdVAgyfJviuLliyr8hSvkJDgHzB_zurffsGK57y03dg80vvfBlSnLlxJ-VhXpxMasPQOvg_F8f9rjFXyLr1a1oV79def9h1bAFF909qcpYMjFSfHmIDZ8LhuOZQpg2L6dUTeytzbn6Q_2oPcfsy-xXK5ZVd7CKWNH99Vkb7wJmt6sul-bKQ8VF4xEilgBcnXbe-YetRTXBJBisW8dmdRYj9AG0CZo5YCxF1CgmFRIJ56jZrAyDCrj_mJ0HYU9akQ87uea9a137gWDpJLzj3eCV3yzLqRafR7AzHVvMArnWh6xUinDAc5faZf1GRJpJysrGSkFsY_zoMWS6JgPD49i9HfesaN7fCtTFtkZOy8eFeG9ZctA6BKVWIt291lJ6R7MBoWPTToHUDCNFoLuJCVDZOhOJslhFkCjLq46NamBmFXN9uBHz0Z_aHuYX00E6RZ-0tEQTpMMvr8HnnEDCkuQM-Hv4Y0Afaq30mcR5hOOaT1pqToviMAMzRFRISyfqQEix55PRqohbTmTmzX44IPbseuSIiO1zOnC13zb8h07aCSOsq9b9CtBEkj-jHuAANKBmThXFMPBjzse1PPWUZsuJOLW0NTha-w91uo-cpyFfye3m8rXzfltd6gi88tOAeOmx3-Vzs2mDpfG2bMm1yk-n8LvJPJbE_Qa88tGHIe_F6W84oKqDCO3fkiQTACmBdzxFGx34Mt3SycOhiCOXOpZAbgjY9devnjfj7SXMNCNsiN-2l592iHANiGUhIBenfbgHkAOvNv6bj68tb1faIioFqjhtmQHZ1zG697afNIZ2tPSYkBF_zokfMbrR4hWXN343Sexh4S3p0LTaVlZRfAhlhKunt4kybqiL9nBapx3s9vOu0k0nDiPEBVGQiD0Ouev8tnCWme8yNVSMsYwQ8pes0yIEsq1xxikVzhYoQ7SNotlnqjiRzW3VPdAXwtFStuiaQDd79T9-4O3SQpn2uUIu5FoK74fCfyxh46Ae8s_L9ST5YGiy6H3wk6D8YWAeKP1HxSacsFj7-uclh--QLmQJucPCNzpLTwjEfhhCFHLzeSu14CTCuLVobJyVNx6MmH6Hb5OxUWUXExjSPBp5awLgUIiuohfb84UwqW_tkaS4FWH9E-c1Dg3_l1y0okViD5xOqRIWbSqzGKy0rKhWE7a3YL1znw_L2AEe-thouvvC5X81xXkUkvD98dX5PNC4aOmyBP5TNAgUzAT6XIyjD-nld1sZ3ixCG5Qq-QjfAUIVzQCf8Ec7YKwWI65nD5A-6vDClIJOm_IJYEygG41y5ujN7lGQ8TOsrrM9KYQb1mVLT8MZeu7BeX5KW11OWWvZUlY5avHvG_DAwfl9ptN5hFPO9NEjrSNXx7PNwtWwbBVVYgk7bUcVGtHzAGoacCmHQH_O-eYwgnQ4iGCHOYhc8KxHzZPAq3oCAzvXK1hPoBavi-1NhPNsXdPnc19wMheCd8r1BqejSZzNhyU_ntyYPiJkzzR6p2_skdky1oiRHjdj68oLuMQwWnf1JGOfOQdEe_Ie_T9Z_HTd4iofQxb_NB1MomTJeQIqU2pmZQYCr-YNWEEngicBu2tHbWhsK83f_0m4bBWrmd6eXDtg7vcIu7BAFF3zZLAlcjtDcNug3SEoSfDoxQHi2uiIolLzuj_y3DtAX-9Y60IDjisaHFAViG1x2lrbAhlsDkdLmnZGrVeifM8xUaG2h2EbP5GXa3RK7FjZAZInfPCTewhU8ej1_2yuH6DGHfEUFnjK8HrRqGCouZb4H5nku1cemHbGYdvSd2wDc0OhQv3JiHCbC_KUMruyI_hEja-MxyKoBp6D2drIX2EYmxpNg0QsB9vAt5PeFEjljapPRxmLG9rzHdcofPgqXdGpD4B3OfNuvQHjsidNDHZ-0iVsMuCFPCwLd1uivaKu9aGc_VnJfuDitxbPDY2AC6bruzjA2wC8NQk9gOFkWM-U-1Jc4YnplmpZ_bRgiaAtVQjqxf3-cnr0YzS34hriewijNSvza1yW_lQHaYW8EOei33UJQzXEkiKwsNYwdJ0waZ4aJ9foAbt-WEEZAc3zO4nC7dCx3MKGmk3jt57yZtApddFSKL81rgqGQd-zih0c_OISlMKkSTOTqSPYENhM0bEh5zROkR7ED7iddoQRfBzPBNOwnkLP81ytkbpIt1QiN2qZwxmvq7iHCT7nJksUpWk2W0jI1Yn1pBqmq8WmCXLmiJikQl0qT-en8eqVlSHKZZ5TB2nWHqIj-i_FxA36KrYWE_-A3dwmPl4HELC7M3cU-w8EdrKIgIOJmIvvJ4B3z6M-l_Fe0yQxeHEyWrQPIuIbTX1aGIaoN4CDiGkuG7HpU5-6TxksEwlJQNcKSZkbtSM6lZw1iwxkAJY5XPjPrCCMmoRmU4p6RuAvtHD6DAJf_hbzRYBGYgKH3iFQyQoRemj-UWqFuLDrZyaHfh9RV9K0AOXmdeKzc793g6QMfGiUWRlKXknTd_r6TJxiWzL1Z6Szqn2RrWeCZm_5w2EyRekCCjhn3jTR5ZRRD50X0JvT2ccSuUIKXrxU0j-6S0a-beNAORvx9oNafx5vpz69_4k2JHkWPQ8JXloIQXMEJxtsOupaPouv3xukfrGRzCoe5DDSNTUtuvJWNnNbEhVXY2mzs_r4e7jElPTu1CekyYdaCEvGBQV76X2O-m14ApPFAaTnaXiTsaklM-gIO1FbenfSMojQ3z7ixzezuIK71DErdAFU90C26sib4r6vGXkruXv71No5K_feTFMY9HIExe52YOrWaocnuTrnLTewuoTE355PJXHniAqsoMPQkZdFewN9pLOOhCvtWIucZV-TU8T2jkYheKXVvD5kv0pA_wFhw65VhXl6ppEhEI1T7tywN2dhBsZ7yVrF6OJmNJNzdX13pTWJybkbxS2uvEQ_JqS4z8i0sW3z91aQBynRCXH1QLzVoKOsDwFSN3NnTg3Yp28B22v2QzijyRYy_9LH0bEEY2kfsSg5hgTrpzvXqTDk1oMt6GnD5fCL_AuVphhnAWGNlEGV2Jgpc0-p8bz3Y5niC18zXlfWt7yOqxqXGDJlGP0Fws3NotpM5oj4FURl-dyb9tQ77ALzelQHJ67-YQb7cAfgf5XrpANdxt1mGKigbdDE5C8ZTazBAW4SSQhUGP6DWchVLecFfocR8d6C_5zxY0l2eglxR01VFP-F3xodQBF81ZPULaEYa_mljtOTBtXgWEyyMyZo_WhImOaEkfER99f3-DPXF6x-oP2fvZen_HSCICw33rzVQqgV_8wPctx1-CsfhYNRjWDUAPmP-er8sd6eIVx3ZhaJ9UXStcY1ooX30-UgL-bvYgHVRzNsbgUVGZ6Q_HI0CVokOaxbocKhHlTRtDW1RDlTn8Ii6EPiDgEcIf_5IBgGfEeBHzH6SaLHpvcXjTudj-VjZMo6vQq1q-enLC6CJqnBlU9c7vV-JFPCFmyYJypcX83R9eLvTUQRWlgTwtZjfpfVl_FrZVCgFfS94aEEwQ9ADqvs6sWVuEljTzfW0F-GtJ1N1fOXrceObhQRvB9XFBeaUyebXI-nGTgSzdqepoju6L9ChAoMWw7Q3iDyr-KcohBdvHd9zZ-ODNtRq82nMfKnO6PG0MjDM6o2WBHuI5GXIHRGLDpBsYOnj7vtjnlVFGTWh3yHmraHFDKzZhBxcEderuz_N3KtjCZHR-Yqo-TxkQJjCw_EiGzdJynzg20lrNoMWKdgLFKCFZFDbg5oMsvIdXVABL9ctfr1lFjNVLad35HjoXPYd69xyb1vaWwChHQKUz3tkuTze12rWiVao2mHcKqDJK8MwfusAl2EveWxxotWxn8gH9WHQjacBUdRj8ykdz5dmf0c2o_RoWAZjudg8EqptmV8Cb3-nERb7N3Gkf9AeHUloSIIN8CHhaoIgC_yxTj755EH87sVcxa1B57Z5w7lGpWJYRUHHiaX-nI5LdirViHXVBILX63XtRUJ-HDCTlspYCY74oalJVasUBm-J4DdbkYqkJZUI0OCpjf63syk8RLi0Rju-rS1K-ZUyj6dsWZkU08_PRIfSmOxuDu2Iuz3REGfQ9A9lTGFWAvXgl5ruwlUaU6UytR4RtsqEFY_ChUyMgIgVv2WMFIvEbNGObXAsai_QLAOoy8bHSsjG81bY89ojtljQg5e9F7WV7oB5SavVJEq1-UM_EHYIyTumfQxkKUTwtF8thcWtftH89waghT_hNoNJB6-e7lB2L1NNFbFJKiDb3-s4HJPZNqSHaqAQ-s4f-_GTJ6FPzvQFYnfUz2e0LluILAfo_cazhjZzaX4ZuGVOeCT-0HveDFOTgVno7101xKrzpaxNcgBBdfuHAXD85UTj9btTbYgWJZzD1rkZYb-PWz18UWbfOaj6nc5ms1vYTboMjFX__8Eb_h9MdNcHzBFvmt6jqsBLn59pQ1fWZm1my-YksCWZc2MfmteM1EK0D3PNlFaZyrB9Dmcqqb1Wbcms430caFwiCB_TcB-EoZ4B32t6E3MG3J2V1CYpeUnrirbhClW8_dzo2fazAsL7LidHjd6GZdfuNbsefux6EKFSBg70BnBBFSgIaLC2VUWChbFb1l2LwwQdxvHaOwRsZM75vAhg-GrcKp86g3j0FMcB1hHC4-b9XI2CfSjDnwwpM73SX4VB6-i0kS-so0ip6YW0MLl1r_GtTpmQodY_QC8yMQtbrmahAzlB50ujHlSlOdnoHyVnJD_XAGFcPzsN4uDxesuXA6HFyN0mzZeym8Zu85WuabKfBh5F-6jaEBT_soSMXDyU__1muvXYZwHtjFrz0XOtjc5NGIwMdo8dzbRuzOUyleFxUbvhbhcpR7aVY8zWQzJXOpIFs04t1LbDVHIx7ul5XqSPFpSDo2j6jPNq2S1VmzEnYGCn7KLdjW3UWHQzPcDomyLLkWUzPJNl3ql6TVctyBjKXf2qssCqiEbL31PmEj6RD1Cpz4WhOHOxNLZ_o1dXukuUOnHUwnL_e-uqT1fWPVHvTq6AfHy14vRJXG_8c25vt5iPAkpWR_o1-x7XH09cujkn4CieD7MrJg44hUZf8wB2XfUxjfwfesRk4PaNLYChJsHvm9ytRBbdfYOTBEbk5H95Vtvb85HLJQBDHQlLMm1QVTUwZuhD52IUAlkLNBPkpFLew8haKoMz6PHzdINYprPYzFUA3TdHwbKBYtS6X8Eh-uvbXKJb4UNCQRDomTgbF4VfvaT1BiXgA388f6zUWN-Bw0tJnXPwB3HID-i8rcj8xM56emARAShLGjLRg3FxrCTRJEsZ9deYwFP-dShetMyg4J7FOcaAH85K4jeG32Hi4CovozoXixt2XqtlVn_ePniMYGTuTbvrfClSK9EBA_TD3mmU3g2tDRSmRJ0MTeg8nGBVq-rKzCpVhoiRMlYK74U-QGPm4rKPE4JJFYuq-NWeGCpdgSplPIEt2RhSk0nLOydHeHklo2-H684pVA0JOq89GivZbWDwUeMO-T_YphRUNASUXGrV85iv0FPNU4WiDMRmyyODAE3OtfXkVLrxQYRTtmvet_C55Jc7aZctsA2H3JQmNSLb7somwpzO7BvRYQCKMwg7zfhHlVB5yhA3SL92ymVhDQg6y_m0ar8v0evX9Q5TOha3GXsSTWwb43QfaP8zyyO9TNov1axIFSFojpwRpWO72_mG92nfGlLIt9E4BS6ztsM8036EBccafAurrobSGVGWTLAXnRwTIKF_Bt3Mvwjf0vAhaEdW7fNU3uPcdHTyOvsNiPHC5rNfshmde--z9oxc9QN3NUcVmqHnUTNwiYPodUhb-3CyLCLCpNOudCZHRrqoiGQXpqNgnmvniNP2z4ZQafaNry1XRplkkWZganBUdyyIqARLXvJLJ2gjpwuB4fiMZ-NgdGhIx_j-aH7YTZ-QeYjRfMdtwWz71joy3mNLTMxv1gfIk3LmqcmA-4TbTR7T2d_eApyZTbWIeQ8zOCAEmLYGF-6hLChlkzg3ItVAktskGQW1Q1Q0KwraoMkzFUNVYVv-61N_tNIPHzFlIep4d-0tRzjN3QKmmW3yoeM-nQ9q36t7BQ-VTq0gbP3-_9Dvn29TZo0yLE-BuMzphSebOIOnkumkgghwlQkGaWjiUFWRmcYjLLS88tzr1qFBKz4ZOvWfuGMiXoWuW8C3cF8cmamYX5LWhnAA2XpQ_AzT49JZu5QOnfL2InSzZ8cgFqEgEmbhZywdc-gfH2wAPGjsBjEPRDeZ2YMq932XYnNRYiZI_jgYcFGjSHFkcEX67b3ivGVXlijVbl5acInvwjuSGQkhXB8iuLcAoSL2T0VEsenRYMCQE75PLNL2pnk-H1wHk3yjv08sL3-Vc5JWE6upSJtGSjXhwNhhA6HtOUXn9LYarDy_xjEddw00l60YRJpK48U9jKqp9oY1doeOrNtDF3NprFJxsb7nS6xMsOIAoEJcmIrgIG1vXbfftXKODWis9sEfimxLO_Y4hea-ShO331Z7z9SOTzIbNnGdiVAzdi2WSVb1Bg2vecc_pIMoylUkfXt05i7-mJVUezZyZlFs9IhnWLH0ihntTWsBZeF0inLHa2LppQ-cJMXO73Td4rCqgPiQrXXln4zktDOGUmdClqM5-1dU_XCkD5FyY6OfWtfxZG238Dbyh2Qw5f_RVTldLlVA7fEJvxgMxXtWqTkSUDU1wNRlJ_XW_qjEbH7ibCHHj_SoL9hirgSW7JG0zidLSZC2FoLrM5HxUO6pKISr-hrlGt-lhZf0c0eP9DYoJbJqhbsJ8etAXhUzsHWJ4Oiss-6iXQB0NPreaFKC0cnERE1ivyEsyNG1iD9lFwTiIxZEWN2kAQcVhnlDXPj6YNRm-gLWKp0JIEtX2AKmAkPmOvtiiUM-Ug7hPtOajIZkT_I39eINvolkPYUtbBuNcf3OJbCfaqKbmja7nkDpsz2WA3AdpDQuGx_efwEZiz88Tpfr51uQ6gtstgmIijKckiGXd7wwqWOUd6vklcM2J8JrMRB4Q9Autsd07uMmRy8sr1CALXRcVfO-hOaD5VkoofK8hIb04QuhniFhM2Mr6NSxduI09ERpGgNCy9n7XZC0cD5QjQJlyxETHD_lrltDKAnJMb1o3fjLQFfFxxQAbHQU-i2e7lE_Kz1S60kUAMBHP57RSZmhMy23UeAxIxsG_OM6WeuHCXs9xraNCYQ942o1V2k1YsvY7103RXWh0txRgPBOKuk_JtbcgkqT_zQf2H7g_3Pdl90hHfdCyB7VOxaL37hxHU8TxLxUqeSGDuNCAmW23dTAnR7-ItCrxwqu7QEycvIbZf3igeIarqSguPnWc1lkX0yIZjdQYshJtJm86mR2NEKvu7krqaxDtkqLkDfN68lqVWUaT50DRjHDLUf0lIVmDHzzkzRoATsVARvPfAq7JeWuE98OP9i2RHfYxZGGTzH8oe5gIEZqMgbgFt2T_NK092IfhRNL8saUZtdq5JHYGhzJSA11Dl5t2TqZ7HqoWhkwSme1ptRBzrQQ79TFgR36ogoMQzs1jiGQdnRD7Xa57lf83enrpXtdLw9ziviIzseUCwad9CjG6eqatlwnHaw_neM9uJhN6qFurxJzEi0U2FSs6AigzIy1vf2PwCJwC9bOrC2HIbkpeka78fwm4VQhWpNu49JtJ2bvdZ81Ju-9_waUVP0n-gVr7zbOgKf2hoKUf1cG1cKiXfY1sYK0rkvwMJskzVbVGzP3RXn-W6brRCiQTiqNyjTv9ulMDDydd1DJk5cC_LNVreeo6FAC3WtDMfLNSdArZ9HA0L4uv33U2zP6qWawrkM15ebpk0WNxG0TVOYYxKMhFMiHnp_Eb7Oq1O5URlHhMoSk7XwpRRwWgMwn_Y63y38dlHrFSATyhj6jXD7nWPY9rj9WWy15CN9uTcQtgOO8NBWdu3loXbQxHClr87QNS9ZmShSeX06ppQP6upjZOzAsSevAQKjtjx2_Qt1WPF14-KL7m-H5GYpj5C6synt4_JBJ6en9ztbY1HTB-FkZ_LcCni-kBumjEHPHc0HnYthtkBHlOHnGrJqERpff2ZhXwaucz2yhrA-FlXu0JNMNWcfwBwV-bN8TnhLqS2grafj5drM-fa5fBJZ__u92O__zRSCqDyQD3y_KQWwqXVnzeDDBKMGXArnkjItF1-_d7bu8cspBbOY7gVb8vpoPkhjme_x3zksA67NYVUwCB4DXVrREnZjSZt8kV9zHvzvOtPyYVYNvPtYulrpGr89bCNzd1ryFhcNj-JmY58d_9ooZAFGNe9vIhyXtfjyG86-vlwmHrDMwReJdn16oJmKCIH5RVOR3geSbmn9GcUzw69_i6iSp8SpA2d2_upqcKbyGhZD8a7xlf8GLXyA-dxB15Usxnz8aeYj6Qmu-QpkDl7za6FcACcUpTR3pj-762jHUsLKqhNYZ559UPPaahdwWDHXmetmEyzLMQ2Bb3tan_2ScJ5LOelocnoUPWOuRydhgcHMg2ZEMUhR0TXxxdtweaet9pTUFT_CYky_8jEf_KarAYUq2R4Q8b4-cFWncn0oYBgXG_Hygf0bFKoGUK9Fgkdhb7vM7uG4BtjkAIx9Y6y40gvVPqND29mCEXj-6wXDokHtWSdTJHnNZLz9zuwewmxauXwpctb6hVIEGtnfaNqyrR2An1qLzBhZXP7HzX6U_Azdv61_4swEeUC_U_uqkB9KH4WS2fnD-OHR72TsNHYFa5Ml8yzLgzp2TiwlKJRVhCbalL1U_E1kTUUqvwgqEYCnIQgV8257yJNnsxHuyTwcPQ2uPGzQmsxuTmj3vxs0fioXL__wEx8L2TS2KvVnh_V-Cfosf2vp-DKSxFkR2ofEnEpf3QjLpQj2hKJoXSvEbPRWqK1NWYguVhyo85rNAwqMCPc5kZV7MWB3cpMB_Bsa2cTsyKdHkjZN9gWosKSbVA-r3q-fxUHF_ZRw_MY4_lFN05S244meK_C5edEDcAaEWEUsdiDp9F0dCzYFKGm7hQ5VxCjoQwa4hS3V-Kuykex72VCxwmWVOufXLoi0P44DJyuBQysDdka1B_hRQ_uK3NWv_54mxDnfxJC4rRoYvrDUMJJew8pmREsXjCrSbZa8Y_Bm-ZSYAVpfBS1EmBl75ITacf_LiDoVAvTRpZYmdbUffUCGYAyGE5HJBHdVGqfLbxYXxAqokCsc58L1nrmpg5ZZdFIcEeE-VWvNpuzDUHZvJrnRbxlWq-q7upm2bg7W9zmBqv-PllD_5wH4T_dnRs1fbM2ML_VSg7rSt3U9WfnF4DXEwWVTPcyb9m73QIoM1ZRQ_C0Of67gy0C4UdWSeXeYVauLJcS0P9F__e1fzYQo236CeszIimFpoRFOBKLa3PnZgdW_mIO3zwI8LDlljGGY2Ug94AHhGU-cyDYz7l08jAhbP4IZDWJwbA70GELL8ziAmQ-DfTlu_Eg7XZfpXCFCjOtEl7LYmQtjpBC8u1oHBSja5nNW_gx0rybxJ3Xo6RKLbORVipK46bd1Da-zqzER9RghgpvGQPiY35sF2eG6rtk49R5bdOEbL9lSjEhdpKNE2FHp_xl5Wm2QVvCjB2UL-Xp_rr1Uz3klVtBsnEbToI9CIzCiNN7nbUguSzsxaGxGHfqsS6D0l9Y4PsufJdPGjZKRQVnFfdUrtk__CR2lnFnMa_KlpbT2mc0KmGUsgdQ2kMU6pPd3J0isr1cqpVs_w6qZ7Wr0jiYSj13fMp-dcFo2mCSyzs0_CdRFAQnGYu8sMWDNOUfQSZeepZt2Wx_G2C2x9SANouCfdHsJmOJnOgYe7SlhRIda-nPUDTqQCdFk-nlz3RgGnKveWxstiT1dlvaGqrVLsg7FVKYI32nQ-SijrA9IO1bxwb65lkotSGNCBPvUbwwHWi9FPBS4L_7FbsAl34OmBlQFJ-Ez0yJxFCROp_VvYIckSLjU5E07Wdkehq3OjzzEUbIt39vTX_N4CHfKOCJWb7VZiJZoFwl3RDwYyXz_-4VEfEoYgsEXfaPdnBnxxFnV8l3xfULIPfzZL2qLQYiL_7Jj44mdTB0aJgCD5UgRygVNriiI9AzwZW8NUlFbmvOeSsYDhFmeuzQBNBtzga-MXtKNxedvjSqWwl4uYQ9UQintS8u4JsBn4efoq3MDQVaO1r2W-FVNE1W4ovv_dsPgxYmd-B8mfMpA1c1oX8TjlcOTRzI7fXrfehYKJQu8w6BmzVEd5HVAyAQgXExZ82nVVKxIxYQtNfnRul6IYwX_i8PqbkzDEe3Vdid-1Me5Pmv4SgepAX_Af8YnAMFGvQ41pSwIVMfkNPIcGSY6I11TkzGK6Y0eZvTKFG7Ft4je6K4F9yo-Ypkr_W8SAV7IvuUbgmxsHMlt712qTAqPUMR83R-nv3pCBXp4SyQrOmynj1E8EDVGsQK6BMyjsb-vipyy_e1BJXDo-DG-oBqbUFT4gP1ZPDBMRDEJTcEXQyVytIYa-Rktb7pp00Gv4FoOCwQocsfIYu59axE3TC7HNTltOJDILn_bG-zEhpkAzCpayv65DVYu4tl8GuBaU4etPDGthCm6f46TZzFDXT5282CmryNo8kgUwYfa5AEVBe1o1IyJnZrDVlDr048capKuw5wcLz30vpOYHb1qnaumQv5bZxaO-4yOnfu8c6Btp4TlJF_Ht6dlUchCceBeKDoDlfzyUqQu0TOTlQcFOmUpX83bs1THqmbzGYgw2kXwAGt-sv3ej7Q6enXzO9aCgt5JIH0csTTfv_b43DSpQw4xmHArj6U8WECZoSfzCP-qz-9gsZiEehTnghUb7qpgKZfJ-p41cvX4Yx4cNnEdE7awSuEllmYP_4xhmqBp8jm2UVud4-ZVVJPdmP2dyPP2FPo4-CoGxlRPItDhFMXNZ5LaqjZjZBalQGXFzw71lnb8u4fn2eLV-dtWZmTkJ7biokggj1Q6pioUsSg3lpmCAoHy0Jq6mG9htZr7fPs5uulIUJX3QzuyMPrETWPTPw7GXU6OgpM-_mHITMQeittdX-fS_59thIjcCUScGWj9M-ho85d4wemrvqLUBwjzNmpwv4OAggbbUukgHCq6jAToMZs8iWQ7i6CCtHanNX24ncUM9A1E1Z7V-69vYDFXjUV_3smzozF7eJTSq71huFQeC1q6Fi6KhVyeb7DOJ3821QhyyxXmMIXI9KseM4-dSUoYgtaySzv1pNTGGPNMzWL6PooSrbuS7yIQEGP0UQxvEnBo1CvBZ6RvKB3zZKUuMv2ooF30KNH6ZSRY9rizKZkGn2QGhIxLmQGQ4zhfs-FI8Yeh2wZNlN4VNmuVHqXNt5o2K9CIUsKQ2LM_hCTXbyN7vSFRBA8YrlKV3uQjkx3YD-22A78Zza4NIrilm-0l6RqRVOPjopYPZyWyRvhy5uHJmkyqY9R7-PsA6SLXWKt3yDdv0k1M1T7eujadzJRAkyku_6fH-IBhKEoVJPRjDRE3l0ZyMtLfki_hjEtY_GNdVvJp8-IOgeRdJBkcY4ULcSshZRk23qPtI8P8NivNHUh5_KkNmvWcwaArlA2Pyi1geUAXP3n_5hVkYe6xTR22Y6Aq5JLgO-qaqsGc6S-CQh0OQnPpg19kEVtECAiDyQeXGvGclEH0jUIn3A2HMkRm_RoecdjrCNlOUkZeI7vO4q0dMsx2_NcOBefYUfoUFzJlkCJbbO53C5JuAhnBDc3kbhTLfIoYNOS61g6TT5kFix-EtZ8SRS1J3_BoVx0K_ivu4s0SNI2JyB4Das-lssTYEzgOgtP6PRNYNhMZAYzQEe0mbXpbtjWN0qG8l2k9_zjo_2trnYxqdnJejmFbBj3NNRSW1c_6J4fZdRvbGOk4VbFro699SKK6FkZ8TomBkGy-OX5jDhm1BpLFujYKPCm0MoWugMrWRmbNmOA03IxQSfOv6Yz6RrLcIVV7TLU4vcNUMpA2qnFTbD-87ZZW0tgeWpkGq2ScoocAMimdwRrNNxzZeT7zEEUqLU7TfJkGIxT1WXroVKX14WtgRieAXMhHgVl4mo2-clh3Voa3gYG0iYttBlYB8YqRbf34aeObdEIsY_uVkVCDALAYMFc6YqMsjeqQGuGd44IUwqtY-qZA_M_nGQ9PIvrVFjCIGnYuBXbkwXihrUKppENP3H6uVA5OptdQGESDQYDXzqUpzqcEVVwkYGaTK6EoxtuWP86qErRdFuuYDFEKHtQcn0Apr9K0CxzLX0uhUBvxDT6Frwj1k1-KnwuG2EhMoDWqKDGSv2pMI3DLCVEihAIkuO9_zFWYkF8GxXKoYKK0d6_uPcjg_pRizkmyzCWbLA2hNz7Cgh7VaFP3AU_2eJPFwlLyA6gTfRqnNCSUc8qJOC8KTOpwUVOGsDGS1QV9VNhYEwGTE4RkxpjU1qSL7brIHgi0oOdJl5sbSTJilxomBKtPzPaW_NYJUIw34UNTurPawhmj9ouhVDAu74N5B0BaR_Pd0zcBwqWAC483TiTU1p6vxeuyzqOfr0lCcCTa-FnJfRUH45KaDJe6oy-6vpMKwbxba9wdeH5N5sT0FCBa8bVoEDZe5BrNNSeMQYcjxMB-LZJh_yYDzp6805ghBlfHMXhS7cpg5EO_lf6ROISFXatIwCyS9hT9Ffa_Rmvo56wqIuBgP0262BrMFtNPpulzLz7YuVcl7Q0XPup2b1ojs9mroj2N4KjHU7EAANFPtARXMY-2nWtxrK8DYBVs9l0-MDlBLAZuJOUpwP0CTKQsCmlKHIFKs34lnPuPPKyiLwIkIE_t302QAIRN-WmAmHfZox6vWrwOUrtXI0V0dRymcMKngmzmBdE4iPjjpcHgb_3FMaaHbSjTHhN7HHP7CKpUbmvqyp4RDlbC_XRVlnqy411-hNalqzVl8N-u6urd5afE88tCYG350yy6T3UfUHne51I4iJlumw7XBSRm54jBZ8xDqlVFuI3lL9wESHcIBKbZxvBUFwSPeb-9GRV0y19tkBcIw0CCBvBQRYUhCy3TkUG_MjmRK6gwu8rZzxIW7Or0fpHiHRB8TjZAWHJ_8Z8TKaoDO8Rl4EhvE47j0Bgs_9MLWRWtMdIIBOMBk9RPI4H6G-WOY_BMQnoK4B_sh9ck-mu12PDXuZHRLN5KR5QO51sjxyJtp5NHpI4rj02AQSpJ7K4E9DEtBrVy6dgHwb2Kq-lQyzw4BcKkAq3wnLmcL6LfBeT4f96T2b_BuRjJC4HAEocdd_-TxDOTexvKxRiEGUVlrYrBIEqkemMw5CShtxmUl4lqk1tTgnU9EsTNYIUmpHgqiFMOAAY1omSxVH89z4xDsNtQUXaWCW1qMS0hGnsVwlf9bjEImDKKME5Ax-IgfGVmAFJZwb_b5EmujGtw1itCpEXVJN1ENd60uIhghcJ2Cpv3koEZZKhXnEvZhQt9joXGk2zO0ROq-n0kHXnCsgQwn14PDVca9Klld00ZKWPnMhegb6E9Gj_rz_QvctqATNuQ0Pfmhn-7IInUP5mVGwGfKk-1AqlCOt7nnr_iJKArzgUS8nM63ALXuC2IcUY54Nv7TV2fYXrrdpAp96wf7_PFUE5_5Zfs1au2un5J4fT3FOyL19vPMNzsnB7VJjHoEs0nittnIBbyrvnafmBSZjzIaBTSRVjHgIKhGBeqFqqBAQKDmn5aL5WDRgbusJ5FoL55Cwk4RIvXqYdsWNN2LPDUL_F6dyt-qxN6CDtyyB7d0_HbQlAIAoIE3HzT13e15TjQL76X0kdXivJ5cy0WnCvtCtznncb9aZH64Hg2cO9bFOH8iehcOGeZqSGfELhyhevveAcvv9_9MNzXgjFr78b1lwOslIcrn3Lc8D3gDKTPaRouyM8Vgis_Umd1ntiqRuUi9UuohUwe6Z2tZUV0FrFa3GpTDzdcCUK5zxHF1diXIXoBVTaSYpBVt2v26A0I3_ZQHex4FRlCHD9GuRr1I2SH53Rm--yHtLQJ5FDCOs2jhM0F_PXqw2w_7iIJ0q7h3AZIRGeP5a7FZb-nINlP7A_IMmMlwRaJmLg6eHKeVriQDPTRmHXsgcw80s1JdOjSLXPImbmOE7lnOhrpdCcmbrgY_V3IfEmdrEqY0c2Lm_uYCf4S33yqQJXApo1R1Ge1eHmHs1kbNWHVDSGO9CENa5X_m1tTQIASCa-doBYxkzXNHmHjEK4fJAXe1xIL1uL0agoJjpdDO0ct-jBKhTQ4HB68QDxNya_02iDzbbzSWexj4fJcf9MdvZKkyk9VjgzfUcFnv-VvFYROLqHzodYtB8QG1Lrr_kaR1s9FdDa1kwU6dwe5b0LkM6F-nD3IPcmew__9PSWVAqt06Df92rBDsktyqsiLCgFdl6um4Dzs5Ueugr8vfSKmFR_PvxSyGsVq_QMR3galDsntSx6KDcw86Ovh421-hxPcK6i1LVG6C27vyJSKYv46Z07Jc4Vcm2nzkR_MICmU9CLStiPA635APSgayJlxOqT0nGwu5DIM6qlAHEwzyqxtz5XKdN_Wbwe9hj7FVU5dEkDnmwpVgHgfeoQRL0kpB90_WsZMJXu0U7Wje87Eg5NOPuqzBhXZuSJSDAV7VNxtgzhRDbxhxMQ5bzgl0L3Bc9p-GWgvHcUbzs9mMhm1jv02SFZDi2-2Z6TAFdaU7_kQmZ00lAQ1Uow5WhEfVMV_zzt2Q7qRV8OiUKSU211yT0BYCzSIbqRIkz36bSPVKhMSrR9BKQ8kmJwLTrr68r-xP6fL6NniN3fWGK1Ua7i6hrm00XdeUEMOyjFTGzRiyJ2acawm0rRCOXffJuTVR4A_vwlxjI5dMf8aoZ4X3kcEHF4H9uAz40h-43iK-TguN64Bpn6OOpDg8znvU_voYBZCshcIbi1ShLQlcY2u2vTWpTVpAcE2U5x-yuNY2nMw8ek_OaTNcveJwpGfAhU67EEV8AaGQfYL3IKikzrHHt99G56bNMnOgfQv2oq4pUNrTtC-XqIJ7DQXRhQGE4aOHbxzmPJAl7d5YeJ54ceCDuEHlQNAp_zz87mn0y4HPpfafmmNNIhMwh40230AxuROLs88SkVI_zgXZlRPCzaR4ofpk9WGPjA3X-o9CY9LubEbVhjRxdA2ZYgl4YLcpORbnKM6tPpZJ6U4OdBp_qLMnZymv59TaJkPE8lMCyEgwGIq4aO0x3kvUDb447VjKI-dlS9ENiwrNEah1I6EMyj_u96E0Mm_13tOBMZjKA_YpXty_oJLx5K610Vno7r5XFDCK6DGMZAlzFq4y683SIdLhA9BTdIqPXQQEUvKUJ0aU_P6HSXSe1LWgQUv9dvkuQAcZ2kJtquXUbmteyTBuZkaHDhEFZjMHATCaJmF5hQ2Y0Y47sQQNgeJKqWWI8kHVangob_fV6oMPhBcY89Wne6KVCKb8C9nb3b-ML5zXhB9Vuw9diFEsRSWiHeikF631IMuwfcNmKB1_NJwcBbl77dfC7yuk2cYJQBb98cZTMNhVA37GdSo8dijCVzZk2Nr6DkCvJCXBInZx73xRN-4BRyguX5dYRODAMw2CmOjYdcddrG9VFxdFM1u6PAfg24iwYYqS_duFhrwRAifrbaSa13P2F8OmN_--a3DyE6WL32MUIcm3I7n0v2fejF-wdzQGXbBU9i8wxDxO2jNVT1SMlJvY3MYUEGg4-Uo4sBz71e8hRgfzQmtx-Lggb3oNNepKtdPKl4J62UyiJzNtr8VOBNJSar6d-75CmvcxJFbSo0d3q2ng49L2Q_48xd7jt2_9zNt8ZOal6wV1JPRT7CsAXGUc-Jwte8YqPQkN8vN8q54Q0TZGzyo8HWLwEv0os6CnWlBmjl-H14Pt5cJt9ir1lPffiXRcVuLgXHgEh8J9RF4quvL1KtXWAFIFYRk-0rhl478IvPT0GIoV-h_Oric6xGzwytRHqpVKEHF7NKsDP8B-ac_uqJKo3Bj6rdWeJGAFTdlDvg-UQfDYwtdnfGAICsqFOQLmrvZJBYnTeTmahKPt5Ei6XMOF6-gOmAUTUb-uBcZRu6G7_RvQTsocV2Ag-AQxzf6zwEcHsd4RFCjByblOwOmHqkNmvlks_RUsk71GAqlCj4TbxsCRzLLQls72yDDQ2DQD8UoqJENbH4iL4t5O6nyO522w829xoFDbpSH3URvw6xNFEjt088aIR74kMDjbWDlp-WGAWkm7Wq1fnOlInyp8Kac2WG4vpbBiPdgnw08zzzW8t1oNPpPFb5RChfnrjHbRGjg4OtkK_0_7l4p9p-5EW7AEkshalMebx48y_XvkRpE5M4tzOji4DbU_FQvp-cq-flpAxt0-TVJ-TTgAOcH8PA14lmx-OGHh1RTw2UFYT-t421QKSrPisSzeX_EFkxhaRLgZqi3Tf8bmQaNYcNXott61k9KKsLcnyZr4sb2BIqkPVewJ54RCneEgieRpoRyhvWF0zQdiEPJGG3z2aR3SibmI9dD9_w5GAT0jgEJQzwwlwO9UP2NGIhx1AfUxMf5c7WvIj9FQ8CncKVBg9E0C2W6nGsOxaHVp-I0v3vOzxDhEI6laMu1Odz_6q4Ao43iXN383ZtdNDjWfbavcZUdvxhcRGj0pdp-QSrnSqf1OtfcTTK_0GbQa121t5WJNyH6B3InWtFfPJNNCCM8H2Fa78U3mHeoLnfS1LCT0bQVw3JMbe3ulGTlrSHMvsy-REw2dBexWi99hHML7ICNzji6Si-ncV-7ZeMLQ4aOhB0v4IB3xehPFmx4dVzc0cVruP5FrGe_2XmDTL5a9zD9gBG-_3cUVfzOHLW6smmsC-GTzwdOFTmj997m6aHoHlNAXAeINitNeQAAp7suDHhpxgcGytIFYDr_bvgJky8z6BnsSebuA03NOXv68O4PHxmQFEEO80Tm1Wp4KonKjzR5GkA8inozDBjZapicnZOm7JMZSA1uvSRuRoaFASlYX7IqViIyZaaHoSt26-MV8EXSx8HK4vMUxWkc4cJkuAdShFoNj4AY3lPealjPSbXX_Z1zKmVWCnXhZzMHSV2Nw90PMsfs-tqRy7E_jaSVx5HXeznO7f-HZCrbWZtq7USLO0DR4w2-c-EHlEdSqdSBq0LRsV-uF0r2CXyNR9AEYpki8Jd9IUUs1OwIqPPSd5GPtJve-p7VURrJLjvbDTac1sH38UXO7fm0yaFCi8OnLw252uTAHuDOL8WjghZiz-EA1zqNGsfzUu9DcDolVgULvySKxogCZbLWSjDT1tuoUnRGRHOpoZbvIe8NbGpGditujHdfp6oolTQ0LSY3xAPe38E3Nljmz8ku3RjCb72Ao322wihfQFEY6saMj1hBcLECIxIZSJndYQcwTl4gKssmRpkp8w-PDVtwST2UjLkg2g_XEL7qwItxL0uKp5VE6uVbEH2abseXb5QN7jfrKqZAx_oK7PbkX4w_2ZCBIPe0faBnT7FWT_bRu-ggjtWmTkz6G76hhY7_z3KvFNUwm8jmxTim1a-NnqxeTc8hpFDiD51xdbmCR1au-ryggK9VtoqdGZUFghLMAAVj18fySubfTI9oBxRimJS0y9uXP4cV50pTogZSK9Sg_ocPtccb2oQLcmQeBHO7Pz3qZ7LVmdpA5RUw0alUnEeHSBi_fbe6BBmJfl4o-5msOntVne_ZmFG1JayaQXaSSIZPbl0gx6Qk8iWoHJzuLTMdhQHtppuyo99RalEGQ8IR_Gk-ERSSEYdIL-kUoP-xYRla56T7jQ5oxvF6F0_URaJgDrLAfhDGdiPqFydJ9wu9QUbs51SeJaKs1WJAjbVEOp-_6DFwFXwf4aTs-dQ7Xa5olYEFySJ-KVMcqCft13vqY8ggQ-_c22jFHjT4purqcHJF0G2Z71_8DpdRHR4pnuDid9tyNtUIgwHKcwPQIwwPy0Zak5FktEhbQvHUwM7dS6IV_jfQ2e9a7-EC-Oc6cj741aM7crGOqxfROtDTJ7OhdM96nvd6_SwjcOcnt3Ywm4KO36TQkQO7Fv5nGvtcB9K2nSv6GlvM9e7adqLIm0TsqgafQLVQjAoRacYuOrYfRXOXIyPWQgUMPJ2WQCN6nFWHfK4EiDO3fSWcYfprtEQhoV3i4Z3TvlzZAjihqoBkZ9W8VS-FA0lSXQXnOHY13oqZh60LS0Q2bI7gPhtB-f8NAo5Yxwf1D72zLF5VO7mYfPEQsqp_iJBrV8ugFU5NTdOmBC9B556canE1ftqgNnTpYC4ukuzD3R4BfCu4L8mZuFBW5PEWd-a4VGU0E4cuh_tr9hEkPlas2YudzbcJ5tMJ2iXMTtUYwRuTXWu640BxiZNNsTwVY9mfU-Kb5zwt88QSDkUZdawz24T2SGWoUHjjLQriz3LSjA2KP-a3cOqWZbtXwOjKnnBbCGEezovZ-m_WraF5SMxBQLeJMQ8TDItjkUGp5lBbAx7GZ2HMrODT9pPgRZJwu4ZJewljKHFNS83ycimkbWCEMwHsqJ2KCztDMESDP8PVkQU2hUMM-nP2zxBTUsCt4QmzYIvizfJEZ2h9EI3rI8wszHRRH4ff-a8eg-XriBK5M0plfEh5n1E6j63F_Lu61Ygnl0PicXcHtXSDVj5_-8O5SjNzIH_MWZDBYUFagUswInJrNXj_y94d0QZlKtbW--zvRLzwjB3CtqQWctvEax5sZmvY3qS9jScQJncTQwnk8IIfRh1LiXemxlrKTCZUWB6uz_WZX_To0EWG5oIhv_VfPC7fPRKNVnHtjx1qcuGMuI-NJcwfQI207UYS0F9T_Ya8BCVW0F9dnatA-g2GY_WMzy17hD5QyL4_SMWwvMJjcIOxy-u75ukByNxnyKJ22nSCuuRJx9TSbrJTV8zAXQ1AEzpIg8YxmYMYkh4dPa1fckWqwDdB1qykQxmYR_ab2-XjYM5c6DX-K4--rSS_YRqpsTPq5TUoH4zAwmuWK7YTJfNZWHRLfJO7XC3Z8ntLbStr82hXK4OryZkAxStPT-bqE3uihS6qXeIbk7FxlrmVBwFiLN43DyELhuL_o17WNMv6jRyeJ-Q7IQ8vu5-l6tSjVwcYcukWlh0cMr3LbyrosgdWSZeI6J8m1KFawDcbBiDd2J5_CxzXP-Xgb1jG6-e48cTdoWADXmWJ3aD7phZgY-YIcJmVotJMOxXQ_lGzUbxJVLY_6Bc96wffzYm-AjdoVFTc9vCTWg_O6UO4kk343M6JreqToRsAG3jD8n5_YePMTtjyA5nkVoqJJmsr8ACljlV3L3hZx6FWxHS5HuwIXQJ3RNzFjCoRjgYhkBrk8KBKc_bZCo34c15PkfEpGTOuE5ZmPAbq-z0ymBvxTOyPoRyjUH2Z7N4t_V9l98oS8BkXqBZ44WjWaFThurUao_rKiBpNges3RjaPZblkMGfehR5k8Fx8bY8_iW52wDjqC2KnD4J-uLenzop9wq0JHjA9FvYQnAbPNkXKDpqzV1J4N9XRoT4y4h04pI5uqEYKnUwj-MSKgi_Fh-RHuLrkPJIUchCGHv6J6S-sQESNoVE9Ko6yk5K19Tp6ULbLyoifhjCWl4w6rGTId5ITsH4hJQfD3lg42JRqTB931mLcPmP4fr4r_E4A51maN9bw2QJVjtZPDIJP28NzUsnh7a311XGekFiKHu9EXA8FOa_osNDAFOUXIvB9v3jgUJkLMc3MyXh7A0_ik9dVx_baNiP3Y14QY46BYoiDq-CdWQ1LbD_vARo1f7YwhyM6YS5eUf9xeJ-OVdiqB2slsnVb0hvXuAiujuwQO5jd3S6yq4vPRvo6sWZJYmnqpQcCPiP3xrlpE0XPynOYGFJPXG3rFMLFS5QuTSzuvWz_BaFleCcbONDSS6tbDd0nMxO4Z4vBOnWYI9lw85rbfq5WmXFZmrkm_v0NW01qZHAZnTpwlQOgpkA5ycG1m4SBM5lw4JrfO6_ERZGzy9NG8zhbM8kEnYuGTdc_UZNfWPD_iJwQRzY2gAdI0btaNT5h1aKuZYGTNepjo6_R2um4EkkxYxjZ9vCO2Pe1THVOF91OuwV2YBNH1tgG31jpi-Ywt2B0dL11m2CloMSTJcAPttT4Le-POLD1ImEhL_U4eW_oMF5_LsoX2R03aC-EME8WJAAhECAPuQD3sEcQ7sYIk5fuoDks_MErM0BZT3IxM2rinkWTCF4g86qty91lcxn4lh2RCL9gJIDQ6-PA1KkNsbRuHEpN-tTC9S8qY8SNvHLWdx9mcoRDHfZ9Y6dLDHLixlgxhPd-TawTGuu5Rs43cp8rlIrhF8OUX03haUy5dW8sukRxyys33trDMdJSOVmed-eSMd59qfb079Im7JO-DAF-fxjSsT93tClVSoU2bDMtjWoEQF2ih32AgmLfcOO3Nfj4HBZLOFwwqNemkDPbzRFybvaLBgTSRc8Lvz32Oql-E2bfpR3cdpmTVUVjkmJFzAulrlgNDMeIUA1UTBTBZ2Yww3Kft0Xf7Dk4k_oXo5WPGoibqW5i_C3_3e59SOHafGHOyfuoKb4Tg0eNnhuUZaAMK_mKay6zD75OJzCTICfkb-uCgmo7YHGaQZ9ZP7ebM40pAO9-hJBPcpSGXJt1Z_dE2chkdZJJFZBPFKjlKekldUpr6CbWamnuidaHvPFsLzOZAFYwUgpUKtyStvQgtPnJCFryEUTy-nc88MKlkiKCA9buMZpKg-Gd1pOU5w9yKfEzg6rZA6QiekGIxGLKeDEIfDML7_74ugvZm9VCTr4wsXNmaVXsd2aR843-b64pNdcYh6KOYXBLRkViFtG8E4BnFlItNFl2ALsaWwZQqfnE4UNx-WJyQO3GliPy3x3X-hGLGU_-jj_Jet5wVDA5FmehljDsHGCE77DT7AL-x9_55unR17PMkRQEGGH27BuVGDBCxkVHGRz5u1wyM26nmpATQZgPlDZ9W-BxdPph2VQ7rFqQrBbOUMl2m8J8e3HOTsZ9HfEGHBqWtCElLkU0OIdD760zaNhNq9OHgLezKF8fAS47XONKjpJP-fgF5diP7atcceN2fdceVX_QDh9LFWIf77eZzgT19tnEC6RBYyICeC3s0IZdeYpUy_A6I1_leYgUpI6yFO_xyoopUBdj1-8xoQikAIy7iYf4yOqIjZcpNI4rfaNlzZaXFwdiAw78VSzE5R71hTun2sFjbQW4txiRacFLd5GwjbTr_LJXst7IiCccj0pmO8s0_AJuciBtuy5S5z-HrROZfWF0qhkGHGHOOF1khRC9a2_G7YJgoLTriNBd9Sky-DxgzIisSb9iVj_dKPR6BsN17QcjayWlHP7EomdGyZaLykcyER2Grq-7XG314tfGi_dw8yYCj81L9Ncsv53o3vJCoQ5EEB8jA-CJokZHwwMA9P751_AK5vVRZm-Kjemgthf9JqzT7fu40nSYWq0PAP5LgNEvJWfG6gGLRyGHQnuCS7Z6cgzDwQ8S5hO5PCvLDx0vsJwzJeii97HILgvnq150G2Aixo1UUWneez_RAZIhK-ek8QjND2zA5MS4K7QtXO8OnsnZOHLGExN5mx_8RwQ2HjOrnpwje-YfGfdF7a8YyCwj-yAdI3Mun2WwYc1gNScmAIhppWQMbx_tKhOPKUwcT0JSqmgoEPxBmpj-ZuZg3vKDQZ2i8i39bWRewkxVT_l0sgQGgP8aJCUrE7FUz8LsnkuxSFnW-yh2-J9QEpLfzMsFZqJpgYDlQjuoutbiqVzyk0mcMtQWfH6O1Zym9FoRVcdxCNgRYx1QMi99rktI3henxr731TUgogTRZWhHW1TcaK1RfUQhtIJhS_mgWYJYxwR38QihntG_67Pmgg9lotYFN_-Z1-SmioEgYQi-aZZZ_NfxYn_wQt8XpmK5JAMh0Byy3uUeBUEKPxYMG760Roo8lAtmT0N9PjXKt_7xEjd1S8OzNMBSKrgoLL0Jd-I2eXTxfa4XV3NgU-TLOFYq6oprvsRlzoJLVPBz3lCYRZ1xDxLGEDgUGvLvTrAvDg_S00htjs1eVwbL_F-odIzLLehMZ-vNfJh_uVvD4W58v3MgocuzoETT90N9aHPlfkdk4WGh-UCnje7nVn65thSShfuqPKSGFP79R3tet-E56Gacjs8WFX9MrD3-ZeTVcd8_0gkLGDqow05rthfyHhbJ4xYSxNS30LW-yxPY5xuvTFIVqJpmKOQMSMdYnuv_gRVvMsbnc0bijJu-RNhpslCwQ4wnpTkcCkkZYglzHc6Pt7K0pTo3pPzZv_ahq53jsO9PbSdtbNT_R1WOYtm9AsfDk-Tm_DcuaxH_ylWgbtCrsrdPmyguHY5DXb4Y_snqJiCsFUEmiRn0CA2nSRVd8T5ZB4gBgaNOHc1KSG-M4SbYUIuR__42-V8Ti-DYJ0MN3naeXZQYL58cVDuu-kglQFbSTMq-jlTOadI8PdYaqq9nv2XR-ixzYQb0oJq40p1zaK4_B0BX43ryPaglASaf3fWBRTd1BG0UxWWo_UW-FDc3BNkjwNgnrJd1fbF1PiJhQ3flUj6kSNNVJlWbiUvxQkOWapks-tFW6yPXFYRkylSZGuFzeNm2zDbRE_R7OKSu1Q7nkOiTN9ix8F6n5LW5ka2rht3Ar_oZdbpc4CjxanAmI7zbCxaX1e1lC6xnuuRyDKKYO2csSWJ7YWB_98nK2E5c1oqwZqm4HODzeJYjvJpp6mYVu2ee2wmExREeKPSHr6lKSVMtm36N4PG6hzjoM5N4o42_HKQBe_muPG0mjJ2RZua-45czHNKnm9p9eIdItXEjcJlNzyBtQ_oohIXlH5XBqn41VwsNVnKW67EBgGnJsbCH2At0ULN7IrYTcAO0w-BRm8EDjasKY8muVkVaQi-GoGmkEviUu_-ny9VtgNtzblow7PSqfY_zR_5UVo7M7VeA3PJDil1X3GoXzT3C-K3VIR4k54apX-2HBSkM7TXYyr47-Za_yzCdbJce51Xnhw2bkmIVstWYT5YdYtpBF6_My_MDinu8PbJ6tGTeKiavrkm5VRDenycGBC96IvKiJbAKfc15x-iBnS7a36duZrFXjYfQalF4ETFhxBXeC4doFzvmjdTFxoAHU4JYWQGwJe_M_K9BKWOyL8pGU-wFBnFfbMgsiVunteTVlcClNKI3qW8HIxOClBrjAEv2HoKIK066qDZi_2b5vEp-l_hzqrIvJqunETHboseF2X4xGem815uVfndCbPvSV_skVjw2x3YlIy5jAsZ10frlpSqLfmMz-ltNOvfQoKU_RxVwkGA8LBrgaocSdMdM3MNH5vJdee5y8v34kYwGa7v9eM8AkZ9_zaZJkIm0felnzaP-olZqMJcXRWc6LI4CR5-KnDM9DcziN_mzXGt3NvidErOfLQ2JLP39jqT0aghwDea-SCptwMAq7Y4JOQtGb2uxM46OezAJFlL2XI5P409n2WyYT9sxcMoWcobs06P_hokstH1NMxUNNluClVvBCUpF9X_WJ9gJD78obdxWhD6S7Q2Yu4LeyAgXrRpc2_I-5zTCMUpSxraAb6v3ECef9DngPimNpkHwjN9NGzff3oSYaOp46la3uxl8cOYErZr0J_ujU1jFxPWrFCLr4fsPuC9E8Oz5NaqGiK6VYDJUshla7bm9izdc_kuA39AFX_hqYJNaSbu9RFoijzT02tbgKUzxI94mlcZzULBzF6Mnrj-W7NokmOoqKOVhHAhoGC1tJbqtGS1PkmR1UfjDUknoj7OBPP_h7RqA-GyKeEZvaoJisCywBDrMWICyfrialqtJx4Rb-kCBytKAIPHV58KOe-Gw9NXWolu9Enc3cFcKl9d6yCXmTJSNNvX0i76RODCDpZMn8FgunGfavOak5fH4RBFtPVunl-uYN1MxGK8DsxXgOVZgv23dPpqeZEH0pNpRPL8Ut-Xqbydmt3sLqCZbrTdzH5S4HcZfWppOU2CkpC3O1I6WstIyqRlqYu4fNuuBfOzyKC768OnH824JhpGI0QtlHzjHf7h0EeEAeSsUnBBZ2xgkUNo7UmVzJWfaQsVgfzb6y0RMjrScYegkdIVWyRUUEpwS_SnOoiBBts0g5qeY8DIdDr1xtgL-mgttwMnJqEZd7NEKMyEEd1DDeFqQTox-1kGUG3qVjYely4RoAVL5ohOC8P7gydIPS8N8KjreyK9Yb33q41o7bLgdUiRK5kKeC2Sp9-0LnIUjtJWyMf4p6IH0_UssncgWwyqx0GOLyc_A3FuvP-qd_5QKtfAiNPl9JxWEslImZekIQ48iVPQAlHrbHeS_B0AVphf_yCuwUQMuAdO4qOdfZJ9chHCQTSbiP1UCCcmMLdd1oPfTwSYL55ujAwr0eZklJ_IdHprMVN2-MhCWer5Rqh_GWCFtjh2AjcqPn0a0QBS9W4cdzhUh3f53fwEqbfLx31JrKihzASznTjbFDoIVczkHk9DNnyOhd-Lrb3Sjwwg_NHWy3W6RHng3BtfDoEWXeijxC7y34xw9cPEH8UrSYP_2_DqPU4XOVGElNlnqJ95xRbGLebdNnu6XsPWFpaIjaB4sly-hBp204dCHVzPFjW9VpJ7Fg4w-yqj_-R_FQYa7L06JU8IqAuBqIhQuFaWWbGax_pEe4W1-AU6EkzITqkmBrSlSS_vtxeZM6GxvYEcQxITqHn6Q99vDJi6s01kwA_WGBTPoNDnAtUswzAj1X_iuX_UHO35UiHUzQKo4ZfCJli5agJefPhKHGJaf9SzDuc6AaprBhzMFJJBcVgzSM1DbwlW78yhMHak33EvHOFoDPX69KB_baGaEJpHDI_W5c_Hfyuzzk5ZW5rKbYAmA--_KHBCNLuFHzqmeCMjOuPSv4Md_3r77E4E9zLdHbCqUpz6A_XXw-r1KTGRmaC70_ZKBpUZnieg2hqmikYdAkBPhtZH5pU73kAKaARguUVGfRZh4XkPhbqvUELkB6QBHTSti5LTqCk_zbSdIVJMEITHFSb_HcXq1XqIc6T6dM-jP62ATk0Jeq_W1ovZn1kMCoqhpxiPWHDBMccckzSAjtX_YzwmuijDBQTWve1aro7sRjVzrwVRx-95atIY9lw7vc39h4ljT3ZUKJbxWlm_8uXv8KBbTXTs5uXSZd6r1IAt-fbE9a6pq-7Jl0J6bpMSykNHe6ypzTeFOzMuXtpqm2Nuis-rgneNXA9xh9hgoEGb6EhdWrskDG5ZRkKUzPUy_cy7I9zU1a9m2DsaJDQtHYRobgkheBS2JCQAzAlQkOu2vHRAYB3WO0BEeER5EcwgGdkklt6Ny0qrbttU20xONoWju1icwd4JOfkXnh5XI6pabk6VAAX4VdXw9A8p-STJBQUfQdGpKhzLhlV17-Wz2LX6GEc6wqfnBcGywh9jwJsTlrD6GhFnhVdufyWrHVLbCXN12gbC9Oxui4C_ApO6TnsrooFrwJ15Qrv-kJQ0lYAIsvNDBRxCrFe3wMLeDx3D7iyNbFkJM0JvhPMVSN6QZfFCTG2Zm22FDu54nWdrTM4GvvJCTstMMKp5LHw8SPSsJCzXnbzQ1lhgjnZgHvtyTqLckIlK5cKKqFy75JzU4Jcz-ffWpvqwX7LWHnOQa6-83mk29lUYmGcwirjAXZI6tT6jB67nqARyOkcFSHlTvwTlBVKRWbYyhlXIZN43dT5226QqBAHSQ_OpiuInslRLNa5fNk0KRYAC4hK7zIlJoO2kAu-A8WXL1rKa3QLc7yOp3NaIEKKY91JiDGuFHgwkya46JgFgI6jEgSIUkvIX5UioccTECbh3qO73MUVxFO89Bfx29GYvOENplfkwVRq4MJ2UO9JtjXj_ju0zly9j6R-ayC230Nwcuj3-NSR1eWyDsn8gd75klF8GE1Fh5YD6j-nPAvnkEfY6umvHF4c1ziimTjbzG77WWJG-YrAdQHf1XqjR_TZ7PhjH3ao2LVMC02ZJBWirAm9ZAhC1Rg6nuuDKUryJBhcyy3zriGsOzQXBMgJGJJERdwrXcb5Qe9RfksHtKzMKHFU1YK1g5IssfGg1OPmENKZDJEEuyFj-oJA5LuRLs0S6ujL0Qs-qQo6gxq73-36RRYY9IvyrwGR023IrMmqk8pxMd5ADsPfqqovcfstky-aFBnJTD-uqTPdx4SZ-DK2oqdpmnD2nr6IHbOyHObXPTmL3ToHr1LvyOXOIQWei1ALBgrCn_KhhpGVdgI0KBoYql-uPS-efdLhx66qtMwTBI4umm40btKPt099CQtX58Rg8UYZ6hMZ7CKptM27aPgQxq6dbY3t-jgogbuP_PV7TsEzEcqQ0uMsljmXC4gvoScKiX-DW07pqYmLxXruUbZ6l2BlNZOZBDdVXl6vCn8LReG6CbInqpiHL2fDezKFQVsP33gnisNAnPO4_ucvFwU0D_QWAv_Exwj1LMYP_CZ14hOqHKcfM0lYGy5_CkZlCwggldm78rJ1oDYJsetAmjoUDb7y4x3cXgaMxdAfBkxlPw_NtIlJdJBZYwJaLj5nM7CWBKkCdYuQN_6_xZ-9imm8kKESmR0Uh4V5JcQzM0AEsGjZed22tA0ASVlE-kXNGllK0IwKgDsyf_XsuBSjPgMFyw_aoLEtpt5y_Y4jT17VHz_yeqYtDl7YDkVQSSAao0VlYBEiiQ8yQWTz9tm-_r7LvcOyjc6VOt_NB1BpPHkiqYD5hHdPd5ZSAr7-aQZ0LS9-iIeNyc4skCCXr9OhTkiPMkVHQjJeOehFFb-FrSW1h4jFN8MMY4911nsjoYkEc1C40BP-uK6x6Gl1ZVwCADCq5hkZ7txohxYLDFAI5pfitvAJolHgGql1lEOFJ_Sht8AnMYWMsLQjSQvGrLnC1F-5VsdwpBVPcGMgv20uFYsGxpzHPwVCE_dQs0fvul4YAWpTPYaJzgERMQxBMBAU78tBrftfNEjaQHSQCSq_yrw-LW8F5YYhAXh9ZlKerRz_MhUS38TwOGpsFAk-18KiT66rPHpCRQkpU0cFKtewAgUQbUFwU8CQpdqmPle4o-9mmUez6AQlEn54QhEyo6pEYON751IMqeaDajkI22MYjSrDWIo8gSFP8eGbfxZLUsEfwdv458yAWsMTwh5aUn1pMB2YYyAVGDiXV-ic8jlz4yoJ4Hbphrvx-Yktaaqah21LpeCLBVoy0xrgBsVXlQ0AGu0Aw09PG0VrMvcZ8WUETyCQ5IDzy0ev9ez30dRzZcATz7GDEUEoPGdPJYEI5tD34H5-6k28_am_AFqzaf1O1Jy7_lSvtvtNicCPx1NT0amp2buFejOYxYRhe4hjvjYegfsr_ZWQ2TtJ_tpIpEQBXPg00_KLKeB7ZLPbfXa133wVh09mKRS_6nqBFGz6aMgCu_ao6mrG7OAiQp8wL88JNrZ-Zx2081rXbDqQTo-RoVWLwwsIUJaMQwz_mkLjhSE4kwbKolEqXGFkc8rHUzxxwnYWBVNQcwtQ3vAwrmqriRFOSOTNf1Fhg95VHjE7remTNDqxcmxvqvuMHedkN9EdldEs4PGSfNIf8W2i36GNMjLVGpHxZkNs74uuiMEKW73gJuUwPA948XJAyFyH7xemZ7PZptdU9XsAkYNk6C9hD3w92pqgxg92mnnhv7oxyVSo1vDZrTGXsA-voo9EqwLra366c8muiGqWw2JoeJdFhDSeQyfMwD3KgE1jthPet3NOHGbSjUqxj6P-RuOASCI3WIwihToXFqd7d8KFDUifBeKZIPf55pyXSZDIVxPOjch6ZwxeJtgT8yHHD_h26cI5iA1GRmjGzh31jfuE0UrE73Q9Pc-CrSFAHAirUpKkADdL6dzvmiu2xEVF45wtx7pGDKQ9dNdmm2X2qU7hdLh4HdWuFv-eABIPXHrrsWmWhA3kA5dTQgN1XY5I0ScQmDfXhWggYUXxIJDHJhAr0op2dRnSIptimr7ukczMa5ycs3Atsh3Lp1_E1sQTkmIEJ9DyH0Z4it5nV3DCAdyRv5Rv47-d0j1xi9I30RrDyPfFDd4hnQYFSbNWFFTESITR3us8D68xVl3jr5w4wbjC22CW1eCE6ravvqRgEHDheI0f05jo-v8gPHQJvcU6r_lOQKipLOzCktJsHGnkTsNnZfcAmtO6oD--EWWqvAJ1AZD538SqHMhFaMimw17qD3B87WZZTPT3vyDsQr03D3I-k6TkUT_jOpOJ_CkjTz7T8urmcNbo28wb1eav1PZEdnXq5VzSi0ZXkzXhjaUlNyrexGIf6bg83v8WHjX-VN-4n01_45pPJS8qpBX39knLT0nAwudIbkE013YJc33Z3vSOFIV4dKXgipHi_FURr2bD4V3nCK6GFf0CdrpvNWbL13IAQctZo2PC9_pxF1KdgLroe0KJ9ESkGegwartms6Z2yqlkAWBD0qrg1rkGjEtRPqvdRJRsg7K94HVYoRYgF_BT7DDTnFANpi6BAB8mZnnA_5MDB7sKZoygHa_Bbqe9-u7aaAujEGrvy27DvhziK8joJzgu158esarUkJnQiMWfDorykMsHuI51RjASGPNQselZUpc6n2q5RyWa_V2J5j-O7cQ0c25UxWaeF116_lU1ijO5LaleDcBPwWNmny_o2iWD-JXsYf3pkawU_p_H1y_zu8ELeyo_pjMooc-YebLpXaaIQR_5OWxBL0DCbiHzDn158IraIlSTn1VyuZuwbYneJNYYUcCokNhiGo0ilukeviQQdxAOChtPFoMbpAFKruOsI4sQfEAXX3HNrmzMCIWyNxV1lVk9wxHWX4szPW2o8qct-R9gwY4gtK8Lh4erl8JNocNBes1f_6eSGvmD5-NGlHHMYN00EKSrkeb9qQrUw6l1JMlNsGKLWYoaKgG4LrcO---AwHm9_i6YPBSGUxa4PzQQWJZvP0AvVE7ixN5gCmdsCVOKV4WVueW0k-QyQ7NVj_xM-6fyRvv3_gT9gTWK9yg4coUAHrGbdVpf__oyB1IFA5jY8RSFd8y10sOecGKx0_SSYywGc-YGDOoZcPuUn_F0yodTGeXDdgkSfFf-KNWCzULuE_QFFJbf7IhpCL4Zfh1N6vaJOCAgZ8ORGbitvmfqhc80RhFMdbJ6JYjSX1uFp00QrZ3zm9zN0WvbP7Vh8wHkZSHG4lO1HSP2MuhGW783JlzLZEqmlR58tDSgCGaNIl3SZ2BL2GFiGT6huu5pGGj6BQ3GknadRjx8DcKlRJimoqeG-u8Vl6piX6QhlfBwlxvbRzk0CFthjvETFB_7ksLgsU9CSmG8cVxXUWPbbS9ehmoBGpngM8dnEnu2AnZqeCoOTNTWOJEdCfsvc27IEGKJ8KDAt1yVmzw4LOoFdPJQDrIZrlA7vg_IGBKdoiRH_7GC5_3YyPg4y9XfCEUvY9Pmsc-fdH1oMjqVPpaSZ_XVYzvIY3LECZdlrKJi9rWdk8ODaRuJ1IRujOJ3ukiWbtJW-g74hraILS5rv9lfdqnZYb2b1_ZdQTxDnkOBHPMNYeR5cO-M8a1fO13eVNjeAxP3PRaCyPKFZf912gcjXjdXlFJPT9cuWrZf_jg05oecbncFQEq4dSOWmC06FVlHAETWl5KXjC6DeDimkwn887iQDImL4iCosfLh7P31B_zcsj6X4mHUfuyxBZvS0Al_5jox2yCSaogGlEyH-UewhqHMooaiExYERocB1X3y_fnN4C6wINDbXUPn13EQIJiqWHDDqZfG3vDsdL38tXiaCHHI-0wCgMrpJYfQ6bjw2BaY15myCf55aC4ZD6XvKICF0XIutU6qVZCh9_fiCDEs5uKw1lfzvFJfTzhvhqhOuJSHdHu7y6c4haEojMZ0c3MKVmnd8DPOSa-WVo4tawy777B8-4qJk-P-Oh-9IDwB4y3h6Crg5o7T4iaHSFPGGfJPiZVC-s62RoiSQgI-00VX-CjqqIweEcfsvrajUuWBSSh_-NxxXsoCKpHhtAkaSspzTB6lQEQYYIQtjINtT5TXucpwKupxPoio6L1TDwdcxF9NB58DrQhac5SeExXS3RKEYwNrpuiybhCjqiu5ajCvQdFiFPHi-CDy93aph89kwGjJSebEi2D8jEy0bU_0sf6CI-TyzxHz33YUXprb_DyjV4hvlAnhRL3Pijr3canTyidFGgpSIVhH6oKwsuG6TOUHmFEbOEZMDpI1C8ilnqPYaCb727NLoZfgh05qynQ3CwQaw5sWXuYeG_a6BYdXUTtFtUqlxuNkbdg3nJsL6kgHIJyNp2_bK44isZvUXtOw-ocwxHujkU5kFED1eZee3uEc4w4Kqck0m7KmyYSM3Ps3Icik0CgxlJVQlG6tHYW_Y0Vvi1_3RAeb6ZTuasrv1jR-19U6Hb45qppGZzznA8QnW7SuShcmos4VWdmeHx9Dk8EDOPwKbJdSAZX7-S5ZlScbuLKHTIkynZT5IBIoYMCxrGPVWLDLF2tusVFD7f_gLIVQWnjquuNgyArFrbg3m5HSx4OLKvTyLQk3qz9c66XiYCKJVWDdCKBtS6V-ZYCQB8lBiR2-wepvuMG8_hYI6NlrLC54mn4YSmCGzG9TFWzS3_0_vnJsNp0_O0XND6n1nSnBMiyh3zCxzN1FLhcr4ThcCxyiMWBC6QhnUtV4jINK_BSwPyE2HwOXJcBzUmyOBkwYXA4_4kFJuTw3PiGWhwxWZ7usliA3j6dyG4XDpAtlfI5IZDvNv1nuAw-sHlNysDgC2QF7XrraDolo2H3Ltobu4Mu0qxBeX6yOhn3mO9fYkZ5_vM1jg2EXy2i81G6EGzhgA7YLHadGpYTVYpmnrjY-QAoNlOOjYwfcSg-IDwJzcUSr2OhKqq1BW0a81D2xdTTXAoVtWOlB8AuUx3nBqGj9CKmsr49f7aaTh6ciT9Y_I4TO3xq3ObUY2yN8405jTfz8H2H7quNaGl2Db37Cd7IdCLSjivxKP4wCh7ulA8piTiqRtWXxuEZ8eC5R-0Q9Esofujfo5le_jYBjBN-aAhf7DIEyO7FUYcVc18KZ_q7gDucrmuD_Iqa3dqxCM9LhagBMHawEt6y0RzO6HJSChlltkGtKUAKlUTus9pRShQryrD9-hjRDESqhmzTicfD52EsZnK5TuiyqacsICRuVyG4EsTUcX8JWpmd7BQA1pQLdpUhYkLZqHxpG4PouF55o5nY-7cj4FnlNj2Fiw-grDKfY4tv3NQ3QCNS47PBYOZZT-IcRa3FumntVVOxa-rA0iCLPd8Hwl_moNnsHByamUAqFUB1izs7fswt9ZKPUEFjDL3NMNUGLEk9HavBHeqJgs09TvRSCKlNoRjmev4aPLG-LYIhKUUKXBI0WXXd5XaS6W3Xkb8SqohGiQxCpQ0hMKYhdwQ2O-Y61Tcw7OB28KuTd_55nRZCINGj_bzZMJA4-ZGlj5--BIntjSWE-I7Il1ERh4kW2VntNnAoEY-cR16bUSTRtMYm0RjkQRrC0yRRo2fQ-rTW9bYku6FdefWZgiJj7rHqtzmVlYh9Wjrtx2gmGuF7EiLnVnrLD4V8iF0Yb6hXSWSfw4ZMLeT-V3EhnMMFUjdWhNtM3R8I4aHtnA-voLzJVXyOEyrMNhcBFHcnYgtXqer7PGf_cd2Mamtw-DWTszzAT0ydMbbgHLLeMiZkOH7MpCrLl1t8-Dw-18895wZI9Jn7eW2-VXloxdIhI4p2my1ldCzax5LwcH59jHmVYxU0AVidUeVrK-T_O54yAX18qyRnssh8tSPqjA0c9n0KnqZhFj2iZznkUyjzzoYW7k_KZZ6cVCfzT1zFW47OY2UtoGrAlp8XzBTqQFRRdDXnZ4EwinyIKmt7eY76LxySSVsylM5K-1-7V1oOOxHJL3YgLmO0UD8Q4kM8n96n8U8jE4B_gDlvZvzZ97pp-oo2JCJyYKKOBkHzvTv4JI27aujp9pGcWlIyktqQeW2YnpI_CMbE-CieQ_cuuAC3MmhouWa_Q6lNoPljeadx21Mqw4KziHAkkgLcFCM0Tm6kOoNoQHkXD-V3x0F4QJu_usg11hr9zlXLcDJ9YbmLSKjHw8lfDLoLmbmPRb5fVr4s6Nk61JpZq6JpkVwadr-8iZnDfAkSVBJUbMRX3mKFUTd0hiLtScA_uDvVXOxG_7mVqWxP67Vh14BXQ_3U_8pQXrX9F5qboDjvLDFVIcEPs1wOdQxgy1C4YoX4L0ojiZd9B7OpHZHCYgMCkUS0b4DTstWWGsws3Z6JlPiFt6WusPVFmdPPmq21_zQxihvGZ8S43y_-kyLn7YBflbzNwCoEn22JA2N3GkrGCBbf32eoUq3DGKCZ2bnInqdXi_GKE8WtiJFT4NNFmIpRDj3muXB8x1_EL-E00ozCCN6BWptGBo-cvaV-ASplDfC9u5uuChiXPdb75EeBusiJLPcFlFJl-cxL02B2TWbEKYJDyDKCLxUao9BNszV0yP-PoTBGV62EdHWkogAq-HYtwucp76BQWC6hY_rQHMJeLI7L4MjzbQHrmgk6c6J20B1In85dYsEQAMIzpoJs0l72X8v0-gUKdQU-eMgk5bOlnbIG9t6B7bx2lWUSraQo5VIR-qKr1_aQZNfxWY-sX7zm59IZORGlP8UtCrswUl3FltLpjPpOQbQwgk2y5utCSWhAsddUrW_PYe-F5IpYyoK8nbiw1q6sNSb4Jtsi3V4kSJ5A_mF1rNqqkPh71M_BRpbTc_vLIRXR0CdpWJ686UeZxPWQPMj4CfwC6o8CnjLvCnYK3ZqE24NY74xCJJeWccsL9uN_4FmygcHHAyFEq11tgz2LgSPSpaXplayhsTzFqtP7lZtkgM9r8CxTiEbGLyLIBjp1M90Bdr-nDxqP0WZKJbPHEtRnamqRZyWKymdBwx4vz7fm3ZathBLZKKFOkMB41Rw0sxDewKObLgnE9CN-q_xiplGqnmawuvSZFzV8fY1fsF4x0qV9DQOvJcgosv1Ieeg_i-EjoVs90SNoOpyEgzJ6yd4h-R8F0ellzmcAnvSIhXXeQq8K8BtAsnxZ1hfRT8DlMd7ZGQ38kjYKZmXvF11_sB-wQEf3NAycRtJ34yXOA_jMwZ1dJhjGh6_nzbx-8lWv83TEZM4XQjAE6Z3z8T-BdPOkLQcwhfcHJri3oS5HGcONdGB2h8EIkxJj8NS_lqBIqV-tedb8ZAMAOHd0CuSb9_vNWvmR5aCAknOxvCKNzsYzhVPyg1pcFRkmW5nFrQIOE5-UJjvfGk9FX6TiSBW1FXZYMrFTsERQkO6Yyn-uVTfcRQkG8jhXCPp9ZWBnte5DNen2Y-yIkweWpCrj5wvReoM_M8Keur5qmh8epwabHnLXjNZJdOFQZwv5VxTkm-oqKUEu9AJocIW-Ug2xunwPIEKnflm5FUFOoyDQcwTPxaLazkA8qwSqT1VZgm3y3BHfuDP0lP9HKoY8OaiAHf-xoZsiwlSPEV4bmnhkgXiMn9bht6epFFyFnQ1oBbr_kgovs4NvmLm_rJVcbUW5SRuZOBphP82Q41KDAsDXToAf0kYDaKR17zW2C37yRRYVqToqO_zOIaO4kXAcQndJVkZdO7AtqQFWm-CYcbYk5XoS4LrxcfyCzc4Le5V45Ekkbjzb0o1Mgy-_Z_CzLs6QFWSJK_IC1Hys-sUPwXJV57Qt4-tyNVsMC_LVnYx0Ygo54CslU7Wy34YfKwX3ytZH2TunAzdkWZLBx4MW9TPL4AjSdnHct2UDZNI99k_IZCs-LGTA39SkNlQPVx3gojO31Gqs6_JQvNHOuo7-kJM6kDHdMjhWUrSPm-1vteldxB-FRCmnTTDtm864NitmUHjytTBPjX0yrZWuLoCwbs9YVjqjuV2F1lCRjxNfjfPk0D77i_ayw5HGoJ8eXqUEli_Kj9GxhdLbwEjRBdLfZqY2PeAJM7o9n2-47XkgEP2XYcnXoR4JlWRaQsXCnv_D_9a9YEjgAxulhiK2n0a1haWlIyw1XM6zjtdGE1FsgNpEA7hlbTJsc0s-sSXf7o8ixnVUYgL6EWopfKAYpqFYf2JGQvx53ZveNheFxZUuyf3UKY_orfTVZFdhvTEMIOxDaTsDRySVRfrNK1wO_A1gqtSSEnsdF0pbiS8r_L7qk97qbfVIIrd_Vi7s40eOVgX3dYgwRsu_XYkGh-dXv3FqQx7VAllkS8geVSXO6s35rsmtaBpmg8xFCiFWfnThOoo0jSlg94MtyZ64xVTL625itX_z_AH3hu8vfdmHsaf7aOV74tHV1NbZRPP3sU4_CeCVdpksvnjRbJLF2K9rsvNkRIydFNekaSdDW9w1jPG91P4S9-Oymt5nyCVVvkHwnG-0bq_gmYuCFn3W0q0L_Qb73svMMeKHPU3uxy2G6C8BL5SiG120uGm6pP9W2Y4hnj2aH3KqevdOm2tnHT9KeuL-yWBjuvyF2PubwQuc39V2dCfk_26gyxeCqv96bOu6G9r-j9PdJ2W3yRqkIFl9Dbi474ukLtcZ4y1jGzifZnNaGVVO0Q_fcpBa6pXbzYrqZ6U-wKNX7lsoF5X4o11GtFaKxTDF-SykV0lN7k-Eche755tC0JpRG6nDcrsD52q3IsJj9x1PgS1mkAPq65FLRCuvJmgYsAlXsY5k0bTsq7leThug52m-kpaPMnJ8_njfBrZG2lgluBwnATPlmlIC76qnCSdgHZXeupa144NpeqyyTMQ9lNkrqsm156D7NDT__bGI3ye6vtvD0_fCOmrFSSZkV565erA4gxWbpFZPpwTM7LyKNyjUYQaDsQ4HcNN-c38mu_8KP-o8v7Nwp-0iXOwgnIE0pJWVe6V7f9xyfJ_5DNcS6Gvt4sWsGWkTXHRPu8OS6Ys16iPhDLCBIZ7E_0jn9aroaDE5Fnd5cyudWcM68_xqxfyq_knM2BDxK0Q0iHWtONWo4PpZjWWmSPGeBxS5h8AYqC7VbaJZNqXt1ivlamtHGWke7QDu31OPS43za89O3myFUZiJcTSjG4XvZe29dHQ8vV5XF5G1VA_RU2Tm8VFiGcqn2tu3MuxPR9zEh-6aUSJqAcrspm92t3mJ4lAhoZPjeEYmSsgtu_3uZLdRieHmqPqp2tSOHS0aqgkf8Od9-ylgRUp-KBeEpy7ALNuQ6sq1anoNOAco9SxCIwC4NCmMW9gWIyLWSOprIaz84T5omCUKsyBBscEs7hdDWFIAjfFkc6U0U17d3GwVukU54NuhGlrOD2YsdRDzJ6wRkZ01GvUJmXcYg3tQTjnZNC44vdd6_RFLzGgYgh2tN8iQuqheVWbuRLkY23yqMFfYgkuGPhCi-FZbywA0jlw208p0RLasPu8tMoI4grnYOAAbKfI4yHw-XbFM8BzBWTU5pr2l0PZ5Uovq3xNB1yEYpomOuiwFqE4p7t3JZpGY75-Mz73AuW2MFrYGIfNaKLGvAAV4bH-J1PKpa2fInJHQYc3W6V-TdV_QYBY-DISWdXA6vm5dwEwk5aaj5wQMJLJG7wNYiprG6rwHGpCLaDvVVZVq9TxCE0pIzW2iupB8NstX3O754u2HTLUxRDjhg_w7iP-5sheHDuI8mKYyTlOdVLkBFFTCO7vRbwdyGtzGHGHRHl1wbpEeIuhq_qr_8dVoKsbjOmGd1OfbYnTRgiBYJxTOYU5BLOyPqmcXIDz_4YKZ3JIA1M3GE_neKJ1wk0Y6KYg5X0HcOlaTOLnMVJbqNDF1SmSW-PMPpaQvWWMdIVythK0V6QlfuXIeAfZV6T11A9ZC0cHW3HX0RhrrUeVO5y63RhleM07SczZydKSjlPblLRFy6GkRwQuSzvezuho6FXOaJcWAG91gYt3iZqiQ-jPI6DlgRLA8rPhoDIHEUYroxCRlJ9ckg4IVbXExq9-hL4-N_TCd1qh7wHlf7aXmejtfZtKwQtDzRCJywoyuzEK3DDuKWDfZmIdRw54vlgVjsX6350nFZfn00GNmWhZx6O6NgAlgGS_nstF6TwDMEPkleijyyrSXZIbiw2tI3yHelvDGDN-H-ZNDB8r9tSBrqI2-sJ0Yz7QUxkNo3Q1mTKfs3_EkeydSko7BKFwzcmU61unPP-c9lQuylygrDWjrV0iJpr5BRKk419SajyE4A99KVfLJHgJK4aWBIL0L8LGsjcXHDRLe0zDRMiMxf7qD-kcYIja9w_C-iO0mddWT9EP6ohUwb9YkTrcJU6lNlEmoEnrqzcF26IxCqV3OrzZYwfGE0O3AKSofT2t6aZ0XK7Y247Xi2lDVNAPOlAi49_Jt3KU4haHnB6WqSeztVuwQDWDAaq670ZW8-se3ftTjbC2Wn5PNxDL1CoSTGaY5N_h1U3dVtFmccbqvCs-gtcWsFsuzWaUF-kPZ2ADH7RG0_vrA86esxvHI0I8vE8-F_xpLSIq-g9-nuxAqVCQWMzyHwSU3jSeANMkYyLleToEMSkIfNEbUGA8zdqk8ZPMlWt129UQXyVFDsF5j-Ki7RUgn-1AlmRUB39SuzEU6LuyovpSpcEbwosjBkeo4PDydLh0-AuzvvVkONbNvaKl0aIDoWK5C1GTfKCq6-HVXGHDefgC8mhUXrRN2IaPCQi0DXdKlPBkkqfvuWRy9tLLElam9I7W9EXQDZtWCSu9Gz0scfYadO07dE1O1UC3QwoUvp-FkS4UY13IbQHhZDD8nd5T1meNaG2dP6ZUZzAvIEVSCgjzHK2DfYTBHdbD3res0qL48L6RCHyb83JVYl5pC3F7oWBzckxmXTYIuQ3wrWyJm48oRYZ6nQP56Hm00r4W77V-HhLH7R0kNR45TJfSMIGOJ8QSdYHSMnJA-Ch26zd85E6silLVCdHZzuHNOskKx_X9Tl0udtXKTbgoSj28KbHM3jSKd217FpeEEbtf7tAFl-GQf7li3NFicIGgqBz2tTmSNL0zM09uD03YWh7nFPfodliwEaNWmA_HOQRhppH93Qgu5DFFl9Q1jglYb-dZL9qltyMpmRby5fdTwKxw_GY4OnH0PmTKkzktn3dICGoppGyuaQqsb5N3PwsrK9CG8xTN68sUtIcFBp5lT3Zf4B452P8pAH4dGyqwJYZBUm2mn617RgQuc95Qmn_SEk0ypxZX_aw1fZeFKANmLD0XMMz8e8Ji9ULlu6laOObJwpJ_UaSbhSiLaNDFvr7z7tGwWDrlRyUrP0tl0U_JwT-GUGE9qN9x6ppfUUOck9LKjLXBLuYW6RmG8jdwMrVTPHfFZ_uvSN22aWETYekoAc4ZrFvQ5Z5VVsq3XO_fQHrXmN0K60tbB86jHzO0boryhwCUgrC0S2kSws62HjbNwh5GI9octdH-iK9RiXPCTWnTFOUouzPPTuPRZXB1SLrMlhTIxWQwgjgG81CJnKFqwi_6fpMEIfFCUlf44eX0WJv97SLi-q0Mww0iybEXWcB0-Cl9GzWIFXfELPLT_coLzd16RuSUrlgB0i1T0_sn-_lvVC6yz1RJPWY7nKiPBlvyDqMjp2MQrUsvw-nCkbtYEtRILINM1kDFR71cxXhkBhpuFbLgioFK5LmESek-4NJg8oNv2VfDnCywH1SP3KU4FHK-CY7GWP9HMJ5HCzeGl5utFThmurcdm8qQjY6TKv00fgiOwEu2KaJjd9CYIxp3Svd7FjA1o4XoPYM6sPS-97_RqAfgvB7Hrwr7fbsGxDMmjjSihMP1xPtEEePDLx7ZeWpCWdeW7KQKAuVQPORYrluVjVBNzaUJIP6NXN_ufl6SvNBrp46kjrDhtLx16VX57pjfpkRwOu_hEKZ63Ms2MakrqtC5LkWHPLsRWXhYHJLvYF3TI2ED6YevbH1F10q5DoGu6IDyRbfX0Pr211PfKQzDj4wdj9JGJpXdkDtjVTEPWVRPxIU7s79tcgYR5k-G_C1FawZM8FskXYI9e8YT6qNP-BXzcfwK6VmyRKNisFqfIh0v6pV1kz2RU8FHoAW8l8YwqLR-OyHtj6vSjbSS48CZoy1tI7c8aKOXpk3fA5_jD47iZXYPZXTSyjsHqcXIZ8k_bK4CD8p_KMurqCQQnB2gG3KPgXsC0n2mXIzFwYRbJA1jcn6fj2vMFSbZv97vgXvamMIOf64MJPFBlzk3HoH2x_ZqrOWSCyaoWzANQlsPVUvy6t-3vUQiBdHcXqF_w9yy9h2XNSt2VOahWIQ6KdmWXnpBqhqfksNFa8l4hTA182pIMAfS7Y6BCdW4zWyAb01TzGZMYV3fdYrjsJcq7SnAHupEImp3RwUqGfYsL9bPL-w5aOcGLzo2BRXzRI32tBg6YO4k41AS20l7-nwW9299H0RC0HEIRb9nsAS4IMjuoR0ubHQiPeM-8Ok28zuzJakVF55RFz06Ug-p1DQnoCKP--xxA6gm136aTme2Gpsiy6jJ_BBKFGyMEIhpnxia_G6lRZRDlrp68Lbk8rmgawBLgh5VEk2anSZsae9IaL2JYOVkeOFafQJDyUjjxTa0FoMqktmwsY-2LQIwvNmSHBfjTmIJ4emrBLvJkQj0EB1osY02PWdh58phA_H-B5lzBn-TqtNa70yYzj1GQK4CiMVdYKYBYU7uYRd4Z6-IJypC5ArOUv6abmLqsOAHA7wrc8LsxEcixmSCIn55KCWnvHQLRIMVX14ss406N87aE17hI-Tr-7BMHlfowaoIZRpKIITnUBrXonWO9BLa2jRJyfF4fKv2DRyTG6NhNzkXlHyJ124UzAxYgK1Wkufu0ijeuZxnRhZjMsgfEKyLmiiqffbE5JH-nXME7mgzRxPMwoFA25kzmZ83rz7BrUUIQ7eLic19_uyE9IjilRaEqbdWl-M3SxmGEhWCOm02KYxGW74di27YgCZfR6ke5YfKDNVb3p0YJieoCs3jfUrHl8NJ4Fn5_lye1XZG2-U5Idh8hs9NsnA6jto2l5RcmsEjH0chEfnA4uO4CpMfOyONgB7ahVU3a539qSCHi7qLAOul4Nmef-QO68VaZq_DlR9Gjsjc_DGOzjl_AMD9badgG0_x1i5I6pW8BupKEQj_NOumdMdqT8xqY34lsTGZcYLxZf8tLcwtW2NA85sHQeJUeJqNTSqor5WLfPAROrq3briQfsgLQA-dK2RM7gTxpo-KaDR2GM0hX4sIjED3lpRouTZ3HKowq2mwTNJ9q7nyFPqCUhosQLCz3YTogFeFflyuhrB9Oh5qLK9H0G61n7hNQfMQV9MlSEtvP7e7_ayQk_mmZEK5znmnR_wt7MmfDK6NoGQTYESyeGAS52N_3xvLd2m5UkI_L65ffB_W8yKxSGGFY4N6jFJVba1hEj4-W3s9kS5oGMBTwTdiLvXNjQsVnmGpLf2oGrVzOZyIzsA7z3TG4AqSUhDu4FQyZ_29DxRGyzMuMaPFI2295eYbu0nfJh9XWvpZvqCT_WhI9L5-7TWic3Bman-byw9MIZVNZbooY6k3Nwu3d17nDG1-PTnNIkD05l3fskKmwR0_Ia6mk6J3R_qKP68YCW2J4czAdbpXzGPn_LB8Z94NQBrBOoW2TtoAqUSDMG-huQjYPzewzn0L3WWgq194_RyF0CNDiT3-xQ6DF1S2ckbV8N1hukDrd51MKPOCSafew_byNNmDH-8G5SHDPvIAjUJGeNvpTEddvb2ADicsOsx8YImEJXVaOohqWLx-KQtCjtJxRTmpkI2K-7GPsPrwoPACUNlR69ef1wDh65Fm5foEOgOZktLkOHSHbTfMpOMMwqFwgYI_ruIWk0LurX0D7fwlaYaNyJYxoPna90h6vRPG3xhNlkPSUJwZq_njDjSk8tErIKQ7_bdKOMh9CS3DPrTwrshfEzeQB9_b5dr7qEjXCSnssjjzoXvkxy7OgHuuPZW13dvkqqKI3c9bihPV_Oc1x2nNC_GvX7RHJ7EYrt6YOWKbtoJu_QZ_nXOjK_i3ucpgdcUexEPN4I4Fmhd4aOaw5AANrJRsapSqgBJ29rRFFuERvqdicwaE2L5lx7_ZjX0xrg_EKFlvN0yBLGutf2r4LF-eC-SqKr5ugwko3KV2gCnQFEfMh5mFKDMRYY6f292G0gfoAvgQ9VBVKCUTFq_q2b458mSXPLDB9KbQQ2pTzbVjx-8EgW0lbKH_SpmrD4qsM7uvf3O02aH8PrlDZzl76YkAEaqn8w7pvbRfLDckx6otB4MkU7FJxZwBg-oS01QV_IssO-zSkLXLm47qh_s-tkVLdz43AeIImcoj99MM3697cxiQ9qAZJz7f8H-_NkVjuhxctGsBZzmxVDX870_KJre9HDwLlOF8CdGe-bwoK-yfyRrO1OxZKsQbRURMmroubnTMgYue6h8c0gMq3CF1eJ9lRZoxCxHFSAN5S6fsn44rtvMO7D_vV3Cc2yCYqfw6aEqLscDOsPgydz4trLPdAF9EnbR08uCJb3qV64kkMQ0dqb_VbAUIujKHTeb7KGuR8n3gMZ8ksQGAIHSkNIecmGVyoCo7IgncE_zCYdxrDbatAqNmVqMgJEkniVGONyoqXADUKmHOB4LhynTIYXIvTfRzOOK_ASIB2NaO8EN58RZ6fPLcUBcu6QM8452wbKgJqmrhacZq1L-wxbvLV7KHnpK0q2SddIEQ4604ZMYxFeevpDnw_FKbIyzujlbl9fg7juEf3lAcW8jWtTXNy24HPRS-qIh5Zrftiwnr6B50ntbpyol82nMB6efWuq27NaeKSzDTr2Zjki6GUtbzbqa12FERNAeOB5Wf1UfGq5NLOTrdZfl_MSqI8yhoCldy0L4mPcjSux3NhYmt1DE_tsSenGZdGh_5gbrth0lMdd7oN7wQmn51Ir8b9A0Xd5mEWrwWWxInFhSUvuYTUi4bYRA4L3tdB73lCoZxq2wSgiHToM1k5mlMcorhYgVGArl_b_lFvHhnYZXtdG2lXiWF7yVlCBcvym7fqLgMR89HXJCSa-bJ0d3VA_fNwMtce6HrZ9LZelOIBXWkhpLWN9KCUhAuTGIHaR0JwjWMZL9HDDoUTicNQ6w-TCALJV4bDCtd6L2mgsCq82utXmHM4NtvpRzJZA5oygdXlo2BVcZ_iPnpEVt29Ytfhfl-zomsj8fRR12RKfgpta6U7uRmBt_x6wL76j5aILcg26kNedCBAVIfs5qhXbaAnilhsw8HAOaiuq9aLKY3Yhhwps19epeyw5oirenpA_041nxxSeBxpIXxpOzazJMzPwwiAw_KTX4iuKpD2adc076_k2mdVRJSUR5veRw7f9vYRQWvlOziOLDiA54YKO6oJfav6mHQFCS6PnUjirm_ecq_X0MLFX7WR1m0Qt50lCJNDOzH8I_gTlD5hoBNg80sgUyZRDNU799FK1Z88qbVTFKP5xzjZM1E2miZt9PuzmTtqbnCu5kLqwAjM4dN1odX4Pdz5-mntXxf5wQAtUenJx1wuR1xkheWt0qymgv4zqoGdxcBRp1i3YfYYHSITQaGK1JKdp15IGGfBEqlhPnNj1RT8uFOIPF3QsiwE2YTa0R0fnk5Nxi31pSTG7NLsu8rgxMJC4kyx5ebWzh1ErDtcN3K_8Fhg7cQ-VVyKYgaiiOy-IHEpDSD4aAUFn-BcRjaj9oruNW2EWgZzOeideaVeX2BWI6f31ND-1q5te-nXvGqPr_p5XCmI_bPjzE0uOSR1JfkZ1pImQVeehaceljoykuAhBnn01kYstKbDm8q6tCCc12IeUj7LmQ-Ztaqit6bX4nE5qSovI-QXIwYSJLu9JmijAZfEBKIoLqtOvs2I2G-PyW9h1rGdhMslB1mcOPpNbTDVkd8DstO7HR-XjhG0tUvRYDVoMD43fb31zX4FdJvr-LSO8a-G_s7BWKSZuRipFoMfff_IYnWvxdRNqnuLIcZcjrOFl1agrR0j7nCmdSb-cBsG5N9EcAstrQoeZvtrusnuztFjWa4RTzu1XfJI9rbH4q67iGX1z2d_viqW6ITYNj6Z-DG3N-sUXNexf6Kg0pYkkzrHW-LQSipfz6dlIa_7haAC_4vgRKnEc5tk5Zx1DCsZwei7tQ9moIeeMhgTN4vUu4jLpNP_Cm59c4s9R-puekj7cuJ2IWP4F1Z2lr2C4JqeoEr7qouCbTB0FJ2jp3WPz-4v4haDkqkB0pjxQMxrCYns0nPLWKQbA7-LOODE6XIIlEZB2jcTCJ10Bt95-N1Gxu0uLGGtLHpeLS0Ic23uhXLUc2FnyKySdIIpcvET0KdnP6RGtGQeDKYAl5f-dfr7rtrUWeIesy0CWcfnQZOKJwhRdPVfgz7rjcLZWo8jWOeoX9HpZV1mlYA7Wl9Nn0TpaAMMZHX9EZ-cOnLD_1iQM8tZhvTnTcwmwT73zlT5irK1rBZi29Digb2fVH-gkdISh5xC5MOPyM94YyX2CSq5l3O1SSONsf44Fm62jYdL0rOzUbtX9iGKkL3-UnvLPPfe62yoK1JJP1QrJieyS9JfB9KxRs7eIJhNNGYFQjq4k5ULO5g6PV_044Zx-LRmv5BH_J-Vv8oJ84vpknqKguc23fVXoiamI7rp6XgpyMNwSFxrI6TxXNsYduWkSExeWLAqNFE8tLZDcBckEUd8yTbfaDOAHCLHxCtHH5Ts-XCuWormDTCFEg61FZPojKCOnVGAutyxaxMLs7jd_O0maEnOI_cxl5bh4NSS3UpOYbk6sCUORI7mxxs5lwzDrvmDlomSUCxUQ1dNq7EQgNOk5sDeTh7yYpr0WGYrzgIbukrLGDsyx6ep2PnjYoftj9sBOhxC3l4hw5JYF_n2fVQeX5AKqWZs6DlBBn2tUX_pk5rWGpPMXcrbg8YDnsFk2kIILfyc0Bp1Hq41c6ZFMc0KGZb7S-Jj66S4DYffqjNYLR0lMRFeGyDgtKpk8OFxpQMr4pa5h3heYEwngQao-8EdlcjwBrTZyurW_H-N5-TGV8iK5htqspgs8IIXJsqpBDTgqRKDojfHsvE0F0THJs5PxoB1U9OgipqYyXAnTxV5Ci9DqH73srJE9vxQ4vcld2PAe6eh-2fnr59CCig4KiOE9tuMvHIdLL5FD8GoxKnrWyoTss_XQYgxAV3MunbRQc-65kuMItTyi7Vr9KzF6eG93fxmzGWl4s_b6bC4WR8ZWBeHXLkPKcL9XxRfvwSkSBCE29ToEpoWXlU6loRfyectSzgl-THgSMjwamZaxovjmEz_ABsHEPD5FgUV0L5OaPpZUy4-K_Yr_CyvrGAGCtXRsMNvrFJW4wbZNmsH81jSeWcPboUzyH_giTc2NscnvdLieBvusBd6b_ypBjydBugmEfS4ESYD2bmn0fpqTfzRCoMtKJE92sIBw9AN3mBANHA7DYdgosblYToyr1GPHgvym7pAwfOUQjjiSt6StSkxJ7JPVUGI3SVhZ6_3Dv05Q2GK91Eyh3ay5fgd501DIfmLBzEeugDgEGk_jvAhYzH_QEbq404fli2GyWL8zvqaAWd4f2CN5GGUtKy7MUO_uGZ2ca0zQIXqAGq1cfiIVLvU3mxwWxFSD24taXMusP_bFvlsxpOVVJ9_afFT8k7l7sqcRvLyzvV8CNVvRMKEdzQzPrmokCrHnXiosSQePRyrN5f7eV2kk3UE7nRWU6el8AxYsROmiUirWkm8y2g9UF1njBUXukyc1ko2-9Br3MZlMRwKy2UFfpaxwggkZgk7NiRd08j7T2kFMRxDtc0uP31RylLM_JJnmtD7NiUpFI5w7ZPpz34DNprjFNJnGhbDoMcHpqxM6GySC9EkMltm31B6fIN0grO2mzbPyDvU2z6tLjHYXwF4POvSFehDYPvUgLPxgxgvMDQosV8w0Qax5_vOq2hQU08SuGQNwM62Zyn97iJHAFz6pXTIAkp9ZT51BecSm-LE8UKPOR7ulIsaATwjztcCD6P3R8KJTorxoWmzZcKYrp3oVXrJlNZZ3A8SUGwiixJ9SsfmR4x9f2nkmh7uATSqPzY6QnGJsd-F7agKskvsaGCdkO-0WY9vZK9QY-dF8eFVGU33QZNeVyJ-GS4DFcIEhPflN1YBqZhvZJ43OkQB3Aqshvdj7mGX4C6drQEL07J1oYbgxNH-abM0P4eaoZ5kyRr6eWGtyPw8BWwLrAZYRbJEZwvmsNpNfrK1YVIlUKsnmdu5weOLV59VQCIWwXbG3lZmUGtjeqnKX3PAxDwbvqOEDR5O4D8UaqWVOwA_LefPRybEn0q3B-bcway-a83LMtDBhN8ygh6irr3pElu1b38JD_6XEpt1PVsJD9Yx_MazVDyEwJ5PmUa18YsgcnCSIZu_Q3KUW5d_8gkgh1Ol3OWo_ebYYkFyNZk_pvbRqUEs0gEDAADVEQWSvgfFSUkw33j3U7N6-uWHLZF2UybmSRLNI9q6kYUTGVrgsqCxxSrLbMtzt_5Uvy0_df2RJz-l3JYqpeEVWU8QiHICMfWo3ehVyUnBYy6T1SnPX7zl4Jf-6Cyjk-3P6b3t1sVagmzpHk9hY2oAY6HrBLnqp3__mbNMhcUwVsKWIm6NKj-S17h3N-aKHbDzoPXD_LywJtUJJukhIaHutfWSn4PST-mcm-6y6ZQFWwL4bL3QyNILI_1E0Z9j2jLWoyQHgZDuwOOmBrM5hx_-goTdC_ItwAz8UyLqS5cW7J4hFKFB-q3SHLEj2RcOoKxkbLyCAgvVviyOwHnH7GAxwL7V-FGrWnBkgLWLnAV53MI5MEngPOczqp9Y0xjVUtVwUH644_2apr6JRERKBmCVnnrRFQN5v9YfrTu2PW8-B-YRnOLnpGj7WutbfnLEdCNWkNk-amBPcRjYKCFfhLGeZfcBM5aOYB96VBhAKChgSBo21EIY6mac6KFqjKSydil_TW0JaGNgsbc9CyI19vkJDSLV1NayQjF11H4WtsUYA-IsmwVIdmIlkImowEC4rxqzxshkAWEk6g2_L0qy163x1pikKJ2QYSFauR2ZvnyHPt3RG-2kPmcQ5NLf1kODVq83SQR8tgOdy2FFU4h1bJA0OHGtAw7clDMDh1Q8zVHdkV49VBSkljuQc84_9P2kIFD8zM2sU3AOhEJUi6i5v0QKKFZnlAd2wl-arDTFUdzEt3A3FNAkgBAY8h5OKJ0jIPPQB-kCwegCBpjZO2qLGLB3nG9hqdE6v_5M6Hb8z9g498ABg3xp2X4_65OGhbSeqpyUWMhuIEXk0zzxXADhC8F77dfFiiHEbxviYxYRsKtnBqvvGIULS3TffygrEhAVCs2xNOtn9HhD-BuDNcYZeX7bYKi2vfFBAZXN3AXnZGsfC8Pg4pqBPHb6zs--C6IC9HxDB0aEsGEB7CpITm1sCdzwIU2Fotd6y7ZxT6ocZRRREN4jGFoLljG-bRcx_HLzYfa-bwpgPuZJsAFS5xaEv8HhNCS7jF13CJ8kSFOl9VQDpk184v8g_y0NH5LQNnzFoXRmJOyv7HaoZ0y2uZN7pOdmV_Uft1lVrv9E9hj14vth_h_Hi0_1hBn9rWoGl7ea9gSC6GwwdtqAzCzrrOzgolEZUTs0PUp8xJFBQXfmjS9uP5kJJ6UgKlyEHHJY6ic5fL5E3gNpHG09mWuW7lKRcHayzQjyOvyiS6sn8dB5teC_PaSHjryQ8Alav77H2VjGZbWCUMMelmMWNpVN5MhyV6QDuyxBsgHniVxIh_35Zg-gU28eH-QobTNjJPJgKv7m5uCjvsGrW84C4Y45LUibmfFJ8yLOSPcOU2voPCdBLbt6R4nzAP52uXRQw_gWE4JCLFmM12UwhsIK4y1W7TX6eUKXZYImkDVcVa0sknVlhInO5BCted1RwXNg1sUHgxnpJctYWQRYhg5D6y8wvuNN7q2MAB3hBKWHz5bmWT1P8GddJ-X9zBDO0WmjVL0MCa1aHxcgZ7la7IjvOSnFZnhApjPyXVQT94v7niHXKHqx_0FuAByEtaK5Qgi4naCeXKL4vapCAuSDGY9yWQlRiEcfjCX1Fn8QCD6TwC1JIhU8Xfx3a7hEIVPuq5LhFtnJ06R_Y3juUaO1FH2GXvJvheiA6mv9LngJCj2rpKhjjUYPO95ZCAeL44YmeJzOKQ4BP21f0UG4B88-Bsn0EARAUO-OYXK9B0AovpJtUXvJfuWpB2phWE1tTVAWRCrojT4OAqYxNV7kZ3acAW-ZZq1j_baabJCwvl9wrXr1yuoa-ypyUUpKqBhhQyEXsrjHpTEEo1nunrFDEWwFyBBadK-0DQ60KhXSEH_-mxZdVenK_kC_TQCb30LhIQtcT82A-_0oxvimBrK3BJ0iBEzD-I48XL1MgQC92eWAop31j9r0UMyscyGnDuTITQ-pE8ksGvIRaudLsM9XtyliZXBcVQiSQH88Z6xL0PJ6-VrOrYR0uCGzEO4VtVDU6M5vtpAuOTVkNM03OU_oqncESwja3s5i4zQQpvxCKor6ceBaQ8UUI-rEIreCCXvTNUVITa969_kR6jBWWZfevCLvCubi5Rbah8CMa1xWbpDFrABUJ_ukDue3KrmHyKXiZ-E3qvTnpN9qqUWZlnbbbefCqP3qmo-53T-AUDe3X6XioAWV1LiDr7nHcM7qlTWPWufDpS7OmCnGuY4d6ECO91k8XgoeHmeNMUIp4CcNWc3cU3h0sT4yn6xOj4lqJion0fmkJcgyRw5eEPm2prtJkfecQ3rvKSy5QUv9vjCm7UlGjGXpCkMw_mnlug2MrEWMFGZJ3VIBwdVb6Z6eQ8l9AAmJo3Ehm3P7DmuJM5FzlQFzx8R02XRURNBnfm_Yz11Z7MK-4t2klQRR8umw6Ombs7-Yl9VSoQIjmtQdiLQWcjKyEYhCVNJM6roKit0ZgjJ11YL3jbd69BzIjZWqvwxpR3lfjXb4lRFkZDS51a-Gz6sYmD5Ot6c1Wy91XfpKDM6MH-Ne_Wa0ZVmv3ARWoKlHxPquIVZhbR6IHtR0y5TQK0MClLljPNO00wvJh-O5WHO3i7aeWb9l-k8VonzCFWKnx9JUyRGVHGy9E41W_gdXwDB1uEe-YQsTmt64XxhHfcwAa6nii2PGXpR16q0atOYQlyUjlFZE_nhq-wNd2XXQLNMm_6J75MHUeSoOr4Er-Xi3ELhGUuS87kDftgoghjUiSXm8FNqH6F1BU1xkOAK56AjL3Tw4XXcLNRcX2Ot5_RdSJ1UsuJmfHogykZ8HtbRyNSHcasQHLV4dJu039t5AqGGukl7SESc5V3DyIso9p4t_onRKV40ZocweMGA4xC5rqQ31iFD1u8VGsacNjLH7OEZSnEdtZ26Uao5IxkhTA1R_SUxJ-GUA9dDdFpR-4tUkOVfs0UQQnTIFeuCc3teUx5pd4GNCHfHh2SJRUQlq3YkGpbumZmZULlztXCt7-LfVM8g_1Y19fsjWp2UcWkMFd6tqoC-4FwY6IEGsLzEaIfJ--Az2Jbtp7Mb4gIrOEGbo-cZ3cygeP8m3-lnqfpnVOdQ2DoU53-CO98J4up-_hfbvdNhGIHRLgYd_WAU8fSXM5tmq-M4SR4dHQGznCX1vSUxO1GAGhJG-HIBZXSTwVY0x7x2-SNFvKaYTIORPNkzackhfGARNo9NLowem-XItWrrJWPjRbQS1EHCTh6qMCfCoQugCVQmOUjmhWJstQRWwH4n18QUC_Ag0WH_EqXdV3GRSqa0C7qK8iaMgEdejSvg7oZMk2MECBRoMdvOVoGBH3YOi_5ARdikGp6tkxSfqc2yToB_hOrAgwjAFMAl7YCj9lFbcj5SaGBPXU_pvXTJQdehECwF60Mqq9lK9h1HzdYrY36cAdLXjbHpawbfbUef8k8mZsAZ7C4sOqvTCSDNzQ0idbBzWjicHSWl7tFwFtVVU0UW8lyjpESCrrCvzowovSeQYZ9RaaixknRcibJ1CZkBJafF99B_440YZ7ZaGYqW67Q9iWEUn9XwNergJjwqj5WqTWwd0mC3LPPgDXeXddTnJZrH0XQoTjxIv9sj26VH73V3Ojxt0kjka63rxT-STFnnsLyyZBUvLcSUKJoUVN4zsTRoQmTVwg2kKwfiCHf_iwwn_ykG0phgleXcpWsNIvS3HBgiEe58sGSsUnwCMbTBaEjuX1_0xmn8EfcPJhQangJ3LRYrSyOQqJfoVCM81su5zq8YdXxrCRweDHYpB8maTUd52g6gIn70Xq4KNS5AgXOAYSB06wfwqzpK2iflSvcr9t1YoPBWwaDXGNgvqWWT063QhAwoybaaQDjNNMp83DPxvf3MAr5di6kYvPYXTr18J-Z_YG-sD41f6SnomnxMAtT1zKrprfbv7cC0QGEncfYqILygH1DPReeSplEFesYgFGb2bTa1PaZm9b80mGEOD7EnHn8cIevXetbjpCCMFYQE96vVXdgXm0EELKfU8vZnEUAdiTkJbbPcEtzP7rCgWcxacEsv1qt0m-rFPv_0n7PVwE607dYVSyxBvu8SI_LjXx_gc0D45N5cgW5v9AoRVw47sARN7u0_h4gKIYilwpBvkuhAY4gqmY45LxkhyVAtih1Dje-L9-9XGMEixisfqQoOgttci0N7d1ycTFu12_GSPKBg38HfiaXTUFyRo7fLYIYNfa1YUjD1PaVGJzbruCSvB_yt-Qo5Rc_SEsO-GICQhpeth1FyPI5h8ExyjFFWOIKYznyajOtzMDMQh32U6t4iuTjas-qnN1yv2y5iBmWLQy5G3WgIpM3HVvfNnBGmLeLv2WuvRLMOuGWoLxz52UuFKjEpq34tokPMemzXIrZGeSgQ7gvL_lflXhGwZbh3WG9_Tncj0d-rJ7Q3tY2VN_7mrb3Wlj1aJ0Ze325RC1SicsOmrPODBo3TYMuA_Xee-84LkFa8HWN6x8mldYBRKp3gyhldnNMN9Q0s3QOlXCQpwruDtwFvkw9YA_kfa8FISlb9BSPvV25v0URVrp_M_RB9hiod06TTNNIb5AGiiVDIWWvimPpx6wYjk3bQNp0o8JwcxZDndyhJJf5q61Qz-Y710eCFt2dWozI6TmHEtGDLrSHUCjjLWpunxGsNVQeFJTJGSe9wXmSbwbrJTIfoF8aFndhP5UNIiDwmLBMYOlgljGdkM2NjLwUUzE7bU2m-5WXGdYJSg46jhXjg6JezxPV04o7aXJ7YACoHQZbEqi2yj6wbrWSQJfKrm3XmlWld6GTfe4aPj9Mfy89f2zTOscRpLWEDxuF7uZC0xyurB9jysKWKdIqj5AoUwMHbHn9DWP0FBmHneBrQr1zmy44pGsM_CIFeMq7t9xNA63TLpQ-SUL9VUxgNL0vY8IOAhloY3tNzjwa6G5iPNmIAo4YNL8wN2i8-aLcaxg10Ek2TQARqLxhbYZ86MMdaco80d54RHxnlr1Yi_jVINi_OfvZLJwID3q_YLLtWb83hYMh76FDedBGBePIqG0ouRH1HGuXdaiwpgbc6_ss0RplDJ4-uDicJMhnS0B90yHZPe3rsUxeAPQCFkIjUffdJBrZshsTHHXmnrYigRfnx7Y0LLIBNlkFyMDSHxG-CBnuK3Pl0--Etzw1kRlRa11OjbfrUL-DxL79KSMnnOo_EHq_RL13gakzOgU-8VxaiqlBYmiyZ-Vye5e8BDMCSC5SGD7B61HqINMjvKVkLo3Zm7UZzvNQfwHR2_ziPjMe_GjS-H5m2h0FLdhxg2L9m3KbAHMPuhQXgb_LI2SSlWqMtOVQAtVnCvuOyNoorwrLbgMhGfNBp3yyr7VT5ytnp3pzUBl1AxCMVtYdACum5ycBY83FJGK8rVYnH2ScwfQnfI437a1C7WLqp95trdK1Cy9a4RIvnDToEz8fcUYgp-dvTqzxXqBqlojjpXP9ff-bOdmyHLAL8PpF3rsum31MNCDzZ4YxXWQgICB15KtjOCRF2S7yA_Ks4EoDeRvlx2B0pqqiIr0BHx2NnmQU3ji29mh7EwcnMWPGnTNWLx_0nlkQ-RlXp7jjxOJKB5RD6EQNqhpKkwZRIn5UnWMy3HwMeMvU8xWB693zONdhmfoACSddaMsZpcF-mj3_4ipj0LEabHTlb2AEkIw7ZHpT8xpoKwPTurqorbg6PvbJlybt4ZKqziRm_uWjw6fAdfEFpghy7PrRUP6zP-RjTBol5ey3DhSArlFv-drAEjdBYvUIUFB3SAWUx0TzikJLJWbzhZdywikJXJF52RZOTgXKtfqsbpYvw3hRPBMp_uOHgtxTVBVlMmWzqOy2vID3kfw8uA2Ye17XXs3R_ccp2fqXQN1cGHnzahFP9l0EujM3tnPZTAQL-_EjmvMFgdpeuMfeNeHH0D3aHyPHabhfr_hoW2qZ33wiwLAkPKVxHqqB47DMLgqU2GDtndjWkmYxX-HyN8_9X0rgYL6-fM09q-SK5UTxecoVwtM6qIpFNsoiBreiuig97Tv36wAXzZDSXncHSzJFbyFop0ZUho2m6_8GPCz_At5lW2uLLZyyz0GMks1UoMc37Jg_182Zo58IcsR8qx1umUkLF9fJgSXFmZxizqb2eWArAaomHzsIZpLlhrpUH6B7QQJvtxX4iTMzPZIVtoxi7jBELiQDYBjIwDWcMy2A2GffE8qx5YcJwP2Lpx0y3gfqQIAqpHrz9OM4pUDJGdmWFcdjvwRamr2f7I_b7-DvW5ZbyQ1cMfcjtNBenrv3RPJT3NhSS4wkuAVpkQ13_EJM2-UiF8PySp1CU93P2fXDNDFOhf3B4iaSiQSHemtmar58PNouWzBoXfGvQXT1yft8uW7-1hihSq8xbzmUB90fYRPf4jTropwR8jNRMo5PRYlRejjZjaeHziZ1bRUq0DKfbhG4rf17vFV_3yxB_OkSsp4DkOFWr8jp8Hsx2P96xb7aElltNq821QxPfhsd0yIcEpxfg6D8VLrEWYylZyf1atqSsF6Bv_mH7mXq4uWuKnuTk-aKiy8FG6Ivm60jzIye7A8Vk731IQOmXN58-62WZnNM2Y2CSFnA4yczYJHHcRhmneRfYXLIYE43xhefLlVkfQ_Ey5S4JuV2VCihz8BBVmAqNCJ45_SGUjVtbgiqN3c88NHleMuA0Q1LNhKXK_cx7SZEe4Y8dR-fJfW4BGakVVjGIFrJo19vunWjnuls1rJ_CSelQGP76cV9Znx8f2qFsrz2daDvwBv79oQfte_mCaToVa3uLqEYSuZbvvzxueRui-DtMuA7KyX6xVvlEDnnaptOzkAwH-JmEzYQhYc92cVG-JcqUtXU8k4eHy_dzdHsQqVpHR7iK2njMtfC9nZUl4psfVEBKHlnygLUmks4gnpXCzeEoB3v9F2VFpYSJZ_moahw1_IF_l4YPIlHAhrp_jdjvIUDJMwyC2wsyWb0e97PHsvjcZNoqio4z72A61VPCn9LQg8U0KQ50uSOWfPdbEMx-QnOfiE_oYmdxhqMkZk4w3Ewafg80ipltYP40bnQab7cvwp7WvUyCE0f57OLxxTYv0Gtm6bHNTFS9XrvZv0iaqKBQ3k3rs_aOTpqhvO13VBxdhQ9ioptJ2qIZJH_2560fLf0WVZ7jgUjbjPnd64yC7xOuprk7TnIQeukPwNTKndJwyjQW_DYdtYFkUZt6ts_hv__R_fKeB5JQNbjkJekHBSJnim1rFhCknb_sH2ZvyakOkj8cuE7wul6sFnt-x-YuJc8gm0h0BNOY8ahKmH1FhPD4FK9YAougd3mlg6m9cTLC6u_rKCINk8z0-jPxtDD3IS2GctrX4M2bhtw9fzkEjuTbyPsUybTnW39K4reQ85jx9t4j1iz8FyBfc64YZBTUVK6Cf7Q4QH_oR62VvcM64edN2sWbPZN6CSDv0fRhgD18JOjakZj48NeaYImdkfgHZ0xx0xTMa2nD4fvoYWdfajF6AhLKpm998Ri_SOrm43-fe8VPn9fWy74AaUswxnx1uOeHwrlesch_NjpjcaW2qJ9wbRtceMmwr24HtUd3r35zhCgwvwRTjR9dgrib6x5P0l-Qo45bfvRSMgPmObATkJCeN4sYgF-fGXHtTAZmI_HLkueiDMBVGONw84tA2GMHejMG9oKWPUN_pDjeG-KTpX2OLjaG11n80m8EZCXJ48YL8K8K5mJu_yNcWRO8V5rLyToe4nZY4ALcUry_b3_ukfTwlg7YoxFKUqQ6hS8J3q2n6WAJG84E6DjVuQbe6KhA7do-TIS0J25-1oFJ7V-fdZaeScgbltoRuOPQc27C87pD3u5tCP18N_DzH32FvAFdt2zskBwpbGwzJ7DMs8bzAXmwHJcm8MEB-_gexa73XbpZrmSGReJs2H6MXvQZ31zZ2UDDJj6vDCd6Jr4DoEnsFUS-KhCf8klcL8rT6P-L62qjECoEYI_oRgDi1khhDHAbmfD-TBUocYwDCm5JfimwW7s1am48Jghus4dUNrhgPbSjY6h0R_99SrWb8psMVUylofR0RyKv8tfaJAALiri7YQPITOBunH9GTaZXIAZlvCDm2XtRlITy51C8HXClU7-e5_SD2z0pXi9uBXv3OMNdKv42KnqslKzy0idKiF_ddOUNWIPFGdhc7v-um-P0xFbANtEyME0CBW86GAhiDuoAJuCadseJPjAfac221NHJPCznsvaNfG2ZcQuJuWKeShDjumdOH2RfOBpVWwBPUMRzDs_dA1TJ9v9Wd72w2GfyBGNvD-WvIZMtyAQL5IU4atdhNTuoNmm3GJ-gqAp7OdZJXK5JvVLyFHk-fJnFrN0qpIh3a_yxe7rrIEqv3l25HR9ndVpwdIkKAt_7x7m61S8n0BvciPxzCd4nHDoTyRW2qxIx8cuz1J3HOfgX2P5QKHFxNSF1I3NWq9IrhIAFIyMlxEVm7uY24pRmwI5tZN_LV_lEnbPqNUnlcyELqy4HY8AlL2eklajnwrXlp6qTAw-F30xpHHtL61wrOBxqyrbooxv7AyUdqt_Z0U2SZRxgrwl7BG2akvqHlBJXUAQxYHf8Fyq5DfWIcuoDTKBDnNEAElJtrVp5PRdDG-bdx-Kaqybm52EPLmRjEmrEPCOTBtlKSr02EyQrplGr9kyY8j1tJRbAXYPsxk3kXINBh0VJV4CyGlHRxVu6e0JAaIy6EezwHrdvPWymurriLegkj36m7eZ4HikIM7TcfMfigRVgjyK_uYMwfjamTa9UHx1eRT8-PuAt-fLQuQSZoqbqxyhIiYVjeRFY_2SaRzE-r_-1QF_kZWQDzbeoIosWQvXMHdpfRI6wty0iqK7fJkWtMlWlJK780RKKaIV5JNUiPz6j9ZgVbH7juujXrj3Seodhqem6TBv8nP5uppY4BQDk-pIIbHOyJM5I2XpzaehveXBmG3Bck-5GV-WRhY2UgfOcj87irEt1Gt4TLdlyt9dOhFN6AKIZaOsuWjb7b3AGGqKyyiw8kieks-MJZ_5bXepcNzVRv65slW7tdq5fO9OnFjLlKBIkDuaQ5EGfMNAgBBvBbCCK7HfT0R_aJ87PT4Jvo2Vb0yjjcyqSD8--qzn0vDkTAUAYfebGdFvClxoCt8_SQh8WfRSGht1D-WNvc-NlTyMjCWQ1O1_JMv8Zqc9beKVl5ghJt1gDilrmH-dlV50HX14GQI4rcoOKj22dnCan0uvAcpaNsxj9vDrxveL3I0wYKv4473a-0RPqSPbdqwERSMP4PJCdQWrCXZXYLi0_1i-9d81ruvo3HKb9L1DMgDmkUZq_bMasvPR6O2gKmx-z454o6GPIPIqQPZ-jWSprTR8eIdEHPGZGZNwq44HpW1YRDvzgisR7hYufUQ7HrOzW5eEIU2M2r1kFF4hLBeRbDaEB4fsJjy23OJ7AcKrZIbahDcEptEEiK3JCfWEIIpLkoRfhcjpLUH5NFevLF_hUxsBfKnrJg4uN-iI5pPM2KmDB9zwd5UnHJrqdr73pJI9I-DJqR6NdLRCoHidjFPx2P-NgHN4NYxKUmbla8zfzxBfhID8V4_PixSYEsjS7v_G8pL8geUinfRsHeGHl907epN8vFcLNGMfYWpIDOrt9I-BikbgI0ZmfzW_WP2qmM7Eb6NjKFEu0vKeT5nSUjBAr5dvCPuSDcQ2G6GFdvUYJU8VZZhu2N9-riMe8PIuypv-QCJjzJn6KwOgNb6FjDDJHzyS5LMiuQN_cf-Jevj2PqsSUiFO0ycQIf6m_h8LoBgQhiSnEIS1o7mWyxqTWvGB4u3Yx_aTXcFDhWKidjQidHYJfYZtopKVjTRfjk4ipI6RCQOYv50dGvHqLwKaT3oEttMDE0-vw_8-BbfezdsAsgNLbfVJF4uNkcln_BE63t_I8TOs3wdyj2vw-JE9AYyJLvuuk2El6dqDgqBwSrxmBDCXTQWhS1UMnXVB4VY3NhZ2vmjY1qmlJHPD4QUwJYZOeZQTz5E4kTwxEjB-k-9Vthdjdd919ulGWaCF5IKRqJ7MdaLQ1WOOjKz5XfaUKcbFn9Zo8Tc6H6bVx8cTxoCE1eq5VK4hEpperF3YVuImx6YwfoQea5Bqs16aLQFrK2Yzl18hnYBc-mgrdWm3JUG6UN_Z2kdGJuVmkczHBFRisVt_NcKUHjp-r01vZSnzPEdJDvgGGUrMS5-b2x0KsFh-fp8GU5T6WNS-EGYYWh-Vq4DYkJNPvQfRAqzLObISFNE4CFudmMgQlxM64cztrzBUGgsFRz0bdd-49dwS7BdKLdb76srtz7pWT0CLjW7EnyDYcdqfAAP3IRWJy3aahqJPlVaOqnF0CfQpS6qRSodS1inkqJVH4M37VbZoAE5s7ab3X1P4qMY6A1oHMbnIXGslgf3FJYzTf1_gpr9NrslxwEZvgMkbUUfsmZ3vIQ4w4f9Ats95CkezQHq3Hzmb48C31B8X_NQ0vIaO4iWe2ERFk8NYJPUi6SWI6wTS2WhgqFKObKOkO-wT3SHJloCIqp_qhc9ugupwC6_w_zUKg4gq1dLwQXnqnU60c0ZD4B0y3vmwce8BFJcNO0YX6wj4mngEW7Z-GJBFpYg5gnUTErABwbTAgTfr-VoX8lX-H__3Yb9TlR2ADddNbhbuA7uTw60BVmNbFTKCuaRt5nFkUx_wqpM-crL-9eJmmOMcos3Ppl4_1rsJm6SLB8RJoWY0qXU7ibq5aASKt-F2OJe14TcZsstJWvFvsyhMbNzmXh9S82VcU6LzdUmlM5UkoLzbT8ai6wZRee1bVrVXE9o-QGG4oouAtFS50VSaT8zTZEF4L4RxqU2DJFJpR-kIJgrgXR9Nz-oyXvavvFVh8KUnCukPyvSygDe7_Owg00GPv5CfjXXSYEH_RbWtzhvt-WDWKl_lSPBQc_0k9XCkXH4ISHPlrq1nYUqGuQk-G1qasEn37aeDhZ3VXYLOSbS27zFBynTdUlYyIYMyHK2PDHYNAWS5OollAEPbM6DsWZQnvSWdsexz2dMVWtk5qeYD0T9w_cQD-Jz8aIKNPNL_ReO7LzoeGvkEzrY8TN1iF0G7c1SjiFNKf3bbxUf7umGaWhOtUPXXoKHOM-FrOH8z0HsAJMSGavn9Ma2dqbfBPARd3TjhOMJzLF2SXPWJXn7BUTyDBnB72OqW3ImItdTOEocDHZWk8g9yS_qBcG9YcK1OqX83-0NhWSZYe0T6ecemK5zp2QB_Jmm8f041BhZPneeEx8FsrIp-2XPWwu0cWBLTKdx1ec77nGuAkF-402_AsKrZC-AMrkqh9hepzGI4CQCC1ip6JTlpXPQgs6m29o8JdBzNxnHeiD58GAwDOAlxc4HlKc4EszrUDHituIV0uGBBoj0Ajpcbs0eweScUu7DcLCMyWPT2WhaWsR6akKtDPbh8EahNhnjBqhZxpbN7GySnlg0q5voEu2MJBZN1XmhQpWqz4ZIjG7w7VM5tx8YQ8yr68NPYNOKi2YCSB3NjhFWvk311Wn0CgnQX_SeaKDqkhHRBtjBVbIngxXmmTSj3mx_peEEjxcM-FWDiItrmmfQnAEmLuHA1gVfJkzxjXm2_B58VZa2Jtkuwn2qTXxgyUJSZksX872cIArzRrD6As2KvfXMbSEvT4Na1z9DLfTfzhW2iUd7e1HvWddXQGv5GvghXbV_SYeIKi1gYVc0Wbzf_FJvuOX2BQN9IjychXyKZ1oZcxrpLAfAUCa77ykI9mBHwbTdK8gdClwvxIXqsLnt5YpZvfvu_Xw-E6Lv7Taisn8291J2wktjuYpdmrMmIBj_havDIXD2cU3gr5wwq07o1IuRwO-_dKkb9OoFXhQvJMEBJKFIdUyBIFnXTyoVcCFTZNvkt993YbmCdpV67iROR9ZEqByqZHrEEW0vaR0sP7PunDfG6HSYx4pM4MSTmmaCAXtXI0bA1TIrzO7NzgWSUFoNunB1GCZYTe8YKwAJCVdtw1gWKnw0bmhGnrSvOESQPUEodvPjwsQkEQSj8REUSlToc4yZW5c_iRNQP-Qtt7eoYaF_w4yUFetCyUYLXOKJy9n_BT4x64za_uTxl5k-i17qB_G8ymmBLLY5t3RJSFwvlPXdIXXzNz7fVemITTtyVcG2VUZcM0-uujGXc3gRiWXSDbwGCESGO1JB31ME0tA4NW4TeFjsePF-Hbv8Uud7cYdr-F4M9eVPjw52L6nj3s4dWh-Z7T5-Zvt2Zo8-4fjTIE3zYh2LuMq6FFHgxNAL3lvqYKhuGyx9UDEaphLgsVlq0od-CSAkJ_79m0Fm1nc07wrXiXY4GHn3pvViMDCBNpo4_BXKFGavGD1BG-VQ9j3iHXRAP0qRSsvaDI9zo-81eX8Qs4oQm31P2wnP861vnL8kNG9q5grN7vfCI8hdsk5z560LO418CHCwDiIDgXRIGLucb9UEmjlMTDPQIFDMeSDY5auwsPmDclUceFn9Us6J5hwaI-Dt3lFxwdo61WSwzSEsw8vIdYYUaY4_5Gt8E2rCEfX1O3knlSrEqcEJiaZ7Q9-jpWahfziDzVsOM28OfFsEvDTd4YvxCKnWdflnivoulm2GrBHmZe7-hcZ-yWgN9XUP0nuswyZnP_ADS8UFuh1-cN_lIrHqwNrecNmRGLmY1OpyTMZGFmHRi_3BQSWVkbBoh-5cTJaSXxB_pSWSFYDvZ0WiOys71TOruEh73SGLhkaU89cRdc-L8-7ediJWut3VhyysTEkBR9HVDTIS7yiH9YBaILBq_i8ZpUivNytXleSTXl9w4QE1yuewCcAyni93APMICZyzck0m0J3IxHgwbwV7NF24xMQcRgdTeK1YA8Blyb0wJ4Liya6yC-KOFd88mJ4y6CwjmF2MpTJDniZzMX-iHHb7oWAm4oTBuCguh7O0AMcflvqhDdTvojL0odEH5FhKIUZ9nHQbCKTYbWQo_q5rFn_L462VszKPFbmw84w7z0SEDnZAf7mvCeCHX9bZIvH3Nifi6q3Ithf8n-UnW7mONjC5KPwyh0r9Y1eDVqt8CiMNY1FY1S6bm7tOYFYemeNgnrP4txMv_uKxvh_7HcWuOPYTc_pkkb15jCQkAlym007ai3DX9k-ZM588TOC8leTCuzcw9_a3FnkfLpQkNUsofDG52-gZOx8uEhJgp0ySmSuRL3A6LD4oVrvifEDNpbMQBNrg_ag70aN-YFJxi99YKlmysyoiXAYWS9M9k2a4NoaNiQDIqeh6VLQoYBSOcGpt2xVWqRmKNW7-241zZsLR1q8t-m7YkJ7ub_Bsx9A7ufVjjFj9NVynrqeUbrIQ0T7Pt04br72FG9vvk3R00NI4eGHGhObKYGQeP0pxi1XXqzktPmd4mx_f_Xsix5y_6CdReoy0bagU8dh-apSqQczxP1TvQq_3y4UxdxLxH4joU8V9Qin-mNV_iV_N3-qB6HmhtMxtIR9xZUAU7cjdoP3yLY2AGPiup37CtWT6Sz3X1g_HmiQBBY8IuqWbFeIi6NY9nGMcKn3Lzqwn5oGriEilDgH3NR2954ogTbnJom99LQ5SwLpNjOGpDo1L8im12b4XiXvpq7fMta7bORw6Pdu0ai-gEIIiZVHA2iKFSbsT_pfCNNCUWtjmnDri0nAXIhe8scePetMEXYjTdgnn48XLbyY7eNNXfcVfEAoaxPCR-cEvNkqeZbG9xEoxIvmna4e1EomZkYKtQkSfVE46IbUZNrGsTp_aYYmbEKgh4bmBrRaSdIH3tvLTlX3aHnVp2KCs3QiBTCoBaQdSz35Hc_ipzuMdwtb1j0TxTmM6Re1QFxzz-vLeBNd_hg5tm1GGvO_3MXgdRuUhiKAHb2sO1qXsbvLqlf0mj3HSIwQbMqOsrDMX86dJfCBrDP0AAYdViMClqz3NHSuCiF8ss8v08wuM9btN1y9LasTTdAatubmyMuSoGzLeNGaecVCLzbW9a9zYcjOFEhJ_vAzebSDw8nFCF13mIQsv91cJkC1qw58216fFOdDB2rgIvtZ_NKrAydEe5Xki_XTbmq2HUUJXj6xAyqbZuPjfouf_-Omef9lJobRxFBWbb2FcTnfTSETem_yafMvMvY53GZ6mYq9ICCPEJCGdtxsS9SJPRLSYb-n1cdJtCLF70zejsJF87ZSKsntNi-WnDsoHJcOb5PqWCjh1Y25hYCDnZ7M03wbhP18yT90CsUSGpsESew-JOyIlg6oi2RDQ7i1_J_W4EzSuD6gamhQX-EEvP1evBr006USgD-gOumFqg4xONX88zLdNqkSOc94Vg04NogAF5b8R_aO5RkSrn3UuYP0O6nkfH4x-NuyZcNm5ofvK7a0eoMhVLp7nj4688So0V8vbYSPTJKtvicH0drxCtJVemX5gbNsiHX8ZSPP63LhtLhI0IyWIpcpE-uclTlzOaZSWKXlCg-3iMHwShwVCSy-qOFnbYRJM_wOPgxR23TeXSU8mq4BuBsUNSsBgExTCsqhOxbWKMCZx1erwE3jRqZ8uUY_mhe6lZW_yHzCoRSb_O2yPUfkigt5-9_1F2eL27G4utClhrL6xVoXYGANJ1GbmIt3dL2Q4VlhS5tVN30ycj2mQtwikhTlNiiQG8Uz3fxZkv8JkPN5ry2KPjTk3yYFN3jgLs_OQjl3GX5xx3XQLPuYJjSduTJ2t6aY_si4cwyILK19ELAXWJvWWA_rWCeRwxeqV6w_nbX1B7ccPd9v8qUhSpu3kWYPl9I-G-ngn7-Lpsnns5MESA_lKLt00JgoZMDjwznEtC9vjeRsjLFU3Ty58Y_-ouM1NXJybN43YX-t0Rf-9uxAIQuLrzeM6ykD--XqotpgA3Biuj7t-TPjE3dwaA1KZylCcoL28dXH0QL4iQhLfaF7SdH0SFyU2u3SbmjCsV9K-pnuIEAhYKqKuoTkwoNBEe-syg7Zk1BRL1-Yqk-a6MEGl81wXWkeNzdS8ab4PGvjcaK0S0KqJQMCDFpskNBCbXesL3DCnhXkfwtxyKUAdk12WteH94k5SyUgFjDpmE1HfNiWbFuTnxRPh9cT_W2ty_wmxqTEsYzOKgXoGsv2QIhCkMb4_s9TQ2cnVfVIrqomK1DWKxNi4hBq8JuSV2wVrTiruFFm-G3TxeFW0EFiSYbklVhxpW1scsgPdDP6bE4ZqSHJfT5MKyHsnrZQ0n50BZEgvKkNWqzl1Uaq9S2s9QqfAwIGx2uHSOE9UN-fJY9oDUyT3OZtNOcegfmtiDDY6AJF7YOKMT6mS0i6gpbOCHVquf7Oq6mOaOUovudPbhSFAXnliVyl3-6Zfrq7Tb9RwGyg5deL5gNWb85XE7HcqO2hUZc_MYFQ3vZlovrqDiknmsGb8C_1c42G95od63P-f5AoDv4aw2sAnv6TSSO1HB4XwU0tySwJgP4nyj2HpBGdaKxNSp6pZnDYIHuWBpTJqA-uYZo-ctOksDwTvMqYe2ENOJA60htqXWwclPG19GE8l19wPlhZODOaG_lnzDAu9MDT4A9NEkIAUELzbThqwC4em3hegebbf5Vdc38Ysd1e8_FXnjWQrAdyELShvVLYPEDDST8MbiWw57aHG3eHr0c5CnwY1sA-QERUVfNmz5efkt-mOo-0nesHlobPQOR9RWiHjwGyleJoIsHrr9GLv00sfcsffvKk6r0vmy4oLZoaxFCAXdog4hOLbE1EjYEU4jQKD7yk4sgTSJcslM5Qjv-SHYyB2WXrgZwVRy0gNuVYnuzFo_vToiaHKDbRChYT-DIZnJAFlH8SVNcjDZQ58iBLZ4VgsJL5_JEvAqCDtrOfUDK2Qbu0pywniFbVreFeO4HM5qdcEFORd0_L3PICtmuzjwcqu4cNo76jRRESwsOy070OmyTyHUg_-HcYBhdW2GOG_uAFRFE38EmIfqExEQJQY2dwUn9pM5kipaVA51W8ZlB879gdGp42R1EkyKH-Xp07CIgg6Idz4L9uTaAMmufh2STnsdiwRU4s7dIuGqXmnVHIGVszituGFaOOIf0FxtvBNfbKncDe_UJfnFwzUUAw3_Ophqv3xaYjovr6OTOTEimkdkscO46NmWqree1PcTolm13nAyV2v_6uM7uBbByv0VV_vCy_j7EeQXChi7aqjw5TxlDk6oB7xC2IfT0hfKzxztvWW2jTU2LbTYG-sLt_OYIbR-cSZ7g_XUcVLcM8MnnDAgfysvX6SmgR2i89EVqez2n7xHejn1GLS2Ej-8Y5AFWxOIpa98foZHYF5Icfwt3bjti5h6b4bkUhFv74VHkVFVAVk2WlYOZu5TNZLZCkVn4niGw67z0O7GTtNI0JW2DxK4FMrH59MduvM7XhlPq7IoJFSlSUmoc62l0p3wrLVIIbt_WKhSalgcmnk3sZvucq81pfyisLZpRgJRl5iyUWytRGpYiuOWKHVbNh_IzR9UmrpDY9yTtCUE2WSW7bkDMMehWRvgY_0lbTF9C2IkxipbaC60IawRlskiwIdBpAgu9BaIlX6_knSORTmaXad1L5ow_UGJf71Tx_GBCbyb_C-7abRHLhNTR-ipN22UAPDCsT_2WcR6PtGt4NgaeUuEyJIFNCk2xuGHBLEQXxnHK-wvnOiNtXZMq5nSiyaGnPEg0IwK0L3XAg2hbl-mI1DTc-qYiwOpfbU2xN2m0mjY2QCf9KDrnLyZ17Rm8JDRlNwNOp_j9aqy9noxntloDiMR-KariSOWhz2OCPSDqOFx24sfqb_wcGWQOlwb0SV3Wf5g5ldQUR5QG01bva0LetPs87vnMg0sEwZBJHVdSvvaqv_rifAt2QmpdmvpHGoE3d_goq82SMwSbgc6bGP1WKoD0ptrossXgDC9zAx6FjU0PYAvQ-Ef-L89_ivVCmCyU7HsBG7PULO8HYGozAND6g-2yf8B_ZKVquTxuympYD31oVPo0dwoEqxPCkso6W0TtNcjKrvGuC7s6Fj0EaEHuo7ZOn1l1roVa7a74lVfFUDMvq4kF03etM_-vu1TBuKPb6zi0msb3EUnqh-oGx7U6B8BiJVN4AGWtmkLpuJeHorI63Li8rXgk6Po7CXVNE1QXTyhJ-Klh0a5yd-skLhHyuLe0vBF6NA-iwJZgB4oQ2cVj9TFst0jC78C3cicyfSPpiIgRQJkqXEu5Hn9UfCdAFwA4oXSF8Xv42NXwZYZ5WVLUpw1v5P1Kbb1c1DVQc-NuebsVocdfSMPwhhRoHvKuNLn0mIFaT1Ak1TYNwgBzv2KUWQZ8w16PkfEAFrqh9W6jOYUCiHN2cFEP8nifNnDBFdEkCy_6fFocJU8mlz8zCPHq4VwrUUsyxw0l7e5nj3bZ946a42w2i1SihzY3sE8sUjgXe-HzNidTXN52XEDCF5gY3HUWSxbrBKW4ogGq_YHttwTM67iS0eWFZqnNH6meCj5grCjpeLpnE_PEkFfF3Zc-BfPTsBDiCf7cE-Rrfuy6rfgPRWDc73q2ZLBRPDrQRoaF0A1Ygaj4MFO2NgSliSmmeNHb8QsMecnULTMsVU-JJC7czN3RtVIj4R2x45Ca5O224vr7j-F9QV40tGCryMzzc6WsoMwwby3ubQsl2j9X-2_yuS8XGUa3Z3sxn4FjK3BduPceG8kXvyaMc599m6T5RvrNgugvCweEUeA2BarAcTsTI_U0Vf_RVHo4fUHWF5Ud3_O1D5nKb3UzAAL-xae0hpE6ixsJnHZ2vyW3t_4JCbIYm44Z-XxlHaR0vO76GXtXlNfHUb56URcI1uKRapfxBzx-pCv8tFjIGYHTvNiAY5pMQHVTaCNwClNOK-pl4DEg2_E4ZPp2_J4ovWjbFNfjqeQzrzkWT3quonF8hajm96xHMbl_qmQdcN7wH3U1mvTi_ch5xRy44HEiggwD8tl7X5GpDbdf87B-ChhZCWM8x5gmzX8ZOxjxaINu5LnZV1xRHVPTibID0_p2bDz-dQbBsedkQCdc_MCxId-cjn6i69Y9SMqjqKHcsNAV2IFZAMsn6uCa4k2edfRJ9uiPcSWV71n-T8j2cAOBnxQv8ZayTBmTDvmd9vrkZWRUo25ofh9I98IyebBisk_rjVQNINSTMPb45xDK_SU6l2RXpVhb7jC_saAZ8-lCEEShawBeGJwu6qpj-LCzq4QLGm4--gtVSVoomJV_Czt4DOLo0A7m_T48Blj4lxuSRuGjWUVn9Fhyfsl2lC9P60H93g5vdwRWo3Y1vsrhyZDaALVa49vuaO9gjfjc2IV9HVM4A8tH--bXXtdSjQ64KhF1vaIdVAZR3zfkvrQrucQYXRDk-wnSXwKNCty4QX6FxcAzqzB9WFpCWyyrH4nXwWAgfyNLz7_qlMkkE6ENrwcomEmbDudFZPPMwEFa1tczE0LwQ94zJnw3J25pOYt4sNaGoLLLNPzZOjvR4P-4HFC_oY0AEzRWNWZJ5G2YYLsneyCl7_vwqpCFEKKHZrjFU9eNsUPBarBubA9zg_ful1PPoX6AP-MgGe-U5KNjbrK5jZg8YEIE5oH6otZQWGF41tnq28fdUssgeIxxMdoNZRwEDUs_7v16xf9stpnMvS--0JagwyDzynFor6tqFpm06-q_anO-U51hi6zQpQcPlW-lB0ypn4EvdMFYEihC_YORCHIfgpCAW-lJlUiGQ6_4zSfj5nhGUeSyYxq4xmPJizCivHCjhPMlkkOiQCz3TcryBKlHcoczWxEtsXG40eMYtCMRvHHqGmtkogqJ9kCezRp0yVBy7muVHOidMtgCsgesceZ3d-xt6BC194zp84wpM4p1HHBLMDK87zgadP2CJokKbdYKOKxrUMqj9N_HVSsdcrYiHWeLnOJIDLeSuQ4_XSeoGKN0r-u3x6GWAm3yH25lvngmXzsAsXDgBNaUvMlEGjkYSlqMOmtsfPz1b0F2_K2vYtZU0TDWz5Mrnyfe8cwgurPwLl6r49DSbF9HByo6IvHzaUoZBcBeVA1B9dUyZMuZ7lgYENc_C8eeCkmbTLqvlnL5LB-yWjV6xB5cxX0Oz9v-MItBcsB5Jda6yRNvTby6Jwf9TqkXPykUtXDm3yyB7OwPOzqsNwbnkRTwL8TYMH_0FOcHkErlmiWNmwTDswS4zuui9ht6AOFETk25UIZdvnFR1cXXqUPoZVEqObsHrzXRJ_eTBvKJwELwLh-ERhtxuoKR-wx2Y7g9DZhW_Kfcismu-P6krpiSYM6aoW_9sJmFOGMiIV4inUj9V9i_G98jNc79xGOHcRB2yHw45v_et9kom0OVi1PAdFMid-T0KFWBA13MA_v_ucyXqD-tQ_FUH48b3qC8ENmHP4DijGKxL5EZyv5L3MDqjduGW7TZlPsYjOs4LMmH3f70mL8m47jItcxM6Taz6hNGp9ZMfNj5hNlwi2Jp4oTQNQ0zR3XAiTKYoLdvGPM1EJ6lXMcOb36k02i8ws3ZpYDvdkE3qyFZLZ77lGD9WjKi_xwLCI-E-spP9ISfcV679eJ7VqC-lqLD0eD7NNnulTjlkS8uBqTaJdoQbKDulusTrY0wSXfeEjyI4qDvfP6yowBphYjlaMOBXxskmPBj6zaKakfx3Us2e4SsVsQGPLlSp3IZ0_nv0n9eELV24veqTprTa4hn7C6HWLo54lxJJo8BRlfItaJbu-viYjmIN-FhRcvDXpzWbhYWRLauFD-ObgIX6n1I67F7l9AU-DMjKjSg6hqNJ6ZoCiFjqreRViYUplfGtnyewrDttZcdbdtWXt-v1G8OX48nrdg952G5RgsCGmYpy-A0N-0TZSoi1F5AGvZbtFv-DTyncxRp4YZfCcyoMF16bA_SGeNJe67-cUnSPWGDzgn4dIaLR8sJImLv7FtJJVJXxyVkmeKS1INiEqghSZ38BGMZV1YaK4OvZe2AzgT2AiZozyLJURvxtWRrnFEOXn3mSNgJbgO8e3CT7MRQDRbyYhncg6Dg-s_w4gF_Gq2XoJO0JWvu59nTLU-QaasNvIaU5sONL-UVOGW_zc0SjbOVtC_RZt57jRHifSAOigKCRA4u0cyO7i5y1hIjvIkMDn86NBexWIxjs8Ievn0yfOmPHO4CKrfYaZ1-kFpe6z4jpp3WMsMkCF-7kYwGL5cpycG4RWyECnlXlYvrkt60wVCNKMNQdobSpOHryv_OgUrPpQhNam16D93hNK1vO13c1XzGJoDlnj3akVQQv1wg6Il8Eqzof7TtALA6v-REHHqWxfBnwKtJdfAXp8tVnQIx_IHm9Gj7nDDX7xCHMgReISOhjUHWxsEQO0fXCD1JgOKzXlq_L77pbKNKgA_Jz6oJwWKMFCqfGL-dM0bQbljvuIeOIQaPiCP-nax76NrJ-sHZLfmgTu6__6jAsJXvZoaJRJiDRBBN07MK31L6-9Ybxy8BcA7WVkG0QrnEVR4Yz2YsQ5J9-MxlDnFeWwrZ5AVBxY24-ni7tGubVO-xA0Qh89ERJJvAuhZ2aR6SO18KeMygEOSwWlvy4cOhZmGD_cn27kmN_kViIOwxhCXhS6FnwqcKvB__Z7zd2EAXcPtpucYMMjciWri-QL9ruaqdAC_BAd9ybgSz5WDdy2BoOMCgwXmNsWnWUWjNBa6zPN_rM6b3YybhAy2HvhofvXoW89-DktR3ojszSiMfujlK5S0JM1gZqWBBe9P-v1ThFQB2xVRj9a25ZbGRITQIV3jwUjcw06Xutu2g3uyU88XbeN2iUUQPGEK4XqJmAI84W6yBQ_j-2X_D4LEHzZgpON4ywKQJ0cJfskWIScQpNJk3YXING4OpkligffoshGt2ZGdBdaKgYeu4ilepLctB2lxpkSMsauU3t9dHCdT_XK_foXyv7_CK8e6IwwBrGAX7EF4T1i9mnHr0bY8ohaqYthCP_L51wBGsyXO9OiGuxENJL2uQvNM4pwSf79pLR_cMZ5OVULuzM1q6mSvdgpPH5W2wyak72Ngf6aFFrPODeTnzekL4--2eJsMkqtinEUYP4ejrdcsaalkzO0Yzrl0kWY_23e-2kI4yOIZnDwJa77YMOSmOtrWxgaeFHqt9ogqp3Gyac4XltIk1lFARGrHTbBnO20RKI-zEGVBmb8ztnI8TYumM0SBDP2pcwJ13XbRiExIE9vKNW-fBhaC75oK5xFCqGh2yu3PRWSIlY0RgOY8U7jrUUXBBU9S-U14tyNr6Wk_NnG34rtiggttmuOzCHBIFzed3wFtYHrIBf0GbOhKTxKs8crjnCGNj0t7OjMPwfX9rz2FVfhLYPqmxqVAZIf7OlwQ3QFE2OE5MDAZgbyGas86dBjKS_kuuEjFX8DAytUtZo7Q-umBYmI5BxLkNCYTlT-ZjqUjiisKo6ijJGduyfTodhe6hvoXXgvWJDosdLYM6ZxADQshMW13xMmY9CoEMq03HyTq598XKUd-gH5-pLENd7ynr4ci2yAt-BVJbDnupzrNrt_hy8HOukhyr12mRdzUO4zJosLjwQp3phcXkC8cnGuyqmF27JtwaDUzKIyegvwzmv5Cl89__OhREOIofAfg_Y0fdp9s8Lv1oLf5fZ7dgA_vZpwsv0VlkxXSidjt1_faiiG79GUa6za2EE7HfCBj2wY9g_dPUSIw8KeCOXBI2fd37E5lMqPI0MwzWAp0Q9wmnlJztMuGxLaFnlGf-jig3ngOHsEUUa6_n2NlvvAZbS85C22xQ45czuzNET1daEoxNHDGP_-bpnmw1ETTdBMr1WzdRc6Si_FsaGl3pG5KC-jjelqH4yX60pyvbnQNjf52HC98eJ6VJ4AcjZeb72zkfWUAZGBW6B-rMbtcqRMre2EsTFOVJQPUMvz2xtVfcoa_BPDbGWhArYPXUclW--qzD6EX3ht8O8k36lSTr2VmSrmSNEvzGJ0y2e5I2G2rYUPiki6CxowjGYHZjl-TSbNCfHPf5IBAw0_QeOv4UPJG5T2btNPjfw6SmaVVwMj-BIgZu0IQKW6wsuOHuejWOtEd9hoAOh7uPD0TgRgur2DND7AQkhNoDkrfa0hOWv86yUktZeVdgR7Tc3wT5Gl8AWJAhHl66_tAQOwQHjFeFV8NbbGkVJ18-QSWoYzyEwoMTZWuHsA8An2sJFK-xJS5anMNyn8WR5sbgKTlXZ_r3SUaKC6vq7F8WY1Ir8OKeg6l5va5DY49uTGifYYogczDTjjU3x14-BORBgqSWk0z0veD7cRT90TBWHBntP32R27Kxhk--Kz8BvCnPIXdh-aNYghFYPVf4vxCbmlEHIDPG_6-AVKrEDB-57N24iZ13Jm5oCzO9aVyB--a-dyGodO8_S6HJlYJZvuz-vAo0aQBh2C6g8ruJdOqp25NYVfxZglwb5cN4mq5EJC1p9c2Gd98OYlK26QzbZc7yN6rNox0h2cXCdwrPp5PWDaNS7aM_GdMLikUaamy-gEo91evbFMADaFshnLp0sTjCiWHTHHyCxRuNwBCVKq_hPqsU2N0YL7_mWeM149dFSh6KFvzCBXHKNcVWdZ-BqvwBEhQTsIROFkn4t_xAQMr8DlZv6txi6omIG7ff2Mx-Xg6DfspIxoRgeW_nXjELP7Pm76LRSAttsI3vkcnd4slja0b0eFsNTEMoV0k1GTveTD19AQb05T_NYkdcS8xgeZ1Dx7PKS-foKLoViwv67PzVUmtVqm3c6TvZ7TbYn-AuWmdboKPc0a2UZSUAjUY5x80tyt_T2qW9uJtYe8iDCHUcCwgxMB0SFFxP1cndOkpu70ojBIuQ2xpXFsmqWiOQZAv_tjJY4cBASN455QoUgzaj8oZpqbP7SVMf-kG92BacNOaOz4ljsa_nrnkK_ZBUyEFwZjmm6kgOoPlVh1bgd3mxEr_UTieF4tpOK6EKMMaGFg9Hxkn8O80mugPyhfqMI1sNXGDWs0bZKN7Rv4wDGHFuUosn1T2vAhXrMJZnggY3gi0V6Z1FnL_nf3STRP63vozXd40OXuDudadQxs92okHLOWxq9C1AwAFzwQZXnuEGSGlKRuWyjLaSQYZ1hPJwzk6QeIh3RV_7wUmKyfpccWvYglCZqszEzo-z5NmwE_Lqdv1lSpuGTlbWsqtAuH-NzPUU7lGhWvFuRBg9ptSEMfF1XAiTuoiK0jDJFbZuc2oB6EicwmKdObr-Zh5csGVAjeSF1n1EWXgQG-dJ-GWahIu3bloY6NYWpJNpji_NDxiJd1D_DDkxw0euoXAxkA9t_bYiWQo-wqbrk-pOYESsRb8CWLEJr-usQq1z64DcZdGQ6VUzL1ru6R5U2cGNYzPBvdQ_E7yDSm8DfUW8sgklYNuNsL4pghozZ-AC8D4kot2u1EmS5G4H5tl6ObV7qSX0MHpd0UvmwQMQ5dUnEt4wEFoGzs9mVp6mhT_P1E3FQv-RIVpTjdtQUXWTt9Y7CxaXvhVLakS83-nGZJEGSPwTNH2qCcK9P-zTNt9VtVWMaNjWSaCaJ8uAxwjmJjAIh6iHbJ3wg91nDMvbgQOntSOKNPQu8wgiWUtkmlW_tOU0KeleT912LUYcxo2Ll75PsJ4tzekzxsaLsUVuZKCh-18PWMdnZtw85ir8NAWJ-riRZhmWaeTTKcqjdKzs9Mm3ntac-BEmTvt4Wq2KVVF1Ns0DGuG4ZfRuIMKB9AJ_r4ufQzJbN00JnxJZl8PinNs9EpOC6Tk-vOGB-XzQeAz4GzDDgv38FLe4P5dmnZ7ex7dinUTbTwB68-VEoXtCTtRWYQJmzXZalH37xB5lNQclBUlunw4mdgRxHOpdOPYTTsBOUHs7GVFOSFtRVGtjqp8Llxjy52qhnEx6DDf-ay-XGNGltc2Zi6zDFYJGfe4LvzyKyXa0DMH6TSUSUZg9Gn0Y_03D6l-KkGXqhWQi9D6aZe3gPfxKRbjmH5FEmBS5Ee_bhmh5y_-zcHlb-NmbuBQIrEBD-VeSNNactTgbsw3bbb0MSkxV2z9Q5wHAmlfI6YIWNCLdn76MAKtSOZvSUy_kto3Jg58vbwhmLPqip55aJvXg-J-b0XeiOpRTBWydtWROKvvP1qLNc-euhcoBj__B_4OF_vE53cOZYOkGIAI0YMmDuHho1LpV2w3VwP1zBMBJU_W3h1UKhz7b6zwlv7R8rN8On-q4mX49qyWvu0Fz2qjqAY9vq9cPNNT7qEIuwu10juIUVAaSGB9K3O5kiAIMhneq9TcV5ISIATXqGPL9mWi4Zd82-F_c0p-0dVZe4VId-bxKKegVIPHjJFCWtTaV9mD5Bzh1PXIMZ-osb7wG5Ru4D33G1zDhjpjiO9ME7yS_pOCE1exAOlyrDY2sV0y3hbv5uC2YpmE5KAUXVeHW4YF63PvPo-vp3n-kmw1c6RNl9sKtsdhQT-iiB9BSKOZaCpqP3wpGYT8GQP5mJYSUGs8fupaggZ7sNGbra1aAmg-Uc7bXNJAdpANK-iCM4R0dbNvAP2rX8Xg9GbRpyEl-mqvJjIf_0gK0gszdrHAIJY04rMAPOInLOZHfuu0Eom4zhKdzMQscuH1_jFuQWEzu_ZIPah5uNqJggHfTiblvJ50GUErUbp8cf6JWZumBBFvR7N1SicBI7k35I8ukiGPewGyuiMEznmwKQm7ViyiYjhHQ4EpCRjXK4fdqrFNt0Mj60M8tsMJBdH5zn9SPRT75zTaFUxCsm011L4lS16QFvJ5lqxF9iWSG3IHNPZYa6choY5DVJPn-tspbcPKbWzKJV2gTiRR4GnEbP8sbycigq-awtA8EjA9EwMkspweYfzyl_jfelW14zaih3KXbs2tI_xGGymkjXCxAMO_pTDX-D1NyTIMLFmJc8N53O2qhKNMjctn8Ss07lfdR-J3N5q5wjYEzJBETJa6IuLlolWNqYNJXLBEHviK6QwUXij750oIRrg85oWwr3NuKsx8EtM7Nss-6fauXbpLfAO9wdRJ_sXhnlz-RUSr8kcj7bGNHZWG6fojYQIVOC34b4D70KKy7ml2sb_KhhbivLOAHW0ZgccNJoty-coja5jHrDDaR8Hd77vk4r6txnQNeoFppsQuRnD7dCunxfZcoIm0T9HcsamH4pkOGh68L69v4pHiOqSuUnB0Xt-JdwhB1LD9ogh82aGNW43Llw9-Be9x4CNNDHbJg-NSkAo3lzi6Iye9a3e1Wgd0eQDbZgo4g4s3d5mrYarguxgKj9Tc0bLfj4rac3JNlC_OdxAlRHJipk9XSUgdQwi7lwA0Coc4Uy9t_2JR31uk3ND82k0h9ym2c_Gb8pIe6KM-a_AXrnbGT3ZiX75LDJK278tO6J_2HMGHbVq5-2W9dZVcZKVJfw4ba-Z3Ta3CId8Gfyu-HuPQkxSfYnJfkw7jop5zWC2QrRrkwoJHnP9XKKHSR-cR3RBb8Pkqz5FdmOzbGuvuTGqVoIdSgrAP2tblGvNHOX1p4VwuUjW4QxoJ9R2C38pd0oBVsGVtq9oxxThXV6grYy0YC2tr9DdteZnM_U5CsDe1EVOlVx4H4eDJOB0flmpKCUTfMLeI2WVsazL7v3Iw0smSeHJYySMsyHVekIAyww9_jlrqQ1x0zaxaJnmGKiteywhb5iDmvaBl_LmzlrhIwKc2NqHbxxeRLbIpb94_uXEZvDoOXknoJvgDI_taQyZWYsMfwkqNSRk9se92FAzo9lEff2DHb4iKmrfEtTOtDXHev4keuoYnNlkMrnMr51u71ac_a1PxvdiSddTxjlTF5j2GoJYSK2Cw0gd53EcMMZ-KbPjIKmInDhogX0P-caHeldLRLTRB8nMeEQzTkcdlkFSp1yccqWD7Y8Q-Ok5JLVz9gUVW374T0XzBT6ny2D5QxzrcvhLE63XpMxFyOQa5cWT8Nd7Sw16GoUFKwS98JhVfO8cinBU2AT4GZ7t-xD59XQBp3eGcXGpmNJv608yhb9Ag1zZjYRfl2Atzv_07Aq6S3Jav69gqlkmyZowWjXBe2Ga0GEJppzZIwINrqLJ9x-kIVo8nrlkd5oaNLA0qxncjwGgv6TA-ch9pv8LhcB4PV-mPvfgR7y2wzkot0qNzyQlX11fjV_OyOffhb51OeVnBk2MgZ7kFYRzGcDQsJXAFMVrTRKt3xfFq0pWopOHg6Jn-HCj1M4ViZYD5gZEDQwhoyB8W_UEVCkG-flyem9lGhtiHw2NmWNBL3SvBjXzWvII8KXsiuXbZGWwHM_Fh1bpqifYzsaGJLqle9ycPo0X0NQJEoK1vzhMszK5FbHHvRU6OKklSfQ-9OtV8K-WpMKvibIq2gt0sVo0ldjolLxLE8dzOH8X0C9L4L-M7RojGyeR5hoJpqGCR6HctPlpW5OyZZL2TBVkl-RozHg7a-v-wyKCwtFqjH3anz9oUJlZ4qLY1vFKNrYeO_w2O0DtN9qYthybAIxr7LyLMY-FubhJTNMDBL-l93HLgHmrrrZSMLwxcHiXi6-URpAdE9UzaJzy1XjErtbzdhy3QP0Uom_GEJs-JawIUtP_970UHO9-rSjCn2b-oMeDkLGC1NiKGFkSsYEPdFI9aHJ2DkWakWmuxaHwQlcwCWsLNoFUig3d4JmxX_Np-mS8OHKcxkVsF8fFMiGIFTG-2JjIK4ZitlGKCHpxhveYTDad6ashqzZfbw0Eqep8qGMgc1syL4PxkVQthjTnAYb26PptPoOiq2wcfihYkr2HVaFILijIt9QGmVf6lIOyfH6K_yc5SUxJef2cNVyClKyzF9BA7fhbdFTd6-EGS1jd1bbA7if2GUdBB-MlSYcem5cAFJpmTnh7_RHosQl8DS7gU0Q4oALZZcP3c9OF7H5yRmHjzXclMa4_eYiysQgAufgS8I-x_StcJYUfm0NScKRw16LMytPWRL7aDPEpDGG3cN4b27ZCCSS0LB_LbTPbEXZ1CLpuQJv3APMsOMAByRylW7bDwhhVBWoxCr4GDkBaUib_Ad19Y8Lj7mSZimcUTgB57S40btarxZhWLqvnanTppmbIEFF6LrtGkcjoFXw0MdkMbsLms1MrAfPQXXi5uOg_IKzaka7YGN_nkvXxq01YeJZe8At-7ABQV8R_XsXDLv2HUBmW3VWjnAAdhrb_qePNmnYQ1Gg2ngPvpoXI8wWNfC2bfQULe_6Z746LhDZHX4_ljEZYjE7vIZaYHDqPRC0KDyKBWOxpC38m-8a9omHUcQZ2P5QA5BQC2q_ekWXPnqAXh5yajYu5IH2BDUAzWjhjDpesomFvNt2LpJFTRsDFuVW23SDiYN8AZPSq-QO-kwekkjwUtSspkVx7ja2UL_Mt35m5t4fcgdDDFzICatRXb8MF1yJbS7ZS_GbSDZe2VwtGGj8VFLmyoenN8_ZU736BtYtNyD_FLilm6fmRHCuSBsjQJU_lDzTn2UxTR7hIlbMemGiTCC1yE_RnT3NCiT68a6ZDhEL4UFbNpeZZHg2MXkuk_FkoRpBYSwkrGIoaCeKa2KdnqriiQsG-E12H-NNM9rixmloObsKK5IAQuJsadS3DVyg9ijWqUb5sfoC4i4y9E0XEy4IHCetwqy0Elb21qEMoV1h39YLKlUFKm4i-1GK0RnSL8-LemvOeKvqdwZAOTwGGPOPG5T4nNumCB93pbxDXe8PpgJtKk-3z8P_eyH9V4cz29p3gGKIEsD4RbJ8sHAMdlC7qwImiET5zJenuBI-NCb5SijMtGSH9_5bwxrs_69-ZPaepmecqhZnlgecH2F14wWgv6DRz8ZGnUeRd_xhxIMiG9M-3-leE816KiL-V6EejjJwNI9tVu5c9BSiouEjytfvFUbqspFBgIlIw3JjY-9F7vInYWscyR8KvldBlPjbwvJNOgj-JltnRKK7evGNahd7_hdm4py_Dut6taKq2nsC-3SHVR9_0A957M5aB7-g0sJBZfHQoh916tPNHD_ZtEYPTP82bepnJ7TiJ9_Xn9A3IuTR7ICpHRi2ENOv16ccBPrjhPOV19sxQFUtFAfxmggugtmA1NRqV6XRrYOUATsHhY1FwWZYBJlkfL5Zt9UynCvJA8DRHQvmYq0TpsX56KDuIiiW9zHHG-6Gxu2FSymecn2QJvjZvXZibEu78IFj18r_Yho6bW5eih_TcV0RBLzP8TG-rPO0BwHQvCyTDHMbDEw_2AlRQHBZdi4b1viDJUE9MK6DNUOWo6OS8ykQZBFpVV1uQvVFrrKeWx6k8rT6avAgP14QyQaYiK5fzAlgoDFaBIT-x2MGI8hCoUfXyHQQ6tn9iXiQuW03Jjli72A2VQw4JUOXZrIjC5m_2l5lYPPjzjBD7e_5ghNbqg5RZHfczcRm4jGb0iXxMFGPlYYLEC-j3uPfdeuCzpchqBaIueYetEscJjszabkHsKWjcdopjkJBVebsgtT41zNKnwC_Vk5AvYmEhqOIjWNpyoHqWuas0LzLtH6eL4OaZ4QbaIegqq6otjFVGxajMaV2QbY-tFZL9BpqAdiLe9FQKIumJofJvr0e_O0nzMVqBTvRi6xFkfEBmSGMD9wYR9hPtApnz0-4fD-GAoGxmHLidv7ebw8uBglh6CC8t7UNbi5fj82YsUJ0xiAUTErFbJoa2q2dxBbbYOTCQzY_nxnXjqDomFLCNIheHJsNjKWRLMGpJHvTrqzSxIRRm9ynfeJOoKAtHRXNb2NUmDmbXS7AtWYQNNk4ZWIbg";if(!e)return null;if(Bn&&Bn.sealed===e)return Bn;let t=null;try{t=Js.parse(JSON.parse(yr(e,p0)))}catch{t=null}return Bn={sealed:e,bundle:t},Bn}function Vt(){let e=Ou();if(!e?.bundle)return null;if(e.runtime===void 0){let t=Date.now();try{e.runtime=Ws(e.bundle,{signedAt:t,fetchedAt:t})}catch{e.runtime=null}}return e.runtime}function h0(){let e=Ou();return e?.bundle?(e.keys??=new Set(e.bundle.filters.map(t=>ce(t.slug))),e.keys):null}function qt(e,t=!1){if(t||!e||e.length===0){let n=h0();return n?new Set(n):null}return new Set(e.map(n=>m0.test(n)?n:ce(n)))}var p0,m0,Bn,Yt=b(()=>{"use strict";Zs();Ye();In();p0="tokmizer-default-rules-v1",m0=/^[0-9a-f]{16}$/,Bn=null});function Ro(e){Iu=e}async function g0(e,t){let n=await Qa();if(n.size>0)return Ut(e,n.values(),t,n);let r=Vt();return r?r.selectFor(e,"free",t?[...t]:void 0):null}function w0(e,t,n){let r=Rr(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(`
77
+ `).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 a0){let s=r(n);if(!(!s||s.failures.length===0))return s.counted===0||s.reported!==null&&s.counted<s.reported?null:d0(s,t)}return null}var Tu,Ru,Gb,Wb,Kb,Vb,qb,Yb,Su,i0,a0,Cu=b(()=>{"use strict";Ln();io();Tu=/^(?:(?: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|$)/,Ru={normal:{msg:40,diff:60,frames:6,out:20,bulk:50,repeats:10,trimDiff:!1,changedOnly:!1},compact:{msg:12,diff:24,frames:2,out:5,bulk:20,repeats:2,trimDiff:!0,changedOnly:!1},minimal:{msg:6,diff:8,frames:0,out:0,bulk:10,repeats:1,trimDiff:!0,changedOnly:!0}},Gb=/node_modules|^node:|^internal\/|site-packages|dist-packages|\/lib\/python\d|\/rustc\/|\.cargo\/registry|\.rustup\/|\/go\/src\/|\/go\/pkg\/mod\/|\/libexec\/src\/|<anonymous>/,Wb=/^\s*at\s+(?:.*?\()?((?:file:\/\/)?[^\s()]+?):(\d+)(?::(\d+))?\)?\s*$/,Kb=/^\s*❯\s+(?:\S+\s+)?([^\s]+?):(\d+)(?::(\d+))?\s*$/,Vb=/^\s*(>)?\s*(\d+)\s*\|/,qb=/^\s*\|\s*[\^~]+\s*$/,Yb=/^(?:- Expected|\+ Received|- Snapshot|\+ expected - actual|\+ actual - expected|- expected \+ actual)(?:\s+[-+]\s*\d+)?$/;Su=/^(FAILED|ERROR) (\S+?\.py(?:::\S+)?)(?: - (.*))?$/;i0=12,a0=[r0,s0,o0,e0,Qb,t0,n0]});function Ou(){let e="XbS1NLQXohYf3VjYwySg3tyEpjD_14OmLipUWCoAnqknT6T4_Y-PRlONdNY_s0t0fK40VBa_YroIdN5vLkJ_EFplzdm1STEl3jRJZNrmGiwjmRH3qGEJeImkMIm2fJ6SBKa79UbdMUzfvQCnu5jE-eK1Ii3LI__mUSA9YlN3e2gh8lzV685ODkIgmfHxtz1WzbzXzfsU3ZkhwcMOp10Y9a983fTXayhZmnlRurq9J43RIs4UIwEvPo3-2LsE1TfRuWi2v9hR5-L4jLZp7TlOs3p1zHxmOo1NZ9VZhf5PFhaFtmDSkkem55nGn9AyaFjdmf57V0scD2vO_U0IKPSvN6Fvh3XhMR8OcxotBP8-z4tRJ9Oyx4Yo9hbJiZ5d1V1Afy8it7PqbLdttUpPpNJO3C9AwhG0N6PO9nX-dNJqvpMCwEtnm3k6XVd95Ey481ixbvtYnnbnZPMNjYpsH9ETbof3qOcPkIXjZ7Oee9FsZpCbuX5_JyLlw6-v2uho724dkGOlGeiyrqbgTUbuVBunv0aJGXP_3G3uBDQkQh5fbAIQTr065LxoLpjpOR5W5JSrZItb-iHTfgnhGPS8IJAxw-Ob07WjJr8x2T--SnuRKjftyW9tgFCqUHbBhqTHMUldlS2F5FwN5r2b34Hy9iw7wxDOlk77TN--lndReOovwAOA0ubPf9bIhzUEmSt82UAs53ncx191JQ-9z_ZW6On7xMaegGHMD_t9mzh-FtuK3wu-MUmG-OwnWgqGOp_wejgtEcFC0cqZKtHSN70YIMQ_85VdmujSHbO4AfipBHeWZIWBtbblCRLpuHo4ixRGptkHiI69FV_NV7HnQYhq7D2C2ZLDTwCEFm-OtT-8KKAEOTTvXuxRcCtTWX-SnPKIxD2mLBVxw7O0OZdQeaLbGW_VTGNtLrqYL4unzWzX-6eCqpAHnmBaGBi2Brun5oJOSaLik_WR8c8x4eEaKrS7iJCNWjbtxewderHzRkFj7WFDXDBWpEsbuwZAkff43p1q5fiNZzxNqvxrh_4C4Oy-pajsFAH9Uf9eNmdOIa4RVND6FqLi_SIuPsCkiUtI2hhYy8HAGe0cCzzsFqz-H0gGFAh5PKADbOwQFdH6BGF4My-USFJ2AwgsFNzf0KEMyZm7oJTMe3wzldClxj1ZQ-ZFaoyApD7GniA6bK6jkqDq_dPZR7wPhgLURrYZRewinKnPFqntx3cK-ZuMNKaBeztUAtcBi9-cGqMit2Z7v-ZOKOb6ZCKf1TddKnsNH-ITp2jlO64dTwOUKfAsXgps4S0ZaemFoXU1-n6w6u0-cVV63QFQ21JO4mMpCTLJv8bXHn34GC6wVDH0GjElhBqXzgXQtZqb_GeoE2s13Y4d3Dmi9rL92IXXA08Uhzmqqh57DSL9gGIcoA56vIBP7PhZu-g0pMSyHtO9CheC6Xwe3KDbC926z7Da2KL28V4jgczF06pA7s40XT4ehNZim55j3_X-Ohd2ReMIrqExo29eQXaxNQi3_MZNiUIWbXFHAZdqxBUdhMi_5gkBqfudPhBx-OhTblRtatzRbyFqH7LpWYnBTCg6J1QsbnSQkNoxVjrFPejAZgFIqL57baieqcZFlmvUfihlGL0OB_Z_0_-pua7H-ukeaun3XXsJcRJrbOhTgmXVNHjT2KGYvxE01hXKzf87RIG6BZeXB8H5b0t-hQnu2CvKom_0y8lEqamXY0nKlLrbCnNvxvrNuOiqESVDX0DRIeJVJU9nuWJzsaiRaY3XUy_VhcOldovRgd3-Fzviqj1MOP4Nbzyh_MihMXS53VT4mXVZw-MUtuBLyOFS3lYjCmHn7tP82Nu48vsAp1y8jNr4PEbTB8_2QYDRvYrZsZL10uLr7mkbYFVMF_6rro2kpw9F0RU5-YFbWuOqOsFuVsrGFVUMJeUY8_rtwpVMj2N6yBcFEvq-Zu97ip8ZJXCscV9i1_gcvfGqZgeK7stGH6yMkncozjM_k5zJsJqq1N-qnQdaIqwtW9MUS1X5UwUQwT-nen9uE2uazY08_yLWlZprcAN2KLFTd0TVBSlB5nzMx37Dt8_QGv8I9h6LqAxAFyqxzBUrkSLkZBp-9l6wBZmfE4wlPAlLCCr1j8i_Dx40EaW_TJ1mcYrfbVEYFQMgySEOd8wOarZRrEhht0Y2m6wRVZT5u85erF0yDWwIQd5Mc61k7vmA-bWfYXff-y7-JIARq1zw47V4Co0tCudcS6TZDgO2qsGTZ9hZFU0W0u6UpJ0D1ZjQVWx6q6mrDPoF-9kOAYqORVLstPRbeKlKZ9WmghbekSqHBB3q6Hi6WIjn_A8Zur-amGvo2cFk0ooF5-_D9RTlzAZQWjuub-lMtEKJmlv1ZNX0IpRZkEEVZOsQsaXNpkcAiLQJ6AqiafP5AeGB_WOU8JmWfT6imi5wf6cgXl-0z9Apb3vljopFDvqvSqQBU9OAH3bQNpuK_2TYjRjIaWb-x_J2NKiOmv83d0bsNwXsiGIjW0doqXJ7G82LSmeDbT5PieqX3qtFdINv4Zo4CZYrys0jpawuNo3VnRn1v2IWxcU8FLIbm2oLefLSLIJLTcQ1gji9cOydOMtQXAUCNsla027WcvY7HkwAAls2VksJyOFVFGVDK4b9O6bU0S3PMkqODYeWTdgNgTgLNw_qSyjqVsaJ2nrrJikGBS8BDirvRYSszREyktbW5bEosulpR3kk8x3f5BghG4G4UbxYhivtUP4MxujOaN_dOQhYoOC1SW53yfBM0vMbQzEQchmHePO2dO6O3SgB9hvYlyRV0ttKjujrtGy5EXQxGe2gsZ3jFl8HZDapF2li4nNlNI8LEZdwvGktmJNc62pSXo528dT09VYKOcPZuYGEbnKWpzDZaIaV-ffy8HurqiC9YqtjzMKjZIxOgZPd2rbnlsbp44F8en3EabMN9TnSWGyodhMDEovj8YqKX5kwtRfMElBiWr-7Bd9_T13g6u3TtPZfwyvq42Cos-OnpcAFdMfhmYlWYzLfrM9idcgt38GD28zxHDCAYaGx36_ikLdYzfY6vUVp7WsBkiOTcG37_WiZyGDQBLgYDn9KXssKDJLBKEGVeuWkD2BN9U_5sXjApb18L9P4Rp0FlmdIHmMlJR1uxmgLSx5OFTH-CTqRJbqNbAYQKHIKqEzySLBrFgxkZeyQqfngstfHN6WCdz-Ee8Uy6wlJ1uOZ2zl7u6t9IqiquilR0ZUwYbF7LMveLUDVV9TJO1RBu3NC-5q-RjMOuF5v9mZ3T781bL_r4OIBDwv5-_SDwmifeLHNuG2Ib8LPPB5Ocf9db4syOFkXYtpt459IAv57giq1DKBsox1xRl8AgWNg6nQRrKsil4bAJ27lLKwr2iNrsFDKRr-oS2LsqNtTkWsFSK0-hdNS3a3lbNxLNo7lb9wTjCkG5CLR7j-J1dAsOqP69cazc9U0N9s0EF1ZZKYRXHi3BwbIr90uMYzJzuivAefUQVz3EaMYpqVCrQWqU-UK_67Zfn6nlEpqArWKVbX2_B8K3OkyRhDwKAI0n5F-iURYbmAsO9QFatt2Wg2-sVIW_LLXOnaVmHiorCb9S-_qP8xxwivr4IG-4WPIGG2rwg7QizZCThzgGxznXs2AMtjQkemekgd3VJgLPwnhbReaPE2B2enheBnWnBRVnPyjXFVFo8AlkQHl03K2xl8VdRc5QZETDvupCFTP6zd1VHR3dLkhyjEt9s1v2EdOtpkJLSC1hft5fGxCBxERMMXtuvFofZs20pSCfo-z4WiW24OsJDdFjnQ2sZ-60qvNsb0FrEMbRPyAyMThb6WAre1IT-vncMXKVPSyeOi_Ci6QB9n6wHPqgaGS3D9zfMIxahP_vrHzgA1REPYw0s92LdTPwGW1XoJSwuE8LEj5WQgYiNX77NgLvJCL_bUhhYBw0ioITZjwSsQIioaBdm1IoUKaFym6PTIo7JvLKKTuWu0iVcRQGChpmOXkqariNahC_Fm2PS3wHXmbEA-TS85EvWZB8f3Hwz_CPX0AGmtPQdn6qekvKkdTWLPZsgW4k8WlMKzATIpZL0zDVbNUhKBLx6fqdrXfhlarzmuPCraxnm08qVHYJi25rr5VbFvssmIjuCzZ_gt607yk6gsFfCpqd_YodH6NgTShcLQ2GkwigGL1Owg7aT2Wk2LUODOPo8GeSSIHEuwlqWgtxLEHBwSB9WRX8gd6_6uIzTRpm0JIV7c1f-pP0alVnK9NIKK2qpiZfBzC-mXgT0iIgLUrvn2sbBXKNosrNVRcGwYj-PiXmPad3d269nFzaYojQf-yrIBPg5fdARHXE3FF0SFcFKOM-TqbRrHLD4atwMBt5CNRVV0kvUWDZ59vccAhMXKsWGbllq2EblDUyG2yaiSRTtr0tLV_0aKnRqtRuCiEmddQb0bj6nrEEROu7aSKMX59YYC78kyyPQ7qAj1fKHBBKj6aYVaVkYIz5vJWoQ2306PvEO1n2UwaM5DhQxq0MA7k_1rTpG9-BMdlQVdXtDpMmckjiJv0pSpMMhnYIneQTulr0d4WNtwhI4rhCdwlTn0Th93SwMLQgppvYty6M0S8rQ3AHUbLQS5p98rt83ufLYHg8LyVpwES9vTP3VPxUE0Bb0ZCsCR2VRzUsFtOlB0z09R9XU9-Nqf2TwIMtVEWR2X2vqeKovZPgLfcw6V0ZVHeaf0CzKoWjV9rg4j4Zlq6ORltaZabgi0gXkqY08AySq7L7uj2KiKseiWeq8p14Kxt6FWD8MIyqlOY4fREgR5NL77ehspogGKHk0MUiDkAUny-UqW437w13FrawxykqVGGy9SCohEOKA3tsI6opNGlp0y5VNBCRSQG9Ceffheo0roMbO_72quXm46_vFfWrCVZH8aOHmIqgzOUzsuTwDnuoJ84ORnXPJBLI3yrVmPuQC4MNv-R4RYri7kufaNeKYS66l3fo22jPO1yiUJh1YPtE5-77PG9E2S2DqwjtFx3x_WwH23PN_CPf7nPF7Xu6NEpxagSsaN3E9Cx2VovbmiK2wCc22G4AEiS6vfYUR5iw2U6aq813PXELa-K0ripCyJduHNswVAMYHhnUnVXP1gDU4u-gQwkLfjCs7Hhx3bzTLl5hQXARE8i39A1ZxL02ctrDZC7t0b1DtLDcHHQn4oZYuF5CjxO1bsOatl4tbkFZh8l3kGaqMLZ4c16NZQuLRJ_RbWgvfmG4inRYn71MXm5gf5MXdXkCrt_h-27FoTkqP5a5_JotXIx8firCG6OUBs7uKuZ3EDlZO_l8TDMn3cKNhZrv-gKvO374pWu22EEmEn209Wv15T--x9DajVQ3lpZuW46KtD0uAA9P5dvExrq_HGRnUDY3PaWkf_66wwnR8CJkZrxbuDw6wfrXN0h1IHa9ZyDfOjWFLee6UX0xZhczrTnkuvZKkxd1_b-VI7Hkr7wE03lDWYrxTF32lYFESWrjboI3pWxBDKN5wCHQYWwcSgm5r5Q5lVA966y7WYUuCZNVtagb4dEOllhqou-Ma7_bafoaY-6heFEBEGSEHs-cXlMadYnle3DFms-J6JTHu4cDNnMdZbnoF3uj-HtNzsrbDItfy5K_i98EDz9klgg_zp5Id8dCZs8gGh3bpdFkg6pzh6R-ay5wqdCfap-mPuJpIsUdGodFGWOG4HLI2BUj0AYucLdB_QxfrXz7Mz7kxcuUb9mDC9WO0re7l5tUVFQpl-GaB4Q74rj66xr81CkkjIEXLZXBAXA6DIvJAQatoegJkezS5QVw7bz9uWa0NGLP_dqvq16hGZk2EIUU0mcZ1-YSP5zdtrbxZTNcJDohKr_6HD1YT8qOn55WMoR3QNH1J_F7YFQ3ivmS_Dflye7CMtjliPEee_u-yyxbKzpkzDecaU829HXBOOF2mb5WUFwFn2oDF9bIFgOQS4WdQ2ipMmxmncXddXk2INaqkZTxFW2YLIef3AWVpQhQM0nt1zFWvuliBdv1z1pnJufUukFIv2eUhPNpnMDN86SA9gcnIZoQ8flu3qaKIaLewiMYDnYZKmpKcSvzoQHgtcGrEzZX8DP62YHimrWkvKBj0rtu50k9AFWmEivk6ReKrdiv3ZdblPOVJoQUaiSuc8-FFJtuOqgf2UOh2WIQq3YF07bz5tSYG9_tJ_je2eqmJiuuONby3h7_sRcoXEVGJABNvIFtqLpXLSuoSqwcKcxyXUnGg_4xFZhdL2uOOD_Ilgc5PW5GL5tHgTlwxuYn5swWDqMoPPrwubvyKIriThevZUjHO5KXk9bilglpIE8BZrTrW7qWnsngGYsoeYRM8z6ZPJYakl32-sN5m6mXErCkyLqJNX2DbdsZ7-H8I_M13pSL26d6spJGomvkE_4_T6iuJaJHJupANHPYLu6imvellci7FHCmuH04OEqVdMHALf3qoCfvZ8YhxhxKT6d1H7U4NrYOQ-xZqFHMHG9ViyfIvKvpOubDyFtgor0fuecNYFn9jInL9c3X_B7fAS64p-JAUGkh2aw8fo4MET4qCc6yMxNXqYI2ZltLaLbhhNsZGQ7hsy7DUjLD2rH3LgxfwyJvI_cZOMWNsWwLbVwQx9XTVn5LZrDrkOWnE77MyBvBseyDmHokuKEs6yvp3SCrGoa8LxuLAYMI2YyVnfR8R6SdP-grUgi9FIRjXKOVlQFF9EBbXLh_UWDleI5tKCYrZjcfFJh7BgulOOYOdqYHqPGGr_tehGyYlshcSU_xhFHIpOC644zrp2vckquwvz_OzTyLk2MAUg-NfnQFsBEiywR31jtS57CtzkB735HaCBDRXpgFCqB6SzpGeLuTy_t59wMaZT8-T8Qk2KmCHESZZ6--IYFaNR2X6L4H3yLzFZo5EtB-YwZI9VBBRONjht4DHTlq3WN8aQaFVpLVw9SyW1RfFwo8E2WvMd9HEuIINP1M7GVyth5yrCEiWxExq9IeoqwlWv-DtGkgkym_x2oa4hGVcMIJE_B-y22a4DXBNYApmI9pcU6owRFdugrGmrQQrAgMMhlzdMQgo6yoCBqH8cwic9_YjNCqbb5wGguYzS0WFp18kIz2e16zGqutN7pniPD0rB4ZwQmTnfW6lqHR6IMoAYHX586zPtdjyVDINoLCr4-qGdrq1U607Opy7JzVi31RHjyY6fPs6UP-jn-pOV3KxfWJQtKNDJI57G4N9oKRmlFQXmAAq92q603-xkTEQsNPTiWWmj3ftwHl4huPB-BE1ORkjCe_NHiqDegs3EqMsa64WEtlIh4tZnNzhDOKcvtI20Rcz1lvKclRv51ZM0lYqwy2sc_1svq608b8hh3nIB9kQEKefw1Bi21QtvtzDuuxaWkvIz2a8kAYm_c5E-FBZdZ7_hoBCUV-NCuMzYmh2TjQ2fYM7c84pKEchJKEuAgYZ-SipOpqTSsoLtqn0laSM7A6ZBUP8ZPmcDQEGxH_HYl-Zua33IfmXCZNOELsg98hI8sED0_082_1WvoNiOI2DbGo2R9buNhpU2RE76Am7p-wvXKjgAuTcMq3gvKns3u82WiNw55ebCx4XDt8dE9E6TFY_zIFZ_KclvrsXthfxyuu452Z3WCiVzWD7k29NbFY25YQK3NqyRwlt6v2Dsy6gSqLnN_0Aklg2K6qxSOOCijhagpk9d3PgJ9yZnwzom6q8OzKM490L_CNmQjpok6pC1G4A05iuyI5FDrdZrbZCS9HS0Jf2GOnUY67BA-WMXV_3o2__K94NZPzHjQv4mXiierRxDk_b_GJQ42en2tFujNfyNVi0rCmw4NWNqClw78Uq4MJiZDGY-IajzNnHCRwfGjE_P6lOPanTJyfIwLa2b9B_nBsURl2qlzkB5TbZ0GjOgK3Frz4cQvisDPYPz1rhns0yC2biQfNeG0EkwrI-_r9lKOwLd7ySoVGFlMvZv4qUj-MnDVXTrgVuItwLUL_kQKnl8pqVGXEiI7NB_yfNKg99rYQahW0eq3E2h-h_Sav1acqNB6v4GRe5Zi934P-TtMpLDmeroF7zOzF0APjffy8o-lN3u6qna0mVd74VXaZkCrRQzFOkVCYWGkjBgmMSEEzTD6vOkv0m3yVMMIblz5qsMCKiDGjpKYSXR5BGWR5ZTppkwnyQyEMApmoOLTYrgkIo3u7As71D4grSsJJuskPFlGv9QRtRyo5l1XIt1WkUJSwgEkheYp409M1UFYCB4x0P4MP98xMR_GZt4Mxhk9JYO5SIO0zAkX9FE8tv4oyRjBCnqyTK2AU919nIZEfO0Dh1uhv-t02FJGhfS69ODi20ljqAi8EGdpne_7JzJZYpV9ykxZRUYAuhh7xzPVLGdax4utUols_3TR-KL61DXzmHCruxVcEhCjdklxIowzS6f5jJZH6THxz3OcUiOOgyP6Jr5258pgLrMly1G_17zSSffkYLkI0l88QpvZgtGi6IaQiIllTX_GEZCKwOSkyEFfBVhm2iTyPvwUi2EjTBogUZ5HUJTWTkARPz-XnsSviyuHvR8Dww07J27MLQ3rtjesMlhwgmlENQdFzdmDGi0xy_aF9rKhIZnPI-OGliAGCWbDTHfZUikGeX2sP2Urqw1cXnLdKoBMjVE0N7-bwibrvPLwWY3BlmdyQBpMT-to6regxx45ebe7BNpj-mihOu-8Jy_vBdGybxpcCWF-EU5dKYDVEkwC_I_W2LL5XYo7_fCqXjXkKSr9aSq9dk3oj4F-kIXND143cVzwQM4r5wzYLOGMWV7GyJmryw49EwG8XI4K_D6RK25_bA5CXWuf_a7p_TAgxaHBwQdDxFQLkQIp3-78bwBkoXM1ON2lhTHjCyDTlpwhaR_t1NmaiT-HYGfR-kCw_8Otn6i7IIGSDcr_C3ZM3mSLHccQMISbUgLvao55E6629Y8reWBLsoFvJ1ILIlpaeMOp0r9SJy_Bl0czlq53VC3a4p1nwNrm022ppk2-VGp-8OQNB9N7GcMk2jMq7uSLxN325UO4-kPVGUc2xzJuLzgolYeZe_2kf4j4ArvIfYWWpWhuCzaj7kTOawn6u_uMN-FNGnGSoheywEwt7kAkbU0m-Jw4jtA8scXBCzLllzT1gJjzKWpzm7TkNRoFit6c6fkflyoYV0MQZayJ767yWhOIFRoAU9fUCgq24Stv1pDkf8bd3zfKYu8Ws-_4_Cwi_EJtODA7uQ40ITYjALO4bepwanlvlGJKALL9IG5Z1U2wkUXh1jjc7jQWxSaa2Dg_jNHmyXq7d3FIIxHdthh0l8ywPRfAhvI-eqrkbTVfJIQmLCdl_29o7UsbeML9g6uPY3QZhihrRjykMct8zcRaMiWPbpuezE4ty0_JvGkgQMZixO1m3FOLKr_xKCnB73Ce5TyKIBoIDjTpH0gAZxx6JJcA3vCB5KHiTBGvwfz6hDMbtyjrgETU6Hp_ZbsRcZlGGjZTV7F9uT5S_4NVWy37lA0Qh24nWt_KiAtuGyDZ_hz0PgXpVm1oRikoduRSEOFlMCHsbQ1GgW-MwJjS9z12MzZp5pyb8S7n9gvipLRoiEELrGuRIZtiVutk0r2AGhtg7QAqB5POV_S-29li4_znqme6gen8eRh3kTtvmhcTgAh74Tloc45Ovf-u96pTIN9zs-R8O2573TU-jZeioD1KyzZ1sf25MW8R-P46A6Zi4KRQ-l-hySLXmid1WjqeL0ugTf4P-y602ma3lTySMXfjFTpNaUE2w_ihJnX3hL7KUesbsaumi2ZFZraMHr7R0lX9ADfPY0ws4PG_plFP5ZeU5Hhbs31FyJkOf-KsxYDY9_Teo5OUHbr0Q-uZWOiQW5mQynxDBKuGyz52a5ZY3zvg_sgg8RJf96Q1l8aLmAGcHui2QWL_zb_pfzGW59vnSRF8014IbwsLf0CLTqCC3DmO1fz0FDhifb8NUhq7j2_pQPhR6o4i0-Q83LFcXuEsBFhliFWOXIla0jqP2JhLcBErowuqus-a6rGwOSa0U3bFveg8NveyeNwT9eTioXCCSGrkP-_FJbp1biKrYFeivKFe9VBN8XpyuxqM9s8LXeeawtGEw-WNvIRPWJD9uwgx-AjdwgemcL6tLEvf-yKzL9S1Re8Z8XxEIiave-yvUSlJbMQr124X_p2UH-A6N3aAhhufGlzto6VUp2SE2njbQSDuC8XhkGUFiwpsMbPXgkc_ivpBgg3Tu4yBYmMDW_N9AaBbeqx75OVlxQDSGtcwT0T6SYvt76DD2nuhIeEzsUmW3MsheiKTHuVyo5BXaI35mVJT2SkPUlC2qQGhJz8MvsnMqgzGGSAGqANr9gZz76XC5SslticNJ-ZmieMfilo3r0jj7j5C9RPI3m4cF_IowHp__mXUUPQyK7RjMA8o8rdkVeZu4A0RjBdraFfJ8yLQ_eJ8iob35xF0SrMsp5E4b0P8p_rC19-N4eWbw7Ga5z-NhPP7297qnbn8sZU_77knvwGx7-v0KDWiqF7wXCaxnI6yRD3BP9k3uYmdIxYFnztWQVGmX2f4ld_92EAgdxizwHnlPpjFJYfRCv_Q_mYRS3eRBDAiJ4NplbJIPJdMVGoUa9JRdqY1NxllW-WAv9JNaiR0t1tBxaw29_8UCmEQA_fNEUNdBmtiVa1fNK6ByFWyq3py4BDuXLHU19d82faFxcJoTM-LxXZR8T6Ks413-cPhPTbBF6GTZ9FaMimz2D3e9NTXLXjReb8brEbQiOBtbt_2KqDpjfqSDjyCwd3maMUlMqX-rlbFC4UdHdMfm_0IzNcS6caZlZsHI_JNZMV_4m5oMEvB1ZmTpgrT9h-dA-jE_5mLmdzWyK8PtxlqIOldMByMp-4zk6X1blaq85h22oDJNI7WEl0eCy2XzUmpt7J7cAPTpUfKrS9n46_NCHb2ZuXUs9151yN308-TP5aPxUd8HX86Det1EnaVZhQvsfMVSyjwZQH4dQKtsGS-OR0SOqB1klHESUeTppOZuj7VnfRCGVw8E_o5dQerVLuUEeNYoJmcfb9ilSQ6tUIlQSU8ujyf3gJ2ou-P4_ZLqKXCEwry6j4ht5zHVH_2GLp1D7tCiMOZ7SYZADIHXCN3R83zWTXRgEZFQAH1qDt5n9Zf6RBrsP3dN--v9AroMdv7c90blIMpvzDAiBwn1VVVmH3AUEuOqU644fBfzsfo2tZDox153mGSQHDkzoM2P4Qv17tFCN6kj6Y1sv38zZ18r65Ii0n9KMWQHLmVclikaDTrfLX1GnRTtnZXfgCSC84qbPvfF-jQqvmunXGGnRCDrw3vKxgZXL71m8EAKvgf4feDzweF9u-1sSeYdWYCrZBNremBlKEKlousPaETTWYqcJQBHSmf2mjBfPNxJgPwHDQcTQi2m6t7jC0b1jz9-filkHu_f8kMgqLbnlVxG-7yi6p4zPZ97hwNQb8rfOvMY2IQUlK_hqywvoNLsupceU4Nn6BAZ7bLL_d0cxJKkTF2YFG85wbWkhFQh032tV4NifBjx_lXwnjNneVCSbR15hTjxeTcN7I_cNxYNE3YpPQibXV5H7fMgpgjqQUOBXghX89vThkMi2usxcsZwJWNLDXW64tGn10A9oVo3HnksRgErrn4jGaf3X4jyE8llwvx1RKhCgtcOdwU2LNky7Xx28Pjxq5CdumkA0WPXPCQHhV9xxGN6crnNvH34LT4HabLb3YOumsj9dBdNc76WZKKqzQc6E5U1_C9bgpBkmKymFNNE2OJp7pExJ27FqlRVb-dxo6SGV_0O8USCe50fMv8hNY2kXaK1qmzuPE9XPbfeH6WMICPtNG2t7NINF2OvAUieYA0VoHG5T994nT8K7JoBwjBEYofboG6kibFzYjPKDY5KZdYGyzavgWao1PY1zf1ZfLAWKCPvF36zZ3n-f41Q6ox0xF2OD94gfY0pRkoMnAxkwRaMpwBMdkl-RK0FWfJgWsk6WTUhd2SmeXI7aTMFs8uPQXdONa0gV6w1UjJIu9Rpedux5rf0X1sfw77GdNY7kAP56NN3ZwgxaEP1dQhunTjyzkE3pntiFjyVJmAw4q5nMPB8OSAXi48m0fn6sp5Do2EhdQlZ9N-eNtJDlqTj-kSgx8UWJfMWcorhLGPfDJQhCKeiLr7kyTIhvEmpyAA0xv7SlW1lEkS7XgcQ9KxRX3c1q2bbdxZ1b5-hoXqx4vvqU4Bft7vqfU66mabIG156aMY99FeaZqoZNv6kRaVzA82XBL2Btj7QD0pEjs4O2LnrZHPNX_UcAuYWhCzw_9V3N9pQVZmAx7G_5ZZj49j5j0DctCkd5ZhEc2NvMa1X6IAUdVFPR7Nc3VMz08yEBnYB0z1WDut4WxhlNoqqikPm7AHwkDPUK0Yddlsu12usqTEM37XjfPrW0rWd59l9g1UUMjXDekj1I-b9L-qKacdiO7XVC4k1gGwra5BAbQcduon6hVV-hWC4476ByeMRIGPqOHndfBZzvQgGOt-9sx7B5gtKHOEDCr2Fv7FaWwEaBdv4qyuT8ydhrg3DBbnqnW0h1vKq9vJF3EQ0C8UCUY4w72dfcC-BhJ8VjnzxgLJ3X0E_05URZ8tdDSgJooZvrMEGQFTBNW0-5tNr0qSqa3YEfIFxtsz3hnjYmUmjj6uSnGD4dq18BDNR_nhqCFE2Uk38YjBijfKeN3AbIEnIJWdxjye8MXLrekTUNldJJZtv3m0EYBVgZaBU1auRGow0-GDEkqAGMXW8sVs3D2ZNy4Y2fvHOvGDIrpDnROftwVpPdSI9w4Qa-SXetaepM_xccHA0lpBhOe8RFMY9jbTTBpSwJ9ABGgvhTcfli78AB-UlSrF6UxO0SfO-ANaDSx1O06xQioT6oBHLYJo4D1AyF90lWg9gl4zTcWyD_6C0JdL2n4pbTC7YrFliAToI0W__WriXaG3ChhUzOFJ3qzpyBi5fl4pzRtfM-54gxR8m80lEYdgtAY8lrfM8QAAHhXTUvjKkU5-Us2y3XlYBrOp11N_UYbNsR-XybHlOjKmW9OvFtW-MJV2iNSnvH8HAO5p8062CExqmb51-sHhkcPJLS7t8fLO2B8Gff9W91uJCBfnV4rJeU8uQRrEOLi15TcPvPgtchvV09UBGON22rDghs0cHNdFMieBZSJatV4GVMQzVsA8X4Pvlnnb8wx31tvfozYfWE5K712MsXxHTnoefZIirglgizWrGH1dASGoFjvbiXN7KeBoyIriwBtbs6DjUqUFnA4qWTJjUNSdowZ2gg02zN33cKDWBOp1sp2XAkpREDCd3GwbeEIOTLNG8sEjyhZezzGpQVzxOVu_kmTf9Y5h887DFNn7na1k1tQIYuY1mC0I2WBYfGaAHpgpcppvxy79pl1rRmGBLXJCbYM4vtvgVa4NV_AuAw9gcmkQLeC6LcR-mN3HUmNuhmO0SS-_7fi47fkEfmD72K2AgmoqAs5ZLx00AAoiktS_fFqtwwD12Ugkcfd7su5SDpjVfat9x_TaXoakS9gCKrvv16Z6MHyIybwcNCdh1cCmo9KIELH14uDbdRHBUgwAdfwkbpvZhRgC6pOhAL7nB-nAjF80ePnXmyDRn-qxDSfWbZEwsVP2YgaxVDomvplQqSpilk6fLSKpQmo1L-oQDtGY_enushPPAKHiqEf8bZTKg6wyY6qo7lWbgqiTuKpl8EptdgcqG6ChNmxhDqZ5ecq_wljwJEsDYqTZHkgcIOzQz7npmMEswrpC63dYLH4HYjM44RnQPT5e1ZA9VOB688-P2XM8zyGkzPm-I1cRS5e0L4I8rsf4HOKmbc2RP53QTXBJXeNAZXBxF0GFvQQkbM8bclhSK5wxpYuBEsGnLT9sEAQQ3bLKKFlphUbzfFYc5i6ROoYlXnWdNamKm14cu0OH0kpwghSHXfnP3QvASGhzEGf9xlKQEIOFsS-ir_inlpYF_ttAgWvdRM8-hBivYLExZHv5Lb0W6ulgKCkOzIlxJz-S6IvgVQWvmc2kq4pSdQFyW84TQFcaQ3Kbvz8-PMXja30a-yIqpCq9H4-sATuGAfUSlHP76uy8xz5eTSl3tXe8mTxlMErUezuzIhuxN35hL9WC2MuWhpA_ArjdZhrizjH8DqNw3am1g1V_OJwc5Xl0AKYzEiqOq5fJZIHIBMPosDM0l0WMrGpKLQcMuTQ9OiqW3zqkn2HnvFjJMoTYn6gMjj8M-05Ai7PIQio65eNuFNwJvT4RNMaxMQyWRY8pG9qaU4C0CtSiyxENK68_OZLpCPJWADDtSDSSCLlT_sMEgzgvqH9WHj3ncW4nzPTdXLB58Nb169xVXMgEgC-MkvLl2E3w3_bhj65k_8h2zq9A-IOsKh8_UxDiV13UT1NpQ6HPXFPGQyuG-b0yqXEE15ZHIwYx4hLC6qkVRmi_gOX4swII9NgU41Kf7ss6ngz2a5FtD4TH6BFK4dWnPsIXbxOKSHBxtdNm8BckyOuXQOje0_DMc0lbUAmDMA9KZvxlIEujDAj_remxEoofkXqmM9FPEP6MC43KGS66EItoB20MenUbk8SduhFlI2i93TkXJqYez-BrP5CcxLsq8Y3JIWRqx-l4TpJyq-YRdRwUjIrZM4L27tNWnWwLiJ29u-Kpp0VBy90ECnI8Ao2Vrfso1fRQmLFkeI4UETJWmqcELmKszhVHbrgkd4VqAqQNzAFqhfMps7Xu-p6vtPRuwfe-imHJvxE8J1Gb8sVCuID2OEpK-uTIWD6f_vuCu3iXJ7sXaR43BVC7UmbvoXGMKU2tLqf0p7PJG-xPqDckKyq8iEUGHJsDr8veX-TZ_Xj2T3lUarnKVcAQs9KpzmdQKdnHIUCGeNVLmPe2aRVH7nCANQerQKOsq4ms5B9BDI7xLgPStBWSwkeo3PIm22ZXwCyNvX1NnImx7fV4tkWEMpoweXjPntY9dk9wJPVHY75h8lvFA102ZdCzDs3o-qoolfaeRUWhpM2oMBO8ffhIR98sgcUcyUyX6tK5RKihj8_lNhIKUBJ3qh3_W3-ebCgfp9g7SnXYHA2qsM4HJTMaw8TWugDeN9NggNyQTA0rUGu58I0E-6IJwrkcuBifvX7dawyA6_RJAjNKMjdJw_moReVwWxfiKGW8VW-zbG_ccd9RPpzQRy8fOCMUbMEZHbSUC11zSy60UB-OQnI3fbqngYzwGI5mX2oed15GQwRX2vdGprOHv4OQCVwy5ocrxua2xZgclf9KHngG2OlPbNY1yuRhggQK_uUsD6CtIPfHNeaik-gjjglJl-2mgUaCV7H5B7BId_am8XXmHqS18nOTb57Io4sicQAZL3UPX9P11DdGXeQa6ne0po1HfD9SP5a1r2vFAmomK_CczKEYQVaeB3uljaehJJ6P5Xiq-prwrs3mczdS5E0IuJ02NN5Wmbu_12EOfs0f1WKXgqSjA8ESBBfwRX94AIPHhQyBornCR_t07BDT3rexfkOIMKG8MnmwFkUIyQZagXR1faaCwKhvo676-nN-YdACeilylqiNJ2nYWTg2sybCj9kAfs5ZaCCNcxIFQip7T8gKLYd39UmHE0u98JyPu-pgDnaMDQDowe6RNxrx3cTJbVORT0I6oPh5-wdv4xwBIM0q_-Lp4gfC1jyyMpBbfX5-rThK6gZA1x8s6zS63SrFk1ihp-HWEjRpP7jblvY3OIQvrflQ_UH9Z_kwJ5sFx00lPBahiHaoAT3xKjVz0FJsv7-fm5aF3N5hCYMpYHmYaPwjYypYeEPUd9tSb8neYzUQGi13fOQjmRRZ8okhiGE_2LKAQJU21KjCkPe-OCfXW6zy6jI8S3uMRdWGbwDpGEfWBAD61NzP9bpDiSzj1LfAZrvQC_UAC8p4eRvXGYHIZ2uXSWh_LbXa8ZBdvdv_IHuJYtFJJXqV3Jm6R6zyvnDmCE-dEX2acD-O3QlUL1PJK13MJTlxwgHgIGyU-mE8mSUrtixxYpcMylTQCxihRhMi4bpvyXP0GqbhvMOYimiiSNsucaTByRHASvI7D6SZk5SyMjK7UQYPidHRvDsrKFbNwXU6qxXZMW_x277atNBCSCQz_pDXqvAEJlK4vKbj8cluCO1mdpfwLr8nCmsJkr2NoUMrVg6S4C0ywSvjB8Xe7aH6AAQxFTvoSlpqtusSebpR-kPcZeI4xRVdBLDJOOn4D1y2fZHy1s8HHt7iOE2pzXx_NFaF2iCnrVv5Ojnl41H-42xduTpH59qbobV7ty511h6YwT2oujZvpN1905itSFr3FtdJqjRv1hF7IMwpzvf86rcmetQ7ZA2oxaJ1vrMgBl1fh03t1EHIXypzVULs5iNf677vXM-KC-SL9mv4SludOuqq4Pvb7aX5BkEjAnNMZ8c0F1Wsw05W1sFePItlx7x8-uqmoYLGhQCxM9Qyca99EO7LlWvQKfIu41Rw9CbvZb_RkyuPGMaCwsOGbhzITeH5y6DXBp5EyqqR_5pQhftA4wFygAzKdGp_NIiC0-7wgK09inKjbbpgJn0XHHyQakDW9l3_wqdWSH2DxnS8cpmWUUL7MA59PBs23FVkbAzl23BHgvHHfBQ3FzLjHi18jFpT5Qdj68qthNiRAZjrmL1AYTKtJWyu3L5uM9YFtX3E6bFaBE4dUZNsfAMcm5rbr3AG-KP3_ZtTrWJbZ3jnsYQIfLeSEsuvPottO-vtu7mp94peugOvrHBrKB8QOpvfjObMG1prS8uCvT9E9WK0jhzUyqGVFLj-APnuLhtqXYcxe-C4YxRX39OCDTDHe-1kS85iCZHx674OvLtoNiejyP_e_V9Mz-GV6feBBKEJcInreu4WssqBkgmc-cVZdt766Z61YsA4Imyxy2RvoyTD9ViH64Q3VDgB53yMeFFgmFhHDOclypdfMxDClY4UqeuUxVmXmoiEYnUGKLfySzIulTAHj45zxgiWIWx4Q9aZRGi0LT4FSmZfi2c0GewK7Yq4ayrp13z4lxKixU3i3S_YLtI3dyiIeQoNivQa7jUAVCE86rXw5OSoAbVnfZqPD1BuvJhYIU414LCDL3oNQ2BQs_pQDbTGrIL-Z5P_ebfKc0YZVuBB9w-t_qfvWclr1DIOQNmv-C3nACZ1IF6vIyuSX-kWPWxYVbgT3iPxwH8MMUTOdZiHeXqSEQEiBN_216eLss1oPJOnDNMrIQZomja8Lk-_KoHRS8ETZy8A0VHbunzUQurFODZeYV70wZkUYbZfhymJnCHj1Z19pnw99T5zep-bifKn-RQjY6bueAq2SpMCI3Lbh4LXaX6O34MMQFOJlTslT13t44JubKxnvfwmvH2ONhI3BKZzeY9VSQuimQFzkfGRDsq325lPTRVGJn6iBIOB4Eo8Z7aiIt8pGRmVffKYnQxizxi3q01MX25WqW30FtJSdMsmzNYp32737lc4_zsmCR2Wl75V2hJUPW6_CsjxQssjvp44UhOQTNx9O9TtkPxsQXsvqGh4TajBUiB1VPJxyZQJT4sNWonL_eUJTXj2ubR80BtDp9uNlI_UoXQtFws3bFnTwF6cJtmkMhqwlkxpQFvHKvIAKp2R9DVRBefO6NotWlxGKu69RKncZiZV0ZB5TEHq6-Q7PXNXYUY20UUs_h9Jvh4aMk6B-d7I3aVqnSPxx2Fjxhzfd7VlNVv5prePFtCsVfL-VhLJzA26NqV3ZZVOvSsHO9SMyYyc4nzCCNDrOpoP7OzGcG-HQKzxp5FYcwOA7WCLdHfAezL7vlIyoe_Rds2KaZk0BebLOoVmP8BHO8iPfOUKJR1doD7dblTdjRAjmj7V6m2txeVqope58T645q9TYHId1kBKwUn0Ne2DOut8NkFRla0jJ1NQMIgEUmksD4CtOQ6xy56U7RYD7tgw1ke94CCMkwE4GVXg_lrpWEpUBm-2zBeYVDlG2PqnF12Ok8QaoyiiwI60-OecA0BD7-j61a-3rwnZuzjO-8mFwLZFS2npPO6bN8Oz2dyGozrwRIWDjVrk2Y13dGkIbo_8Ca1bzpuTl1M0ZGvG8nkMukTvl-hkPBi34Z4-sARRrTweJ-OrheFdhTU1IZt3QDLeNcgrhB3Ia0VH7xyWQZowR4lBSgsSSQr2H6_9S2jb-JoaaBBI1p7ZTZRHFHcQ2pyFA1lL8CnnGm7J63rHW0Li03_YRqWifEF83v9dCSOsWKXS3WOz-i4ZdDrzrgfcPA9BilKMsVY7kl2u9hFKK_x4G1dqigjLxVnY2yX9lf8CaQqC9ZdcTdXf7ja_nt8hLg_TJOfULgIDFwaw4BYfjkdzVi2Yuj8mKdo-VSXrw0JgKelgVnrfVfYskUav3ji8xjd0yqoUcb8CDUD2ZtjaKyw1H4rcEs37Scil4Tphp6zYpK1dRpstRjp_pVFEctOHX8X2N0CTYp-BKxr76O1xX7Vk9md5TDNKs8v-lSJKGMeHGdkdND-7kBB9m1MDN1gXL3UWEn_ZF1QXpVN2Pkeh6EJ8h1ym_B3Ny2igdSz6ueLPwXGcnIYUQ6G-s2J3npRmarPPD1YWhqZh94Hnf0yg_fK9_hI-sS94MMa8YFt5c69yf-ch3RV17_7OEQ1nI1Z8LjlnSyaGZcLSCYh-zpmcB0XBf9KaKiVpTdJYmINnzzFFG7PRw226VwoxnwK-ryOJRDztURsKcnhGGOvdUNfi-UBMoEIp4Ky3VlrGuiXNsnkJlqY6NdZIib6SeuJ0Np1mFMaasLYk5J2t5rBsbcCT5x0fb8IfeBWIde1Er1y55m8rCYNpRCJpvY1pOAABeHabfZWzmPZ-qALQwLMqpwcpghURgFT-_NRI_69zMYATY-XfZwjWbagKDwuRBnoGu4KwRxI-9MIsx8jPmkC7djLpm4g5xNcAmo9lVBwp-Zi_lNX0sMhgEi1vRgFkqhjhWC5WAHe7epak6h1lIe2LGvj-xqPn7_uCtFIhXNRp73e12MbMnD0TPDAnPf-ziBH66bRdhbnDQmdyC_EAPOGLVltbM_J1-jSsx4uxv_uNOSy2iyk_XLLPvk1fjchXWMy4oVpGnlTxj2Zl-26RlzvJQt6So_Gx_Vl8UZverdJ3oc_bmyoPNLz6FRI9A96OjNha7FzFEdPakEXgaMWcuRWayE5Xl_Y4Dqwk2yBPy7A_W7Yd5i6ONHmtE-fDGNei9lVsvXugX9lECUfX1PzrQ-1x125kM0MbzLabkhXdBkRFSZoxfTs8Q-c7pSEP_RbdUr6QH3qSYWTISnMX_dfwBe5y5g3XoHdysoJkZqXrI8U6qNu1uE6gYtCKIoRmICiHoMozDHyv66Fp7MQs8a18pPSqlB-znPQiXPb4yst6X8Pz2B0YrB9dyVOmzxai1SiALKLCdMBOZo7XMLHmhEsntjJeGfAhQtN0bothNRT-zrBEwOxPLFg1tjNa86QNGDtEtKmnGcaY4TJS38ifkk6aJQ_TfDg6zNrJinj-sEteK6kN4C97JhJIK4RcIXzWxneCDaKVP8VkTW8O76haRQq06eDTuW52hv7NssakP6RlCCPlfv0C9AD_vZ_DVV3hoca9zdD0tRUhetQ7lLm2oN3GFxDJvivWd9wjAC4unABpowhA9NfKDeZ4yWHHSDTvJXw3iBBQ2vO6HoREsq5VAkEmjggHII3TfPaQ2LFaDgtPb3O8LE_sGYoamaABJtIVV_Kt6E3IOyZTAhVLwlIiAtVdLsUTWhs1zYKISJuJlt97y38AhKup_AMizWAEnWPBufmzqH1LP_BKQSjavViTzkvOnM7x_pouHFkT_tEWofAVHoMpEy8mZ-iQdgCqcPQZuJ8w2_s-ngQKGtKTAylARIQ_GV75Oo7y9hk0g-EmSI3fPNZXRhmAVOrwGVBYCrapNPrVXyrPCve56kv_ve7KIKs5KROZkLww_gVfw5kFuGYLYOJ7_G1Hcvs2pHv1GTuE6tZQ_QYaaFlUwETqyHHusKyaZihXWZA-HgrSbguZS8aK-367YfmjljMd7gtI2pD-MwkYJbVd_Ufn8kR7xAAlqkYXjh884Bu4VzW8v3YvkLC0ISCdjzuzomoRIoSn-SLJUGDUDUYJF3-L8QxSsjcGcRqiP-MwFjnPfs4BbU-D1AppHH13LoBAd6SgeIIDkbzCEK4lzVsj0OlcUnzO2keLiWlNxjACkOSikgW9DVZyS3aLxweWs9gxuagV61Jw9htb3Fcs8xmn6j92VOrF8eYVxOnUg1cx3XpIDqLR0Ip0l5XdUOwJsI3u30f-wNj_por9J4KWD-sURC8HjCUVCAs5NokRl0pOKBhOEQ3Uq75P8nKt4zE-Ls1HWZcf5KBYRhWByrwi3aBmYLlFl9PPsoSl9AQWEPZ-AbUUCS19sXvjyr4Y5uIgOoMBdst1woFdFBhx-z5h5SkuFJsdPYW98MEXdWU81JwnTEz1mqigJvfcu1u81rfgw5p1DIu0_WvPmHKVym8HB-uaMblZ12FcOPJ1S6nhq_H32Nn6unu3cV_UxQH0jU3buSdYSawjgoAPardJPD3L_6kPBmZcNU-Hd5hKk11r1GIbRGI0758C2L4mjFHtwNgSBv_zH82OEz1EYVBJiFUAya_3vpSqiUnWk87Z9OleiEzPwE4cFMvMBJzeGRTcMGQvjXwHZ_wEhKhoGWdp0DOvtKQmsONMfRzWSMQ6A5u1uJrdBC-FBevHj69wQVNBxUOgFvTvidvg2YJ3m9IU_VInQcsv-tG8t5sLz1d6XqaPmtvHrdy3FgdJLk1OT4o9Vzr90quCwAHKWd0opBMOiKqLlanCPfm4lvl6LvAKD3d7L9gSNlgIyAx8cL5vnEc5bpOaZ1GMxiDrDqQ0iX-roMiioWn2y2wQxOK5qOAjZaTp7fwdufnaTunZTrdEcq-Fzvs1xlgQxxUliuqQqPxWC8A2eF6eTKM9acFK1DPy-iiIQ01q18Mjus8EXNW47TwaRTyaQ5Z3q9DGf8Si3TlwrTIuwrQt0Lz03QwXpD7WTK4HxOwSemWnhO-P1jHCBMiMvvLzInUC9SQAein3-upV_h-b2QV5qRbXKNJAVN7igDsiWle_ub4r30LKGOTpoL68nl_EbVc8xsTTbiVNFdjfIsOLLptRGMT0hymV9mc6_z9NkfxspmslMtDpoVM0V6j7_S_22nDNsCWbUVY7VwlQYYor8YL6rtipokjL6OykQtEFy0A-hOm-ODHJdtG459QVuheBGN7uWyooUE508qjZTHJHjWHSbHS9Ihg5pJZUNGwJB6qXigbC0HNTATP5JZwC1vidSsmpeFNBmYUGBAMayarI04kBXJvZjjffCUwUTdhBmLuuCz4FryWpvRat5sHjEG-IwiBm7DhifCbgnWDUpvot2iZNyEf7XW4huBDgL_cKJaHdrgl1RquULPsw_Cqxb4-hkNgXk_kN3BdfBA7DmCyR2twLTrX6R8zO1dAjI52SQT_2cPKVlAMIGFiLTc3deL04MxQQW3AGX5wdDDcF2pS1PchMAgiLHEThA5FluwrvrB5R_YAEBYgi3VIqN8HXppaeDEZWh_iYIelzvD3gDY1GNGN5sr0h1cjex32QMZTitpYvhFhjA4uvYmbZqg4zdot8NAhxCWcLKXBnl1_NxSwXg8WZxITEgjqa-bfH02FMwEanoslfbAvuHCcshJqKLmwTX_1hxEx0lvQBI-J9f_BjEMSerg1Wl6h1_xbJr94lhd7GwsYI9TPW0jYl72Fd2GdfAjeeA35HhVCW46AXHtaX9hbgInWpJ4qmUtsO7Mgs4NgLmHvGD4SsnmNbu5YwbT5aF9iA4jZltTH3SE2lrDNp-ypF90vOQT60eCR2BcC3aQLWPq0pS5N53T5dxrOmew5jGC8XUlyjIo8vu4EkRM-Q9s2MQyQ2xWJj7w3aKnjGlQvf7CQp8kCtMj9PveBeETkdZFYVClGEoI_z0QBwj5d0-0j9tLU91KM-LMupVObICznFEE1REyB5S2p9b280WfU7z-qD2fMoOUDfSW9scaZRIiYii0wLkCfETJ4Kt0CGTVtrGBiy_Z0B1vgNFYbYwDp4iOJ8lYjdrU5swJTmYsXz-TLx-6P4_ccRB_XN_pv05se1DZ3mzHrp-UzMmh0uB47Y7sitxsrXN_KTnpyiJMEuel83iATLTuqO2A7um9fXBAXYcCPz-iqmtJsAaH1lB2tnI6BqrNFrVYzUgMqg3pcG8MyYADWe3iyDHfFDvID_rM9hkkr-BcVCaLEi26VBE-g9ULkVNYsjs0ptagSn2WEizAleNkB-NCFkU2IhKragP654rEE900b0uMBUZPxBCHgYtotWhLEhDuP7tqXlVrRGZ6qua-5CjyhMD0x9TPqS-FmWRovW1y0yR9jzVdwL_BeLXyA6G6nh83rSk-rceRyqoJefzI32oPbF79YyYy2MSnnQp3AWn2Qv7Ik2G_cRK-8bP8F8bwDp7IlGeznPMcZB1DZ-b6oNFkoAiXkdrtSn6hyP1stoghxINbWOc0eeY4nXY3NCrkNRmzIi1EDx6AeCzpLZRKrA2CZAdW6t624uq5USDfExzv-E_rEAQ5i3dAKmHzhYIfzFapkq3WjsDpIIjnkPh1mxPmPi9xhbwNHutTey3NPwWjYej3KlNVluydTcn837-oUdUV7X48fzfQfLXQqmUqMC-CXRegxEUVhi93A0h44ObJlnHmYsIn5SiE_tjQNhE3qcwzTcCDnZAFpsEoSEgvhMIE2yPcFDfBbWhUGIEVTg5hvnaMoocl3ct9RHYrkhlqcI2ltcd14nZayfrGrSO2A-RcM9TG_MQWsx4ZAgjcnd5VFOhuQbMDqBZORCEruT9hDfeq5BYHwjyIMiRej1qcz5CLWpJhIlg4xKy89CZlgeJ53SWHAVUvMEtNpupeJ8VG9rveeS6NXeFE_jwhieALuhZ_VHStegAdlAX0UKYlKmIwdCiTUE1havPtavnZTJJNpyD37UAXwxCgi0p4WsfbP8KaZ576EoNJDpYp2B-HmWt0CevERfWxTatvv1NWFWoOP5yd_Vu3ZLP56gLHOfI2wsaso3ppBFsADLrHPSxLu5BfwXFKDb5eytko-n2h0WlOevXHDibs86EfchsEHR3lQIv-8Y0u56w59gprJGFYmC7S-dgoj6_2RFOCI2EMD-m6VZXggX952rvBHUi3p1mQTGMM1st95nwVI_d_DxdUt4sw1M3rHTJFwmz0sRB_NPDbo5GEX5D-C355cl4A-XP4ge3OfVOieQXNjtwG1X6wdlM_NqFHsKl9uA9U4FK3t2ugxDSLcKb4yx6NsRUdcTev-_GqO-dy5Mj22Ki0hAsjoCmVbhyejYgw28Ic0bZwEeyoce50JIS493kW_SDB5eCl8nMvGMKdE-1Tajxh60Lv_pIg3OOF9PfZ-xIR9zt-I7rI7hUVGnB0xE6MVdwDRazEP75iDkMNbihV9elJFWKX4ET_ByNQFUWJic_m9mj-xNUrvU158mWVE7c3PrIuT9IQWF6Hu7e815SvrjZ8d2bfuPEsWW5B4SW3v5fosfTZlALprQh4dqw9w8tqyJNlX9p4H941-mYWh7_q431pMY2eufwNB-w-UMz-Lm3ZYEpmJkXsqoRQyyNb1-KuY8JizCBJyZhmHZstpIPvnI2_8MsGPi260WQKrIwMpD1Dca0LaUBQm4dNoFhnaLUcAhiI1i_cH2ssnI-GQnNtJB9D3HgMKLvKQqR4JWK6Vjgpe-yhWkAf_VORscUo7eSpvHu2HCVZQI4Zsyi_Kijth79VasivafcEmi8bCCYbQ_ncJIPTtmy1Xe1AmGqykejWuSO0MiygJ_DPdOs-xLuHhX_laBirVJhUmsmsZVb-RO441fKLaE6l12pKvBjK8J2kMZDVF2jopWKdGudb6TXOfQ1iPHPEK76yc9mutFaSD5EVt9vUUNCtW1mmAex-JJm7ScSzqfM09Dhv4XD0vGfBoX9mVToHRjichMDyGXWhA1dUalXcWcffe752_Zx5S5dAPPvnwyGwd0kMEno21O-ZXWYdxBceWJ-O_w6NOS-1dYtkiB1nhDoG8h5prS9zL7Jq0s0ck3dFGJLeKt-sD34CSEo3fk_vCuXphi6Y57Vi6ZlatQhh0GSljpWiNs69sOlSSCDlptZUh1dX-6RIrtTa7YFRX7utHBK5l3S-BYPtqmC6_C0CuvwRgweUYanbOUpm49Jwdl8U3owPFVvwNG5LK7ADwO04ovsWYjIoksjZNqc5IjsEVyB_XBzQEvGHMxovmT1jxPC2--45IQUvIK3J-B40Rog4DnFx8YM2EyLYeo-MetudlSZbzz35R6QQiqxCTuXd8GJch9Z-rpA1al2vcixL7HpJDEIuFGVcZUe6UWsn0MI0aNUUo-mXtMgNBzMVWSUeUK41ui2AhfDsS-LlBQOc2PtGoY-xy8VlJuPvqKmA9MUTLhyf2YLiv9nTqNcmGfXcrqbtmt6AVdlRCdt3FnQfGW1sK1Cv5POHbZBXTUZc7PxlveydeQ7Sym0KRpkBOG2mOsUpMrlBzb0ua8Apll7Nva8zkzPi-J2micW2MJb1K6E6FQnCEO3Cv9bnkx63EcVRYbsE9AUX7JGG4oVmHeZI-Z0pPxwQKAK6no9DWe5C4lt7m0NbPMJF4yFYrbvkrHLVTs_d3_T96T27dRz-a8UAnZIVFToHwbsVPyLWo3v7V3D2bfYfgywI_jBi_XQ5ZJ5wX8NrM6XGD9_xkJkhmUvvYjAAkMsnr_1ESaOT69DTExDtoEVzOYo_MUrghoJ2RNAsnkIvu3PcHTa-op21oLgiuHjI0fb1JrMJW9fFQfBoDX6vvb_zwC6X2yt123ckb0ehkhtBy4JKWwuyFFvs1-j_R5hKkcGaciesMOBHBszCM7GltVcmTDRnsAgQ_4q1yk5FRcOx-AOsYpZTGOsIfKSAcBtJosMn043-jGii5S4FlXYby_WktVyGhPTY3dQjhDcxIcRkBD_DBuY3oRgjMciYFnhiYo3-UuMO5s__XzlzHwo0wARRpmhTuDE_1bJiHbr-6SI75PyzrdUffEDkCcRpyL9bATswkCq32Zj1D7mbJrVs9toelOQeX7HJBLnPJ49T26Bk9rSvedzFEbB6r2x3J6T0Y32bco8i9_ydaTc2eJ3cvOf_iqfxEK5s8jjJ7PVYhaducawc52azxyEuwIYvSvzMYV0MjoLQrbh81vdYaf81pLAFubyIDQUiU4f0xUtF9tps1-myYx1erc9-ylWFmNJ6mSno31MxA9E21sihykktZem1nue1NdG3YcNGPgyVZvUiw05tf18HT_seHxtOXsIRN4o1qZ827dsKoJS7VOOMG_432qAE1gZYHPlaBjdN7glBYpGuscL1OCL35bmHXlNoAMXtmj3XZfbg7zBsrQBINHycFVrNKKhbvluTijZXAclEPKoZOa6Q5J_DsqvIfLhUHFl0arskrwt1iy6PZxdem0OwIrEDKxJXwVEJpy8rxNzZv-OpYmNwbHdhppHz3Fe5NBNc-CrGgl7169u-HxwNq4UedY-pUPxlO2TMQM0rG9k4qhifQ235kYG09PfCe-WlRIFOj7WaM52Q3V-8tDXW8P8ulKXQ42rTNa8BDpH-Qh4nmBlKStpqMe4-lqXFUJtKz_c_oGKag45TEBGYqoch1qNp_M0HnI5Sc6z9UU0RLill_XU1Zyq6Vi7nFcfy0R6o8wcX8FJ012YtehpZI2fobwoQbB2HuZ9TFDhv6HRjMdaLVOQSLMIJdi948FSsuOuMUme9LgMilev_7-kc1jf3jISkOnVVNcClRqJpWpo3kkTubh5XKYLdmWqDfG5F9UWNfw5m-drRNKI36uwYPPOG5rTVzsZ_hSXObeAoKf8ao5gI9L_ZwBKQEqkMMyM6sWb7SMQk17AOXZzzayUf9pCauCv2eYSFfdp_bMqQjjPp_eS3QIr7dZTs77sabHTTUdFn949Nh_0Dtq4vNAiDmlu_4SnEssy9CmDuUlORPyohSWtIpI8QIm9f6Vqpf7hTQjzMQlkO3FfKs2npEIZlV7mLrRmdW6WBCWpX553dbcynp-Nqv5lfej7enc4BBGtEMclQOST_dniVofoEdoH_452Cy_f0als2sN_0Ff3sQdD7OLYTq7lrR-hPb5BsLJSoxym1hY9JsSFGaMybCCXvVc_AhDWORfVA_S-BrbC84EqSwypssZ19Posr_bz3TcSjkTQWb2ITtznbvVGQFq54_Is2NT5yFpoBHZv2YU8a_Kn5p-5fFooucTrCRxhwq6IQHvm5-s6woW3iIlhFU_792ngO67m_7Wq3LErM7iEuKwrn0shUdtNTNsH54Sjtm2Cu6Nkh52btwgSCLZ7fri14QtVnbiSxH1UjlgC25C7yEXUG69v0nlyr8fxAArTVOM5g3FDQd421JRYJs57EoyiIO2dqypf8r9HbUuEYVNzCWurs9HdKZd9BbjJ_sb7vcu59CaurV_cVxj6GreEdGj_cVganGVY_6ik86B5SpDwwc2vhM4cCMS7UzDu5N2xRRxA5sUTBFqyVgHK--MydTfIjN9l64GzRSQNq-0VYMZtDWrz64R5PPTHcntXHFFYPB_KKhaPhA7J1VPB5si_xoxAcDDHB47bMZmCG-LKIhuNZqjQDPakYL8udt1208BszhtTYhR8oariaXgXCt24x_pwn01eboUkmmL-5MyrapNapRbntJRJ-9HYEFWjeeVLhGKNjMfcvWcRiSrPLD788JGD-wzXtyhrgvs5LDI27zEZqvcN-kA1y3uSq19i8khCMTB6SFPc3GZEqh7ik2UFv_bCaN0BvpZoLTsXBvTynjLVCeeXefH66h79ZUZJj8_4JvJcMsJu7JVROYHas4vA9ZR3FGZTbTXzm4y7JWtyeLQY8O2SQIs9VWAazoh-RKSenB26yg0k-Zs4vlf_7DeYJpdY4WGtL-GmIVblToGUjGG5vRohrV-R27_xkuAqfWOwvTBLCsQ_u_A_9scAKzxhOIsP1rc5bkFv5TsdIPMyy56oERFldWOO5x-qwP-EwHD8L_S7kHOC58Qam_R_-qmMZiLSeDk4rJnQn9Jm6-uysvksml0BBaCfSbrOqzJDZbCddwcoQPtqk7O8Oh5F33q8neGHENw2j02xB2cLpQcEI646xvgDSp4q42Vt-Y9uQNyM9Dlg317gQd_3sIs-0yWNpGEGUUyh8pHWs_Nn0Q7QoECJUOrgUxwTsZRalnxsEx8ZQ0LOwTeOrcaRO9S29M8LjyxGs9IGVA1Rdy3vO7E5EZ0yNX7jQyY4BN9Dj1jRRTXZ4EJVSkVa_c6ufeBAskaldZfTCc3MTHdKcTdoeo6LQCYpeQ387KqlF38yEEFfV1MktY5bPy82sSlnTtNxl_LWHkNe3Gj83u890wwmOwexmXfOa3HmFGz49-IvK7HOMNBOe541PHN0YReYbOzw_JpmroqejLHOoUGv8qrGSttqBFH89oo-L4IYblUDVueZd6rB5NebUcKqh6VcrxFrNE--6zq9Z4DDuCxXsFKh68L18cGtKpeb4lCPOoRxC6Zh50MdnLpVKtUKBoCyaA_TQF3A0TMn5fUo_JNc9-OHNSenZn2tUR0LAJe-5e-vr4Wb-7VyRLZDVH8X4T_EZ0xdiK_oqQvOSpdpnHZwwjLFLvywcbHtSPxaSpMHqcocUWX5hovzSQegafVc3KbfMXOvfti8p1slo8yrX8Q7pBBkjk23MBO0nLGFMHXl0bSxHtGV5srAwjiPPrvbmoQjwq3YrYf9p0knKMJyl-K8ADbxxuI4g_z05bd7uknjABygWOasFCx_2DaWynpzBVzcb6M_HeS4VNZVmvitL0YzhBv5VZFAhdv6QcbAXUpks6AawaFg2lp3Ckqxg4A7DF0zzDcMXKhZ4iPzrIpmfzU1qsMom9ElD7VAlHb8vFb5mp3WBT83kowbkcxfIpfBEO29A4NweFvPlwVhMfgh0_RN9vdCdWCJn0sPWGHZ9r1OsiYF4WH_OastIK8bWHP69Nfv3Da6Swa6OB8uchHAWkontf5w07Ea1IQJsjkuUrPJaFPHA6eioILbVkxbUcp16CS82f4nWhnFZmpf03alrPcPxVO733wGOaUSaILYjTRoZBGFxzsxWtz1Z3R_QMQqo4lGneqd1tVJGMP_cJ5wVWidgHkNO1KH5PtW3gD3QPgcF-PdZLRjOpHyL719l_KQxsLajQa4tmAQqqjXqjWcHe9Qv1wGgtKm9Vapw7uFlcp36wb5s3rVrhIqZlrmxR5dW7A3pet2VKAvTBXW4fjHemesslXZCWcs3vr_unibSkrn6cJ496rSBR5U_LRRTos0VrVRf7qqb0rmTTppdNvIJqVUcqVbX3MhJSc0E_Ba0n7yfkRwBb5QxZEWY3i9YGUMJ87wrhT_-iS9Sh5_XVYYfTSMiiDuHLYHidwZ0k3wg2Te8XOxUeGIQ37vj01lyU7cGuqyF65xXiFplnJFmBw5mzqHiGWuWoNp5P4IqrIGqN_hSdgfPDrRe0veqSbk5Rk30gtrtGt7qlw6Y5ujXtgolCrUvVvDgZIREMgtviUC_17hKO6wDyS3de5VXhmczWH3ulbsVLat9qK28XSiphFuCHaAOp9J9m6LOMWLr4gYhpI2v43NSw0EZG0lH5AImQSWpcwXWNLSaXC4c45G33lAWrKjKj_IVO4CyK-pQfPAYd_AWcSt1iYjvR3qMkTufUQxoSxZYVV7NBjX8so3Vj-sGCKSjPEQFEdXSYq2xnyAk6urdcEqg3OQgyCpQ-kPZGMFts5h2IYQk5cYacfWwcn6TrBM0yBEq5p3dvplZwVqUtnNbKPKXujlC8xHfgy2LV85lGK-FNoZfUO1ZvGRhX_GYNQ_KE1r6JHQvI2TXcFt7-Z9ELoXqdwV1lTIAwWsp6wm2X0ZfE0wsZhERCIpGaEOeYLbQDBwFq75ruIrWDL-T5-gSb_dc8PpXChFi1GH6XVrVQwQ1X9QcSJFj2JxeRV1nNo2RJnZeASU_4NfltTxAinOsasKk9GB8AX6e8tDqC-yOIzvZ8vG0iheqx_y5vVgoubXq3G3h8cwECHor1YbIDhoiL_QFxMukC2sbs-FmU9wDyZib96vAnrvsxNMQh6GOhJPTKIUYCVtHvbJARgTMfBo4LcVlb3AuqQ2E2uaHDP1Wcy1qP0SCw-PDPexCkbJ6cA5YShm3kOcxx8k4r5DiNWIyphb53WaFHewreVc0NFUIe74n7svz__JZZE2QfcvIj6l2aKxDuKxv7grzg5Evh1XcLJYj7qy5gZetms5Fcu-aT1uQZxRccpuIkRKd7urND0BjzN-eQ_YB4LoruqQ7wyX-vIJIFIrbmvjAtHny3Bpi6olvMMB56MaUHlXvR0DRSD7XKA8GNxq3ptC1nAl5yuu4TNAxLmbT-YSw1h931iEXDv8jBw7209Ji3GG2flzZ76wqrS80nEW20J8R7Rz1db2VkRTt1aGjHhmHiYDO-6M5uFBl7Th7iWhM-Us3hE4yKmw1ObDESQfbQuryMs9LATzfgPRtxDqmJUHqclJt4o6-3q5AvlE-AAZFpRlILqWTXl2VBFsjAwz7MRUw5fy89eAnvrBjLLw790TZkRBPBD7zQaa-8Zn8jQTSfnJWURJzzff3BlS8M4LFVm1uw-ccVihI5Xl6wFr9ohL2J4OepESoWbmbcviQskalLbhBUhweq3BoUN3LflIE11QbXWl3DF_GVDEFG-mWgB8WPoyBcAZAKDjDSpgYrZdGaZObl6FKjduEZsKbyaCEzVoFglDCuTkjwE1o-wZxUbsVd2STWd04VLgXDQh9PYxCF64nh6g9aIwhGGtdL_EVdhAxRe9QO2y1QvfHkb3Y0cQP1trBX1lR8wu1s66hYiD46J-jfHiK09OKlLMxmrGIS8yzF9SsSIlOL_3cTbQY2DaP4J2qHbs-0mbVHqIsF39sWDH9I1XIwVH3XTsqvlYdOk-KV2-g2IVqN8r7j9Xn8sHsfwctkIMc_fZBeh995uWHxhN4D4EfvWlyTPr9D5xjUJkl2gFp6iiv6DRLyE2aV1Jpel3q7I7qRQ1OGeMVteaJZIDN5w5cTlvY5Z3Lhb8j_u1faO-uiqbRgNr4ZxmnevQrXBYCn7Est7CXBwu-mavmXAmTMII25zX9nmeTVHS-ikxfyU8TNtYiBJoumhzgBJknDvfnm33S_L-r1_TiGLqDGXS10U8XO4JkggMO0bGnTb8gq_J-V7OXLwmUpUuKRFLqG1VxicJcMSTmarRXw9n-HS2-b8xHWfvEoIIs9TeGtkmkm6tDXxpNZDziG3wyfWmTDnQ0UU_oYY_DyQZSeAyhg8CG8_5q9PMNfVuF_Ljkq2OpSThNHO7GgzTsN5ilsV6gQM87VcHVHngQseb_7Hwa62ipVOV3Jb-axFGtxAVeLWE9uFTJZZTnTB0XAfXdps7CmTDuHsEd3zdJRatCzL7NfAGJDcsXU1H_-k522A0s53Cnikoj6JQ1McZqe1auIX9YcLdWHHCTHLs4NrZqEKuhlvDED09_tQsmvMS8I_eXR-qswbA_PbSUJwazSRNpwWLeD2gw78eDO7vvRKIl0FclNEzYHh_hlpVScDtmPwO95ANhVcEq1spwU-mO1uAuHPm-LVbOu3qD3AZhop992W5IZcZa4boraUhkGy9RfZ4LcCJ6maCA-oJJe26rwm5A3jbZprw4vKSFJZK9ybS5ZsQdZvuuDUY5ZXGSu99x8uBJWidilzhnOrvbLUgjJk86k_rV7fbD3zwA9Ai_Oe0rptAW357sHh6HnClx5XPrs_q6Z7oZ7bUxkxqmjspr4I-h4DjU3sv4u6F6MjRgRyDjimDP-UU9p8eHZeYu4VJ8yjrirIYjucUkfGfzCvHCwxG6dRqVGtDiWdSNdd-vcAKJ_EV31_AHgY491yT76uFCHSdmNlAMj9OejBW-6amudzcNCxNZrucre6wZBjaSyvFFCxQ15vtZP7JFapvck2PwLOOiNqEVjD4NITECzaFIIajwNZ2ZLb6W6QaiRKCFfPxLfxFRq-Ha42ztrVe-S_A_5oVxbhd4CO72t5rtLXMu68B2nrZqC6xtlMES0OzIh1qRCRVZE56_6RNT_dRzkiOvk1tU8DLhiepVVxTb9uvfXN2kVuY4ixb1tdqdeikgOtHaNYra7lPcTjNLDgGrsVo67OpcMWRFUotq1HieQ0vQVNjK7zW6khDukYDGJDR7W0CA-wD7abfJNkggjiuTm1LBywYgB4ENKuOUV75Xf_zu6M3E-xczQLbbu-6bzTzoFh0GTlJmWW_2n294OwvST__1HERhToEVKceYtFZa_b9bC80PMyF3er_Xh4-X8lDOo9pdb9WGsx4JDQj4w5zpw9nXHm_Ip76iWQotf6sx4pJDcO-2GyZV_3-rKHams3inMrkCaH6iDDNhGgaxY2XWB5QIvCgPEki9akYvbFyVX_p2tdfeVfh7Ufv6PhgQSO-ROslqQcPjouNyxsHVz6g4kb4Q08nQOo3Ksxn_15EtuhBjzvP_RKIlq61E_RHKOcm0q--f0dXzyjrRcV91lYsFXOMqtZYs_b_PcQ5ZnNYjjpOjWPuWd1s8gBvtgdcD59pwTG1mwsz5ZnL6figWegyrCP55VwnZ0HgrzdIB4vFjo7BmhkCisg_Siu7zUM3RJecj-Yi3AgvBJehLrgyQ4AuhO-uEJpRoMS8mfnlo2MseSXscFUFZlXCypOK97AFPQO75P_KipUKELRURY1x7lV5bVXnjKPcdEd8GLVpRnglHX02ddeGju4YMXU4j6y91L5iohEtX_1VSgXsPxQvQUlPvfDQHx9jqp45hCgiqQiiaEL6nIMZk67alKUL0vpiv0-drqmd49z1rs67P-Zi7xUJBpGtMtXL5gxxpXg2T-LAkofaU5ZrMhLLM57X3gU9tNciulrs5n6Wt7x-eXsTSPylWavtploDgmWBBgKY8-3eUXEf2FwWL4FhKQqDdjXD16IyvgB62cHiMRzm8yY7JQ1BzyupzKSn8NUllJARXTvMWKB0zYGXEQoNt4R_eAaIuhhZbUIaGBPvS4JYpnuayyEyoLUfjcAl--4i07rK6jk1UWf68E3VzVRGk5m1FZpRo9hXtppP63mr8Mkf5eBxilf76SQm4cFI9gYd0ooliaKuQOXFUbBEOPU-ja-rdkB0gS78fmwYOB_I0iQn2CMsFT-r098SG8JDNxgIkRT9H92ihj5wesW3K9YQxKHIH0PVIkQeR9_f1cIABRtfDCzb7eJdv4FikACoVVjjfdbR7dn8Ljn4CUFvDVo-gEGOeQI6-r83OgwsJgkK3NoEZV7XwOrANWsmHuF54UurIQrBQjGgUVoqsUZTnJxZhMmmuO9waNXSt-Htay-OLWVUtnrUFgtStJfz-rlJLJLB7SE08an1lBAwA6ek7T19p_bqecQn8LCkn_FXYCXjdWXIkM8297W3ue1Fk6-8ErLelTeuTtc3X74eutPbyo2xIwpgMVC4yIviIjeifPYwB5IsDks8VxyfaTC8uBdzmCVCKTMBZtzSQDW4y7MnTADMELHQjQYXj8XwABnNt19lccwBhCloeGCQy4jA1cQUt9vIQ71HXyun25J7rayezNIcToOufCnOwEJiwxNNUoMCuw4yVSM64JNv31v--mbVD5gxLy6w_OsttnUUtGen2NqF4MdSS_hthYDYn5inytvwNDkUiVJoKiQwAOjQOZqL643WXZDIcBiK_XeXH761aozcCvcN-bYKtxmWA2e0bOi0Mpby1Xrt_lRex022FTk1UvNsXTesvIHP2uSw4mKoaLl_Cn4jmS4HEz6N-pr-NUtZVGHmpAPwfEcTKgaUYGhwgEL4LcPjdrUSOzPmvJP7k_ORCNQbQgI3IbbNKp8QdizzU3-ew9q8W18q1gjDGYhjxEUe-tNLKXEvBFtpVjCqsQw-6lmfNdIMV3bBN1K6FkFEeK5rRrFJA7rxqsA2glt8Ag3Qb14DkhStPH2icoAph6lLegU0Bfork_XtTdk-io-GAvdhjN88IFkpKb_9xeG4N_AGr0LU8N5bAPyy_eIXwEHppw4GKFgKtvsZ8sa_8OAZ9v3ede7nfTNnfVUl4L1LL3HKHVxVp0ppyubSSIQnra3_RRQQPXjW1v-rmxlj86OeW5dLT5xj3rAEGMhlR1cfJGwLbnUHbsrW6wn2qEfRom68F8BAMFTfj8ewYQwXKipq4OhLk9fOxVeKqIRJZF0epJLGyXESYTCPvdP-P8gEfXAwknVQVGORHDEkFZ-tM5DDFvIA1OSxhxOMwMwByEIw-q-KpWfpuMN0_QdxyKtXjjVj_7hD-Vsh1WTUMjYXTEOS_xTHUUlbM1FxlZ7fQ95I9UNazVP9isoxbj_YHtF8jGBZ3xiyzK5z-Q6fF8BxcoVtxS0UoMfUxn7s5M7LSyuPu3YR8JIf_F1IcvknWQOOMZnMBbDR8nfv9TUNK5lcN3ZMlMROIP_6OZSUamB9zcq_jSUhjPaahM0VnHKuzibCNh33QiSDisWm0aC3JsMpXeRSRptCkGbLzbSYLtlyj332oYdl8wLcUFzNteqgSbEdqcOXi5OWzFKN8BGKzzatgLUK0z-uAeKr9np94bCmbpW-ShmrmaQFt5PtB2s4TfmuOW3mQA4g-gNffEbFhH_KU5b0J6Ft29-z3guHns1OaZr2srjTyWh75sQXfZ06PbizMbaVP0m-P5nFrPWEoQ-VXKDe9LzZRqYVdmgsYvUUiIWqm3TrrBTzrH70QicMs5tM_nzCZr3pE3l3gKmOjGV5V8opdLktSGHNd_Dlm-tAgdtVegIpDHcAKccHP-fUX_2i_TlnGIO9MAxbFGkcEOiFXrKdJVZCZ2NBMWCXajVm8_6BPXgsiuLIwf5UpPQPaXta6HCTI0h5OG5nD0xtIuHxMW0qEj2NhcAuHKruowcDmjgdQxLkVCXO3J_dgkR7D5NZvdcRFGj9DtGwNiIzTnT41c1psyimOYRgoRrSwlM9zq-aCUAutA6_w27ywwkltfGEcsjazfqMM-c-OpazbQOBNt3h7ULJVV_t0vlz_vEGsHMiUwUCRRpjOJK_amxIQwqAQrAs_lwgLSUPdK2XjIejDQOSaRGtnc9JKnnjQpQmwJQNgZWeir_D9o00zS4zjkEXWdFi6U8z5AZq1TnstAI7whGWL6F4hF5W-UMPnzroKrMFtH64hB740xyAzil2cma6p4Fl4McndfNoRP9wt5MjwAu3a4pjOv-0N2N8hQGQyjLOGEHIqS3dpQE6w3Qlz8m6aIc7ONVvml8DVytzN4FMlbZ-koiSKzXlbtUtzhNqQnWtAG6EmvecvOn4gBK4rdr5Gm8BmtsrwuxtgqkgeS33AcLBPAiSIuLUhfpksa9PSzTHpigGzDQbGL36IFziynoBfxbVcMHawW5xwIb-vWy01cEVcsxDdHpDdBID22INrJNSWWj3hJCNk3KLUWka-DgDc27NQm-4PW57hw8j2pJT7yt3_fmrcrxKR4d1p4oAdvuhRWitZ64WLA3cMvKXBhyHNZ_Tzm5ZmKGExPhuiVsVJ9QCh92QD0EX9D_AXFl6zvzwx1jSKiuKFJ6TE-CLyuokzdHFEcvWNVtFTEeUy2rpjHZDjn4I0Hf55zPwOYZ-nSRgL0iYFS4T3eSktNbAgAt4R1n2DeMkZQn0d4xF0Qg_5NO2DhyHbwITuZa9nFkGNOguoqMgQ8599lT_DTxKuwPu_0TLDUIVb7xlh9ELC7nBjFXUQX6yYv2BkQEekNT_o5E1vTn_Qo0SWGMKx344B_kvDAjPhD5mZOXRC2CZTUtG2iDeWXR03TEbk9jVgbyl1m7f_erS0XBglf3FH90JDzViqTl4TkKZU1O-ksEyI7af6O1Ry1UCDmHmOPCbi0NFZjjSlRpgyVLcV5bqd7PN3R8m507r4K8Pv-0FOm8JR_THMcmMnAFZp-aZUwKv89Pa_y__O7AxsqTOixU1R5sXHLiR-iCeZoAvvA2BAvn81dv-GTGAqonpRz-0YEWqBj6kaEyNOEGdoLgSIEsYW0uWC5lNV9ZEKm1GsetakwiwqoslnZdS7upRIlEKAmiqCl6Ga4wF7BHxgLLQlj0GzF-dzRyD6chbcopPwFyDrBmyE62ngic_TkgoPtF3loHR9ixULm8HJ89D4KOo_bMO2VCg3IJDh3qQ_WoqlLL9u9eoRa4B4kKOChJ_97MNrggxL9d7d7EL1GKlk8WVyC1ORpHoTXjVMT8xG0sxjJa_bnagWfpDC00449bD_Kdqaa6YcAFCXF3siteLDYjujNfJ7cz7GKmy_K5G0PwFSxWneAXBrZ6QGwMRIkJXi8EtEKb5MdaV6Tirs0cxkGh07mcHg3EhW82zyg-TmO6bp_zZg-6c-9-oOeUYnEdF3a3weiBcVKl-MH1VVvfkQrBsMvF4KjWSto2fSZjpjfuCy1ZY8tsdTZQks-xFWqKuIu263vPJzNtj7nMG7mhl3yWSYQ5rQeSWkos2VYpdm-j9stHCqeIRvQ0EtE0TxKQkAS4nBUuRKHJ2SkpWAw9GEhPJbcE2P3vivmAmc0oMPfmkBBVll873qZJLW2E3PtIWXzVmF2WwXZXEF5Tx1upY4Wypp91NGgJiiLPK8Qct3wqiyukOXGiLOoWcB6LPHU4qocxLLnjmAn6eQlO7hs0NLN_4EK1gSFNXMrjDKsFHKu5_kv5MY1o1RwJl11HoBbLDhSiV7ObjfdqJ6MSUcsHVEbJyIIjCFxLAHvntoME3NBjMnIXUmnipOF8RwkQZQ5uG4UEWmsmUK6Qs-8zDE8TvKl95sjVPHYrcfOA2irggKR7PAekFK8oiV6dl2aUxmZqX7cACl_IM2D9ONwzd2Hz-80nFyciUKUTctY5_aXY9QHSNKZAWmAXSuxQraOzmFUvIWGXcx5FlrLEIHGF8812EPT2uWEEmNCBYEKmQOi6B80feG4muBR9dwGdTYiu5wttGWF_ixJs3aqpdmXBzpUFtCPG7kFOPyJrs6x45_Txn0z7-kL_iyoyzyzNRU-xl6ODcTxbqMRvqI8AFD4IJpH2vdJ_rvaI1Q6WtT-xBzLNoZv9G94N8yFG6r5QGED3BNHIt5pOaQTfLwysmgy9E5qfAHQKlLPgXjWarEiC3Zp6hmQf9By56v6-Vs3Rtixliabe0tc8dnNFMLTNz-e0FMt8Hl1KR2JKnLCkXzW2bFOfMW5KZaMLVI-0AGEin5p1xhrnUvYepRDVOWjeIG1iVQPTXnX7D2shOGZ-RoQwC4n5zAH4e4Zoktc8C-omv6w0pW7xSp0xXlQLn1G7LwIWSg5TJ_jkBAPLoHlj5VIsc1gK7B0wiYcubgQQqsfSq1WUHZ3XDrzmu6r9TGvmccCRRXhZI-Ybz7CdC-9_YPsgxt5RcmR1ns435X4ylDaTXm7O_jh3aS2xYqlTNBNP8athq7O16LRtoE2xEiAMP0OIHyhJXwevayeIImCBhxo8zRMyDcGFoH9YdQV2jBltmKHRDavoHuDQV8VoqisJwo4hBnv07jldisv_CYDKpKWWWFt0QAzI0D0v3cqrq_bGvJV9cCyKkiTSf6vI0aMeKzjOyGqVqC6ILN4sFVpkCc1CbvrnKEuELWoTeW1_1Dri2LQylr3CAxgivgIb2xsaNtz0NUTbluOIJ1CX6Q_IMit2h7Ar6qthcLcEruKQaBclv4uBxBOSYJOQAcUPFi0dvtPBTlXB53h_9GOliTKkDE5AHava1LqVejMufQsOzxVqjpCUvR7O_RmqndYy0rPL8pv8tPjwZbRyy9Tk7n-t77iHqTtn4Gtwyokl0c4u2vgGjyiO8kMnuqVkZlfr45uGIyEnEiYVCvsc546V4o2B4UMhOvicQEPwvAknQEogQv48lY8DcsGrU4Cy4thl0BKh7ug_CGp4PVe9PntNCfslE8uojpV6hPITIA6V2QGclqun7UB3GUjNItICkSfykAEc_shhcS6atQ66AWjevuGw0sACOFzKnD1O3HKJcTKEsd9yCw3cPrO232fSGSKfbQvs6mqtFGMKyU6XwJJO6SiTCLaH4I_4UvlPtgd9DHKxWXw4e1Bf4Ufe1ZbNQdkK4v7wZL70Sei6K0-n8tlwdNd5_bE8fvuBN7Ulj0RM4JXTmsIUQjd2wJvW5UHoMvHISFU7XzQnAaH00dVP0S-NMTONTvjabtIK1Hm0UTuzxSUG14-l93DT2p0rMs6zgIOIIy4O1AWyAQZNrL_l-funbWx-PKcor4hsZtb2T5pVx3EE70HZlQ5M9jONSNyswNYmaMh410tAcNlf0RG0brRoz24OjgMKg5ZmPLrv5W6NVHOxj55vmAPvKB7P73K-ZfDtwAUQ7ZtPG-hRLhDR24fugUwC8t15ZlMEm_LiPNABTwQevQawsTKLtns1N1BTKqn-Ub286z-qpWmZ1DNi-uhymXoF5gqSNBVO3BTVC_C4uQpEWgJkbpaW5yn5_t3DGzGdrJCt5p8JG8DDT2IinG0HebrtykBRFS0a2wS1AtJC7Px-uoe6HpG6AQTolkb__ms34jIJ0ugnQWYJA14HbPHp7opDu8uYUyk6mlVYw_vYhd8cYKIFrZQbfgYFqk9lYGoPjiHElzNByxXuxiHo2UJU_hbki45eCtSGjPIIY0N1KevfhlHbREBD-pxFaIVO0dQr2Pbo04VUJX1PudPZ9X-QfKEKR6Cag_WXw1-0m6_bT9aKlaLK36WOE9pUXPn5Mg4Inj3k4QNwZqP4X7kDme4jUUdVSDxBkGDYN4AEDGKzpRnuVSRlBbzFMcENYUoXv4pedcOFFmw6mz86XfTgG2R98OoF7AoPXWBxEhJDaD8pIrSkT96uA3ljCXEhkMlhxdceHPszojHxxJyy4VwV9ftfk0acEmU_4VJapRlQQdEReNY1BKdTHTeAVeixPegg6xN46D_RqTlesiHiGfsshiIoehg5f5jk-qATiWbSclPGBcCb-W2E5voIFTGb1z65vbRuWIfG2cCJ9Q9W0i8Cpd74ThoG-NJXIp2-HR1HWusVQdS-QXDxmNAuC-epe32nBRPPoci4HYZZ7XfMqncWMdsNK0RDRe57WjOmooQV_QTv4thVsBwHhgaIjM8y4lqBoFIUTP4_IY-2dpAjXv2vha9zhhzva3zBv5NEbF6wAOtQ5U8_M4qSseggGahCijwFaspPYwuGjmx41bA6fABuSvV_ub5Wkw2Tkk3Q8ijfixvMXXBeOSyET3_8Ojt4tvwHiswdg9PGURMdCZt3MjUZY_ofV3ZFOW_JJK5MbBX-PuzOECvtVDvFUSOZQmuXrEivc4P-O9DNMryr2N7sFx8yWHTzU9q2Mjor3amHTWCY6uQZTCx00H9Bujw3xEzUs-R5wIwgp0YAy8GrnhmaKgvd7FjsCst83Y8mZpI6Cp5p8Dx8ZjjWPps7vEr2VTibHP9Fnp3iMEnFyUUwGtOSxpASYu-CY4DntdqCBvP9XVBMWXHj_hDtqMq9KsLbrYS1u7ur8TJ7tTGOm8V1CFyOU5lAniFV4SLfJFZXaB7vDjBI4gHwZJjxxlip_B4pb1MFyfOEeKxCjYTOn9MARocXvE-KHeszGyDcTRqkmQz9UzwvD5ZMRx4B4xykZFTR7mRkhweOBx7B3mJAcKrbMpN7_KpQRgIXF1zWCfap-rDRPSf15T5-qXdAE1eeDreSdWDjIBj4N3t02IeubFW8vX2pH15wSlHiVoTLnao1vH7GtB9AsZ6hvkByXMST0_fXlmQSczVCHsppAbfM2XX455NoEdsQhYiHK6qBI87T5Euf0auW4W47RHMXzW0eFXa1LpGWq_-Ez9l4CAKVS7Z9-aNsOvXz5w8Bej_1SDQW8AqLOLNGIwtVIqQzMMc-8JYr5lN16mhzUZ-lUrW-VxitC3sGHnuMX-veb3oGQhNtk-0fJV51GtI5lRz5QoWJYhtLCeobftM8x4J8bek-4-Z24VABR44Rsco-QOMBhj6XVNEEvYzXG8EfAB0rx6f7v9qtjpWsvNW7oRfWp13aMZ1Me6y8c11WJ-uM9rNEtUh3tz38ZAJMQOOLP6CKJqYFqnnlsc8L0uk7kaGvTbOCJMxfZmVoJ1Y7YXYO5sf0ZmXyi_AxJUSOgSlBx_6KEdHD5mKvwY3sMzLj7wuO-keiSbHmA7Qpnp20XZ2hoAZOxou6QaXU1LIrA5SJGG1fjMWtpXLmxiUzTwnhjN4A8v80t-EUIReDLLiQqgKoko6vz30AP74TG5rEd2UlaxYxzqwD-k1DUACFpm9ZK59Tvfs7ZBVqxMzZ3E4tWauGpLuWC8xQaPKT21935Z2gZ8HlgKeP_5flbYVL2od8j7zK-N3darLdMj_Jsw8xC6CWefcbDc4nQccHZOJIKmztwzCvGRiGnuZYMasT6MdkGJ3BBajH4MGEWjSrujALsSNuyK8UJugYhHEkb8kVPYqTksY2priWWJ8X9jPhHKt9-TurxEE8hO0aHEUloJJNrByRdaRvv75Sf2TyFYzL55IOwrqbD12tTp0T8BxKkcgc7OyWNe2bRGF0xaPi4kaQTmW_Ko8ibz8w5ZQQm1N0PYGm8LM_qlKd2ojxY13WIxuY11euk34SfGsahEaZMlKNt21KNywnkiBmpwzChoxF1cAeDtjhVe_ilOZHtXpJfg2zqb8D5s_xifQqReu7nN90KY3sXt0UDGddelRlNGXlUSUm8UZ5XyU96JavvVJw21KJNzXZMsbL2vZRRF7SK6RkgTpgXuFVIXbtj6qm0n_SD7Juh1FaFxtUaJO4Luzi57t77KhB2SGhtO3MXtg5E5Gpb_M0g3HZx44zmoK6823E2sx9RfPvri03dbYxSEWYuS_05aX7sxnGCdFbAseuahrMe0fZOwtkcoYtRbnAbHlOQ7lscVfd9AhfoETh7zepRhF-Ndz9coRdsTf27vK6klXG_0c-xVVw1tlErnt6JPgWUv40DT0-_SIL7tQ0Ex36sOvtbQm6dkh7XdOZcXqdibvySPjpOEt9t4pZYcvHKy6BMC_8ImZmq91TGwGu-9y0b3_L7KRVWYV-NIcjzraWBp_AdGCBaVtDvahie6D7Icm507VY4LGVnW9_pNEXipqQOvJKgkOnofVrKwk5jO1a9v0qxw16wOhTtxQkIFg5vwXkGXWiP_0sL-a2-mTNxf2NdH6aXesTrDp3KCbD-htPiHmDrIZSFTULgPrpZQxxirfWt4uJS3TX5rdrx577REdwS0rDdd_AAtcwTK7Aw_ACvX_uA4alTzVw-ck21hn9sB8WtEFR-lQRDMKcUzhvZwUJZZXuOOsYeLAgL5CdcZM5lxB3LNVRbVzz4JZwJAZ1oD4Bh_FNPxntOZSMURhvPJe8TaDQAXNVvpbBTwVdXL0uH4lriGjCI57G9dEEIwITAWfvkvpkUMrDbrwQnAKulQ-ZO2VSb_nUPNZ28xoJ8vBZVpAvDSSC3tfP0lXwNxfb3vS-SUcwamN0BRzEu0ZJVeRa4nOn2A-trTM-f66KL4R82oti5k3qyhgsYIDRI2usdUfVZdOUPQeI39WUBNtd_W9lLXQbEClzKOUHXG1VW5HP1TgduuzaFCO3SklHqI-wC_mu0keueCP2hAlI0yiNJJCWPMiZCkesGvr5NUrNG8Jthi2GDVFpG-dK2Atuy9HJISh1MqAmtoEZZK0v8SjSYjmfasKbEc4ROllBtzZJBdcQt_MekVu-f03eD6fo65tI0k7Xm-wEarn3lyMzGnYS4tTxJPDp-gYCebSq5qQ6Udl5LSM50o5fqkgHnFv6ba2mhDreHlCQdFF8egFs-RwAaLcOKecRDdJlq0J0QJccderjB3k7zDnsy0r3E7Y6QDNyJ-5srZszgd2_VU3mRecekq9LtIPMIeWmvu-y2w-LEamOv1dijlU_g-nERFK_d2-jCwqFyOMVZf6qqofr5oGuPA1tvviL7xRCyJW8c1NxOPBKsMvC4brNQ68g0kLFY-BcxNDV5p-2LUCyQ6U4Ieh4PzS3nGgrugYQgtCaG-DS54VJ-eaRMNjKMH8r7w5S0KCZ0Je-Vay5RGfeMc5zk-t6BAodZ9sAJ_RRkQJ2Ot7dLRoMgC-E86mX_vMk107C5CyfUmtjSefYYzw2IFU5xP1eAvyXVkFM_x_GdcZo-32XXkYxYbCOBzXGQTfyNiYdnIxdMP8DXBYIUQBYZIDbacIa88-JeNc8V_DJlPTI1jgjnCY5ZmSYnJptx5HDjQ8pn4L93XWtWwrcFwzZuB0h-LTuO0KkARZummMhpuX4rJNtrvo8lGyACRvhVPXJB3dUE_C-DvxWfY95cN585paFg1u4R_UaHxeytIGZ08jIt6je3N_ruYYjyxusQOuXFnluRI1lcvzHvlEG-YnMduR_czU_n0oyQCpQd8AfETCwwFugUYeRgjZjIBFffwzcdMRrK2Os_pvmNKqnVdZG8b_t6bEjBoPuNuZnGKrPi_yxPUOppCcy_X9fCNCRF46PDDgnfVJ5vVXdqXrBPrUYlQ-d4SrB2-LYqvIP8Hwvv6ESiH4wu-_qKleX4g553RtpQPVEta_64t-yKn2dSDc3F0QAZ0eWNHsHdpHjlCDMdBa2g11XQsy-_SImeLxbhaCL7xEPCBGOQJ86IdxJRcNe_iwT7TR4NkT_KvxYVgOMfwDdp25kmMC-9SyZ9SLha4OOVBemD8CqaE3SPdiZdYXBd2wT9E0dsyzSgwUH9cxJ9PnO7CV2suTQWyCNZ89gmLRMLhwipKfRJQXReatjG8-6szf9TP5gxCX-H7z2U4pezmkfhfLdM2bD-vJ-exx_zTvQLp7-DML1MnShfMpN9YdB2hX4pPw42vbRlD3ztSHQkORSNOARVNaqg8MlVrI-4ss2k_TX1fCRqWgOJill1Z36jVsGI4E0pk4NJ-JpPrP3b6o5Asi0NymKGydNNw6S2VL_fdNsavuErdg_EJeH-F3Uj5FmPK94D-UpzzEBbmS68cHLXJl1TApEybAQDjAjxmSRRmrgSeQGJW04DyOiQgD0_Zbel87fvHo7lQIvfmu_vZ16ESWT0y4Ka-OgLZ7EBST-SHwJa1aJGgnxqDrAS5Ix-hEBmbZeb97AbtJuFnAQ-yth3aVyYVCjFmOpN1wTp9a8lvsyU1ajFUTVwTJOgrNLvkr6y_1hSPb2v6rMXHH6RESmv868bDBeXRBzA34HuvPskzaoSyqXEXyjdebAqVLniMTLUNiqJIvGdgepZ2i1zBJ3I_qKdrzgSlIa6W6LGiyxMKnWPSDReOqeCdG8Qo94sHhPOglciMSnFiCEnuoflVq-DJ0CEc_TrUx02Pr4S9DMyJeE2B6xgoLZjpvEerNWJoIn94WQ75UD5XtqtLucdOuvudBG3waAzNOzx3ZeK-W87_-ZFvBU8vu4NvB0Fe36H42UMf1rA-2lwEu_wMPoy2NolHjGM4Br6AF2RctxY0YrQtlziXJfO8hKY_qQ9mN1Dqw51o01t8iBndMD0lxq5xY_MPZKe0vJYn662rsbFeeBwGXDl0RSBH6CYotRBsxqxAd_SWDTBWXnqSvzyHLw0twyShoeFO2h-4ih98gkBcVmFCzfwk2c32lcQ8DI0PxW2u4v3D2P5KQZ5hPGrlmTKcqcWdwpbMIbvpqyqUq4bo-NaQl9o_h_oV49bCqJLyn7ftEi_EAplzcbklGH0yh1NxXAEb4vfpUWktwFbj3zYc9HKFNst5CuK32h2WJpZ3AiQ3RJgIPuX9oAUaBzQQT8kwwC9lLXIibZ_MflXbEyM4lmxTsA2g3LgAwIaV25vS508Na8jc1AllWs5MQJNoSDYgML19Dj5cwXQrp7AxP9fsvR6TJHa_rFxssWBtsxV-EWc0IERnY1E6-uVditq9kWbzDgC7bMKXcnrG96b8aza_78C6kwCR95KUmjiRd10KzM55PQJP7EEUYMCFUhpEoxTy34S2DFfMGqCSsiny6oOc8dide-LVfM6w3ymXQSw7T4HjXbj-sEoYvvGxlj-mJp7ukUugWB8qihTCcZjUvtE-CwLn8DSzQUwwd7kYpXqYfoV_z1L5UYkAREhnZr_k5SP1bdH_TL8Q6ezyqIUdljJqF4tfDQpCa9frk0-LCLk86QZef1X3yrnfMye_pj2Tu4HqbuUbcoHfS-_sT9D2OAVvKOCSm-pWw284HtBjD_wCbngwkyJkJl6dl55BoGdb22CzxGX_aZwk0X4diviZ1zUnzuthUBYg5LNf3uR1fLRmVDNo_PNt9GKV5COsiHB5VKXqqSEnetyhWNcFAuioSQFU0BbCTmzbYWYZpF5Gee69LMAvbvbjKfp4YBx8gomzc2mMGGHYWr0h_CeFVJe4HPfaUo3ECorDqQxdv3ivTeurNc4U6jaij3A_uGo2QhpCHsZrUFqXr5EQqgszG-P3Po7FkU5k4yq0AiE_MsovazzRxGlOsuHdYCqQ56lIOXUb9iGXjketOzStKLrWpe82599zGuAYAvAbH1dVFG_a-jiqETTCcosQJxgWqFaxS60lbZVkNvp7DZpfBbilShApRNsEosv5wUlech-tW9D49TcAW4yg7vIy_pytbASuk326HZG1xQ2UIfevcvk7J3mxqmyofMwPiAdLlVhTtXlNFsNOwzcMa_FP99U1adYzTzigvAYc3yp2uKiC16MQfxzBUu4DrfSlo39_E-Gj4lhfEQ5dHyu--SUATahl7nZBJCW1plh5VPvOy02PUhctQahFMa_XHYSrISUYY5bCKDUkXRlLXPUmLjKaNtAnrRB9b94ON0L5YoyIOx0qzdUKD1aPUQE9cc-Dkv4r2934E-AowXgPxsayQ_u1la_jPOlyg1O3oFXM6__GBv37kAa-8jUP9aL8SQcmo4mm2VAQrDMWf3-pKA6WFfmzpQwMGDmYYYQkQ9IcAmgaSXsYuHLy74ZyyguDqM9TsdY4cKNFOq31fd_WdT2dWj8aZxgOrk7kQvFqCE5l-W737C3vR3ks8aw4GWFPPIIxQgIHoVR5TB2-P8PdM0TfK8LXrHFzAPtlRL2vt4x_-BtD-GrvYy9h6h6vib7NILngEV5SM_cmXNlzuIHD0ZUoHT2LTAL4IGa1j4-q49pw_fMtQiFv934mTXDn8LecmEymJiiwyb4cecenGVCX8C1uigK9G12FJx9-yZ6OzcDurOHlX0OEtNxgoTL5mEEppkIOdHQK5DpgK28hm0OIHjTFiwW0fusw3yeQSUodRpC6dpxNjppa5iPQPxWxY2bSxKfIbmzJ5K6AbIFfkqb_9EVc43bLvJe89aTF7vJ4a7pwqY-VFPgG_UZrEXqjchhQB72iyJNaN6_FmUuFkn_xu_q4rW1QUVKo3L4I1TjD6F_FDun7WrGGVbc-dnlWL2EdVbX0Kbr8wTPpxYNuocHocZi6T2CAJVCcWTHcNcLBVreWHmNGQUspoiWZevgO3y0TUqB01aIzF_QppUl7g7ZdIAQCFI2e8DaYTkB2iigcnxSVlHvImcju5a21DNmwxHzAhhHo9b7866n8SqoFd1P5ViOd-yWsP7ZLSFyg5AudYRDoxwqmtrlJq0l1m4WUw51F4yDf9d45GDfiILFZeVzJ8LBY0_f5QT6juBDVWY9q9nO5No7c1S0GQvlv8ioCJu31iUQncASYdIxa71cRqab2Zgk23zWLS1uFcoIFhKtb2zDF4GlOScOGOKzXMygZJAB0igKQkGDF-GgTYkxop6LKkXgVgkwfDxBOQQROLY3u7H7oCR-EQztJOz6gw_WhxonarYf6IZmvCnbqD0gLO7_Kv9JLj9RAlH9H8LzMdoDziVm48Qm4m-KwHUFqRiI1SB45T6DSB0US582-SbzHmjAxSoS2T5KAthsRzFKvS9s5NHFnh9DqyMamdDLhtIogvdg8KuKG-MoUBSFHT5GBS16LiCWBlHWL-9YjoGLL_I9DWwBSBgEoX48s35RDmD3ZEx4Q0rdb1oLQ_9myZr-vx26_Xe-1Chc2bJvJpUQG9XQVtbPbyLyZTzd3aQ5RzMP5QwXtOGmK0pPTB4YechTrt42EM52w4A47uCIjbzIPkRyW-Ok1dXG46AXRqiFc4vSI7NxVUaCFkR0rVDtDmKF2iSJVeZBPSrWOIiCtZdVa3ge6fSx7urCvN6VFmRB0uBv2k4By_iFZPOvh8pjoQLVE5TMVqZAReg2-AbTXN5upEK-jMKxtHD27o-1IUiSxgLqQdJ2wYQLdueI7ur6hAgzP92z7FgvmbmaN_HPdcnCnAJ4uOTnoRNi-3IMZuHU8ErBV8duUULZDmuLca-gWqWU0_p0zegUQt24AvfH_bLuyYOVyTgI4k9jNIhC21rBcZZKIjYKFtLjwobZb31G0z-iudrPvjpmpgtS17JzIfIscr_2CCtQb5CCZQ3vt-X8dG-kx6UtpCWKVNz3ftPYW5ViJroWRcnBIjFiPR0KmmknNIrU2eYUFPdkw4KKpeIkXAnhH6TAncaf22PUyuSsaaxWPNoJll-N_p57mMFV-QWDxO-HTwvMPg8ayPOG1eiezkdI7n49GdAY29L-WYRNDpu11qJ6wSu8xFhfs19tvhyh3JYlN4xoOaPSXjUfdgNMc5yfXJffgnpFG7ATM4Avadz4Ty5Uy7G4zWVxmyKoucnhN5f7LUPMcNlDvsCOoqLjtRNCj7LOlJ864HtAqaNs3R1DtzKPWgU82moE-TP_0SxXNrTT0UEO-WmC3O8oJQoseqLHoyExHUqbObL2UVMRUuY7hFDas1yvXW-eJZQqIZ_7KjpLIYf8EzeUK8iPuPUwm130CJUm-IL5lsNZ3Dx6-jrP-H3H2TBuKOGCA67US_HWo5e_mrHdhpdm5fdfZN7WGzb9wL_0sFFwTL5mqD_7xB7TvHfEaIur1VUh15lS5fT00iNwAzQyKBXFUQRdAyJDEMowPuJlPyfYwTwjDdKhA6GZX4tlIhsp3bU7v6QH6mA2TYA5U3wGPsAOtBI6vGPvCmBWxzDt2OYVdozDylW6vkVoLUJX1i7WMpwYRlsOZi1zgGXMjmXC6xpw_uKm66D_zNq_SjLqplcnRpbvOkzaN50NCzBXL9fA3iLcoVEOO2h4wEmJldtRFntW8S99y2cXxHwKzUdy4IH3saZSryW4ZZulWvEkU7uuOgov8ZZy35BOZW2eqLlAQ7VGzlEDjRL6WQd6yrj19kL_oq31zzfBMm_ccKYfnENH9ZKjQAbGOR7J1b1s1dA5YOEPLucyd7473jbst0PYnN_y88MeJuaz-sRGBML5R0iiFzVBWvcttIC_BDcRbScfym5Tn-DvsYhOo3Wj4JvQdVwtuoJS-kXDK1ezq7EHFNBRUlmXa19qozyHR8tKABBIJU_uVeyLO8Gwz7-T_pzsUAc62ET0a7vvD6s5QBIn65WesFo-qGpskiJzF8LehAXdR6b97tGP3dQB9lms4v-_j9Xbrq0EeVWi0WruE4yVe0ZGLB69mOqWQuK8x4BdAZJBLbCVSl0s7pd8s2ZuMPQKgJsPEU-cl9gjG2949h8C_XdHaQ8OoPD-RVhkiEjEgvTr_QpsRk2ux8V87vlZ8lbrrhTIsYlVGgeIAGlvVOeGS93Ic-6ll1UL_Y6RwV0GEP1PjW4F-1KJH7cZ5lZDs483Hsfd_DGfJZhQmH9B1IMjx6lKz4VQ-BKzSbQOZNWaj486yDjSvzb7Zt9MBXH-5fFkq_VcmbyABPw54RpIc9Oc72SFf2ugz6Z4MqNUrO68rrOMTyKCD-29fx_kDLP4EfzNt9YnuB4IWq4-zgsR-Y06nSBkhYyajt6iKPVxnjhU5wdYTIM4PIBvkc2uwVIrU0A_rbwM51S3ZQ0yXv1UeoOS0FFtQUW1VYITKUKnMII0J52hyjwo2RvzoowSHaEbpTwHQmaifB-fJamJ5R2X-vZ2JaVTiAeh_6XdSG-dmy9Xkvhub4aY2OFgzRkTJa7oCDH1bVU_wPD0dwwx_UtKk98sjHV2j1-EM4vMfvGavceyjCZA6Fg-hnfsDXxvqFnHBhWHrTEBxIL_Pl19jGSL6IdXQ4ZCn8y9aG7sBJ12NHEF5mOmqIn8IxbsCHKIC_nLPpwgxj10XviBuitXYotyLrHIDG6XzXhd2O-4HDUa4e5a1zRODaVLLB7KGNmroykYFk_qsADTDxQOxOhV7r_4HlS8quMnyduZZoF0Q0haZUQhQoLJGLoa5CUSqMJl9-YFyXD6WuvjemlA6fEq_3BMKvFfTnEKo-W2cJ6Psdtya3P2gDlhzpbXOKg7VvurYTZMcbGUmYQmJMr6-t75sCrTX-QeZKrvq7yvXlgiBx1sbe0Icc5BEoNosw77-5otp64eQUxYJMjIMKwPl2LF4UJA_LOUSskaoy8pcAuGrUwOPTjnH5ZuSCGP434EOlsSZ4lDtqyYjFTWLwWeJ-KFpR5bwZYzi5tFqFHc-69t8iMtccc81ldoDAemYuO3Z1ejOj_edZw_wnS-ubog0LirxjPoNbX8RL-PVpUGz7rVcMw0zId8rMEPA9TYZKiSB3DW4ZV5KRHaLhIgVGo1HH-oiNdKwNG-Cr73Zr1ak0IpQ09CyUyLFdB7jIX25r9qQ9TtpqazhC-ZFDvPunwtLkAIRR2X9MdfFKGfwHdMuWa3omVGuqq_57ozxVXxSkpfYOqb29f8jnQpgBI7y8fVvzxrADcjOa7aOVH2-JU0svMLI1x8ni_s_3Z7wpXLUwXoYxc4zzgXtYdtLYG3Uh4e1jkRAwn3FnjVg3zrIu4hoJ0bQsFtLRniPVwR-Vjg2-RVUnc-H3D2kTdokQo95CCG1jrF37FUYM4rxU1fsg7Wsks62xsQqHXpsDoQbUvxqWx8_QvdayJEnVwLvcryT8H_xujBxWf-3_p_rK04QBDmEd3mvHm3jE66Lyq9K2fRaQlxrCpTdoi_38I2abBXvFQE0z3FNw_R80fgXSfq4TPKeTtq9gnaoDKEG63FYy-eHg-Yw__rtktxuCQ18sZOPouu-uaRd2wDB7p7qCf6jAcQDl_VsvT5s3gbE4l7A2S_lsAJLzaz1po10us4vfESHOBd1qeAmRFvHQS0JDQ4fIiJWAEKU_p3adjDcY25EI6sfwZByiPVYjzxyOmtZql2wgwFn_54Qbt0_I7J7t5mUExMxLx2-IVQ-h3Kiz8_me5ZHZdxwwAjSQAhsnTt2kG7PIGDdex92yivb7zJYSpe6R06_e92wr8PY3sUzJ5JPPGV88vWQvUcTJfL_z2cfPrLbtv5GERcW53MgY5yu6snMYHUa4nex75d1KSQRTFEOW5uAEu88AeCyh-s4zOhr7epaiHk54Xjbz8-uQHjnNmAdJVwVtwZbb8xHAxgpMmgBRkI_rdmgezz4UfMD6nRWstkV4ePZ1VpVQ9CB3Xq16dngRvedXz_qtYmX1AHaTLuQQEDY4VHGi4HoFPVwACLnVA9MQMNqZTGWFKGwg4LjJBWt-tbCuZWXn0HI_BWJ-rbTO2yxPz3kqUf3iSmUFC4gf2zOwJv92WmXMJG5gQtwbJD9aIq3zBqI06eEK_6yTs4uiMTxsEQ6zUseaaUNXkqdAyDQuHexJvFq-bjXv2KO3FbQruzGKKV198gByFkudiUYWRSW0QUbCJinXKkO1E7jzMDwkcj53DubEloOKs5kPuqYiOtUUUZK-coNP6HeF8sheALQLnQi8MwwyfKxAfqMW2elpct33uj_G1SxCpe0l3sHW6PymYTryIJGrgP0z2s9aZd7oW_k9dx8qcSBol4UYmv5jsByHlC_x5VrTrT6hCKAB6hMVFbdNiFynaP8bunKK9r06KvPH8MuL4yH8CQJUTONOayrp12NHXfrJ6abjkTnu21MO5Rpwd7-_HrUd8b53ZLHxbP-U0YVPk5MQWd4hZjAvwK_sExzr3kOjhEC3sOyYBN-t26HWeBGBY-LXJ0I5bDfpqmRoV8IhvaE1LM1mt3KBlb9fRhQHyezE4QSNdosQg3FOdUn6yN-JBnHxvApKfe2Flut6y0nwl6OVs1Wvpfy51WH1nrbL1tkaov4K9XrcPVN30cTZq6avTmujgo0jcbnY0bXwEapT_VCPnV6Un4Yg6Jg2xudpO1vzX0_mjcTqBMm-CrwbCCesovA48JlJHF1Ejwiaif44Ck_6KNfatHsTGWKzoUEjEaCvw-ccdx0xBDX8f5DYRzSRYruV_PbgrQjB2tsW0R6X04R4NVFmq8z6utIWCIq_CLsC4ExEV-tXweNKJC7SR3BndgfX4LCORhlWpv9J8g_dNPClPF0twNr3Ir805ZSJUVeYKlqbYRNZWk49E1CHcVdMZD1IyzNvwxz0QVQPtWIFH_ohghK18Lp1AaOv9KUALkYnhgoLE8-N3JUqDLTwCvbMegK9SkgfrDlQiqKhK4nFRtCpYgtnF_Z8XiHapWoddbXhDCsUgSX1ank7OCPb40DI0QrQ9DIV4yFxY58HogQov3OJAU4ZHQx23vsgT9mIMB3sR9md0ezdYRQk9dPsGLflurggmExi9a46qZbGVep8GutcWS-bdWWGtN6-1cGvDgrLKfWOhvYeZXz47_ryw8wYvxRk95Fahh00qdVY-sQ7N63bsPBAaTrk6ReFtY1MoFniP2G2Xj3gr1eeD5qFAwAUZstzgQU_Vd1vme6zgG_DvgkZRyfTp04VbyYpoEQB3ATpzFzJez3oW45al88DiJXUM-ugjv2dkVpfXRv7BNU-0Zm4Hn4f5j7Hv4z-eM2HnDATLNij98abXmx351uHl79Tu5_0bTEZdwvJSC6Xzlcqn5NdxGv8Ln31uP_NYfnU60IESMwFfygWnS4wa9ZF0-nC_gzjjFa_P0cnFznvvULGUAUOtN3ped4BWvOevMg3I5RsCO-T8jF8BHZ2VkJ1CqCMS-_At3U92_IWGc6h9kVc21uVxYdxeN83b_TCdnZe3FqJ_ZRFdIlCkJLKsptkM2EeVsfjjogJLE4cgjrC93ktt_ZGDDq7A2djRcYlGOzUFtGbuB628vv-ctBqcZR717D21exi5hktfFHXwETOtCfH-jZCNfNYglnTxnGiKQNFQ3DPoEi9c0zrDSnIRtCVc1VrV8tIKylgBh-MXnVhWbeyo0y0968Er3GDjiVcqKMakr7jTW9J3F7hSQouK8iKeGTONtujseUtaz-11hlAhIsW9UwmpvjLCElPm-NW6NLtVW5TXKdygMU4WF1eLQoFEqKFsFMWdMaJC9R5S2_bfoqVGxnWNWENBUFSiAOJ1eaG-iV_04dLbT7zeVd8BftxrRUAMoCfj_YhzkqZt1zQsjyVbPMGZtqZZ5pNOCg5lcu9hPeJgpbS_UPzzXs7gLkzoIjj9FNyd1BXEgx3ysg74rL822EmLCFE21zNlC_4gOn-vS_6bAG_oXfcxqAPfLdV9oHVqCRG0E6ioKl-_ASBEaEThdv7GCDqRl81WYI3zdkWcPg9CgDI_CLFv1Ryx9LAjaECLOeIfjLh_fcjaJVQ8gqpJC0FPHv9fPiThl2PswhWpI9ik2U7ehhq-ROXoPW0AReq02OoEK0N6UwSdcxN_W5gdFpVyHwMtdBqS1MB4nE9FIUtPHkg2NyvpAya8IItPbM0QHFJqholszRtcwd9pUG8eI-drldfzggzXXMNYsYqeE-XQl9fMy1Qk3BztAs22y7xquhSO6myTgLgCsnu0RK_WJq7Q3nLgQMpEtiKirNX5_RCohg4T6uJe4Icfdkir3KdTla1RcwB4Mx-Spqbl7BkPyUdkFKQWZNnbiUL_h8UgVdLUwHv7uwyZ0mZjn-aX9smGwCOtNQ6GyHmwYOieYE6BMuUchNveXAM-GHqg3_2ScAWRAr0ls9spugwYtBFYB0h2FksP7cwa6BOZWZQi_iPMyV0KBmxEDroG0mmS27HfH2j68_OrzCPDvJ_amHEgCdZw2JjC_eeGXq0n5fRIRP_V-AMo_a4OqUBA6ycgYAb1mllhZ0Bl-kw7KacvxHbE4oQxFBbEh4ViBn26lxIRM7B2W31nQ1c-HlU0XyCQwevMbGt6PbfOr3qoeyWSKnxcslCpOrvgHG1Wq0BUM4Jr0O0-MdwjdduTBCW83Z4AfKG5pnEqAr_yr8mZtO5i8rsnTcdycNnYq0r9f_SmAaNwKiUwk12UEIAS2Ovn-cyRFcB4YBkz1iKK-ileyD2N9PoNHwLn_pmdVdzPijjNBAIPKHnBbzTDxhk6_Jvhn3WXRfZctjWmOl9O_ISwixnfJAOS3QA0mfyONG6r4XHi7HzFo01I9gYju9oA-ZNtz3__JbDgnXgbNb30dSe9RSJWncS7N4nsb3BWDnGnymjHp9ip0Qx4_tT7aTKeWvzg2Ua5srPxEk2WTPPxS_TySsdbZU8HxFByNp3oALpu-LGZ8GU8d9vOTKygv7PG5-EHgDSolRkawiddzNC5rSXONB1_I4OcfJEobzSAEGY40Kq4ne4vFGluLQmxl9OLOyvmc12O87TyL4xrO_jfFhNcJSex-OM-fpkyNA_j1Kg6450vtukS_FCFgGx9UzdptZNLFPGpJAN2osF5Z8M_w_nStHmPmZVbWw2iyF_blshWlbvPk6KbMoKrDW9uj_P9lcqKYCmGGQy2iuYEyjfNS7tjDKuiU7xB479xPx52plrggT-cRtE652ezJncfnyzthWWHrHJwSGymRnzCDUIHD8cHpYtErnxaaEjJs_yFk48Spy0K6n5GghCodNfZz8QkHoVUXmI6X3WxM3LoFFBzwGg7RyA8OBXxs7ud2-WbN5lhGaorUNgvFj0Cs7WFj1MgPye79q2Snh0c-oKbP2MzOq8IJfGd-AsxpS2BufZrmlALD-Sz5_PAD7-K5798ZJpjFGSijENH91jHoCVWZ6sSbU3Sbh_R3icrV6cqQtTrXF8bVYc1ulj5yN-u199i-INQ69jteKlzRrwnqb0lRjWC3SDNOmHns8o6TCY9Ddct1Q9TjEn0HuhLPS7cORuPVqkkPr8EIJeXHXE_gnR-7WjxCQjXgPSn9-a5TmihWoUxnN0uTexIleHWBcturtOiCDPcn4FUFGGlbwCG7piZTe4zC0dHB12f_AzDeQ3wCaqIk9uRVrMmP6SHn4rLxUL--wjTHhEMqNZ6nkuNmFm357l9yQXeFOFwDvEn0H6K_02eAGdqmVP32pK16V-Ld70_-hFfIBhsAROaWW_ZbMsgt4SPo4RGuxh960X1vZykrc-rMnzont7-IBP6G0EwyGi0B1OXXsmEb_lhyQMusYXKiQkGGYwhDBtSiVLLLfOBdZwf_B1dM5qNzblhqQlc6owYHbzZBArCujT0rNraz-qi1UfFqTa9Us8YATSyVb1Wl7U8WpDiHT2stANHzjC2FvTYt_wJbZdfc5Vfrb-1hv_XfmHzeHnRwDrwvxrlJ3mBhlGfPFiOkXfLT9Ac-0S9f9Tj0eTnMuCEtQ6mNMw8G9me20cNdaZsOlIOmu0Z0mSkGOCgQvMz7OpJFFosHj8C8EuI_gUzdKOIgTZnH0kgIhyHHSquKJWr0pjfEs83gHmRSpKaZ4pMtgG4C1PA7evgpPmaPomyXDsN_6YdvC8l_WohPpxCPUaks-PHKSzLp-RHsX8HZ2yOXdOHm4spHFPH7NmLfFU7uRD2M0nB8V95p2rfCscGm1_7Ltj94lyFdOsoxpkVA5MT-2WYz3b0v3mUdsw77A6-SBQT0SEUKD6DyPpAE0Zt2paLRNbulmxQ10KDY0IHFXaYTUmcYsE72TH4PPcKsiX9wXDgKJkGygITvowX5tjAPtHdwXhWLdX9XcKfVpHopXA_gwDNN1-TAyuEHaMEKHUcC4M7OTyrYHYBgSKen0lNP2dfkLPHAcXM6rHY5B_CzuIDFH1SHG17BYa-StJVuVo8uH5txSNE6qzYOQxuDI2R4Ho_HFJIEvA5OFVUeHRijwptPLxUk-J2TS5i89NbKtVtVVBEqCzjZlNr-2yZTYbepwyYShSToRGkwJ_a_WFhXX8IT4IK48UBwnMST5ryDdBF7AnLU0eWYf0aPcrnmeBYaadiMZH-6HMLpjwt1mGSOiyuM0PGn58JRkowsmWCZkCSjYv9NxkjwDIEpLUvsPEMOt9SQ1F-jNMNxDHKf9ckWAbGbmFpxrwn6-qhbHC8YaSz3W7_R4X-BDDzx8Br1SBxL-gfsUyrLBHh_y-1Z4S5XqaC4BXew5AzR0DFHkfOCrfUAyDVNdGurxJVNEN8BDCma5rvqVTLKvJDeN_6wS2kT88Xd5o2vzMlFCXtVYjOzh3smX7Mp6ass1HSPMbJeg1OwsElHBptbb5X-W8BqutUuCEfgvBRqS-aXVgOf0edOuwAm-hhcKUxJ2Q0f_UkzhGyset7-lnEtd1LsfBIrEN-VDw6RyfTRX0YSqtB_1vb4j5qdhpcoK9VG8c3NzS6t7W0bALNnxgS1r4HwO7ERzlBvwpL0xxsT4trv_kLsGJwrW53cv3k5ZJ_k-Hj5y-gCqTMVev7Gnq8kEynDVryUnnxJT_HNec_HbYTpu3LRwRJtReOcuXQZKhzs952IIU5b4Q5G8IIvNjyPqd9PO8Zt3yAg0ZqSPbLX6V09oks-aG_SZ4nG-PRCjt34dGslFNMO9IzNZjmRCnuA0EoD8wKjgInwpmBHCkh9ejGeFu5ZnMRqIC-JXP_7hCK3TgwcM_lTYKrUVYNprZQVx16haoZfsteS2NHS-ejbhpEXjz0HNTBBiHrxEXtbkg1XMdJKaDdyKP8GGluZLcIV9BAixr6GRRzUiUO1DzRkYHJkfHlrwlD-Ocm6zJbFB8cmp_KTiLuYNSQi5bWbnymM1K23pmU9oFI_M-7etD4ONuQNDTRV9ou5yOxObo8cZJ2F9GOYUJx_2ykDNeYfvLOt0UoYo5n5LGx8WFMFKyBfVtDUaWOwtJiWbXWYADH4h-qGHzqQlE8_IO2um6JruJGIKSFtJRX6slIeeqSyQhwAEJWiAi11tuFn1M4Ym-kfux4LAxvcy1CL0maD0YfogoKrfVbUz_f2F3brwj2c0mQsghfi14nBFFO5R5ob7OtTP1CCcAn9Lq2zC5ZsWo1C3RDNwGuf3AWL9suvAzyCdukHKSraUuoXlil7GT4WwN-l_Olb_viKNEXppP5-2gAM7PQRHJTVPgYkEHRonrcsClrJLd6_ltX8lTZppQizQK5ld5GZpLxp-Z5-A6a7Fkz1ZtL1kRkolzgvBFjRylcNfxiiOFMlfotynFswhr2V8XdMm81E5Yfsqwf-NAAfnotZK3-124rrr01TH3-Z5bWo_2A9biF8FBcbAw4BJUijfHWXuUUtFeYHzR0iBoTzchpszl7CEfywcdt79H1wvwjD4P8dKCeaK_543BM5tAYp0eVff6fNI8m4PzrJpDM6ePk-Eha-9PI1RQPdQBNAU8zu2ug-XTimp7Vc7Qk8JJLAH1F4n_pR25k6lJpBUYiMrhzvrBKVxV-b-oYubaC5hIQcr9uePJxYyYhDTSn7YRfOTpU2VYabyIGjg_Gn3BqyZBsTmR2K0N4zNYeQTH1xlnNUSvqb6jUVyNRp07d-h8N0dqHpGGbC2OLeF0yNJkcLmOzZ8cqQIg5xG0OEYRq8nSDFNl0IHH_-5pv_Odoxu1vRzDCvgAujRk_Faq6lXTJaRk7oGw_4dnf02TPTfNZ-xJF3Bn1_DyEWC-tZiu9vqA37MjuIh81c-I_vzLsKqy4SsmfeeLYsM2-qCgA8DPVL-dpyYTXxubcvReWs-FvfiBm7c184Geb1cdIgy7C_XFa5zmYv0NmRUgUdnMf5v5O1NsaPe0ug_OMBY8fFvJQbfMBXf4jYlSUy7F6TE2aUW2uNTce2p_9Z-H_nLMJaDhRuCwOcRTg2VmoqtJ3XsGuFJaVe5c5V22uCV4Pk17-piuxNEJDAHJTt3YbPySPsiam0wDbS7nhhenQetGyFYxVNIwjFzTV3DB5j4a97KSxwsN6B-zunD_-zVISohVY8sFFAHqLNgAqdTNS-EWdEWr__ofe_xnGqYgKLkmMA0KijFxPJn0ZMcXtFyv4YpdmzM_1qtL24x4WOGm8CKWzCBwcdBxzF6f9kf6YvSDaM6VCOs-sfN4-uOKt1Mb6eR2UNkh2awHbk7s-jLu1I_TWAlxhGW3tyKRQv0zx3o7t7nxk7KhR6XjBY7iq22dZEuaaD7GyVP8cWcvICv0LvqMNX3-x1f6HH3jp3RvW-6pHeZCUDREaQutqoPMEizus-biHqzdX_9E-BtzvFfcFtMi5Vq2qBbcH5r0T2mvpkhcre5ILBV3hgLEvi26Uz0iRYj-hfRaVK213rxF-whpbnZfdTf9aRzhoalJoJ8IrO0TlrAU6f2PLrNzmZ2WPvIHd3MotxrEiDc-5AQsdYqw8fCLBLk5xTZwAGtroGz52mujf5HPHccmnyX1mgbi9IIjrdIyeewHCWZENcM5bpKFz_PEU-YId82hNrVohgut-KoPX3FlDwIXkOLWDeuSo9BFSC7XSFK_VIp25BwV3OSK4BcA8AQ35no9Cglf4EMExXlFBNJ_iB8m6YXbpRQkERseMBb132GFV2Vlkuo4Ga8uZJpRedxmAcx9pcB4eVelBPzQCU8r1fu0g6bMtXM_xghHd6WQPkYd3HKR1p7T8zMJ1QCFfkVhmIlLJrrS-K0fGGKC5Sr1OxHD0kkGIYvJtN0wd9RUTZbZZrd9d5imMga0G2DE1uZTgYV9Z6hRSpF7D5Qv_4darNR_0_wHL6HzvE8y5VAHypK-KcZ8YPWaWsTk-yzFVkiuBg4I0hSxZqEdcePQDIeLgSY_lUtIXQUewJ0_4yHB0sQpbL2UPgRGM4XJR39P7KRNt6TWx1Gbw-T0srg_0H1wgZMb-74xYdpEsZ9hY1REx26WtFI-yVFMcLOs-ADbkDuIyI2MbtZfUIIH7eTADQCifyN0bCaF-D7uwlu_l2D78s6StTY7TA0p0t_ovl0A0-MQPVklQlVTHOhICKFf2njmPR1IGVD0nIlOA3oBvhjh9mS1dg4fkPozSjWGJNwMKS9gNyCBU9y8No0AFDoSLlCvOOtQcXVQyMFKbz1QATcHqWqhENdEUzRjbpy7riLeYdf2I_JedaEg1J_C2X09QcaBQkDQ5aseVTFcibjeKBOzeA0ESeOy-fiYWbOSFH2FvCSbNuUFfr2AnfsxlP7mleaHCtTWJW6XtOx8QB0g_lW2x6cikMe9lLmdi_QEVvWfcIahdTqhiKY28WRldAr4tNYkVT_PQbfMpe6w3ZonlRWGzQBcQL6_fYLzMHlThWg_b4eeIu00K5-jw_qvS8goxbgg1AdoLchHYEEhf1GohLlgBOGQflNqp48We2I2ThZD8yaiAtrysSa9qniED_q4So7EKCXM8JjzgyzzUs87ap19sX7q4s2x9Qawifj_vS74g-2sbiuzRBladkCQy135TWdYh-CXW21zGWDTWkbmCZNfQZwOWXjn8g_z5WHVhaSEW_hJlr0zZXNgGIj_w8DKJritEgV-uu9ffvJYLFhaOfx098qhKbzecKneAiPWeMNhpX3sQhI5NTtYJ6v0lFS4IFiSe_DVORq8N6CKSVTfotvESCi_7nWACNinAdcvIzMBYWheQTcoUfGE3c6jpwlgdlWgyzSmScLnZeQKWi9pH-qdasG-z9bZNVYBm9faAEpghiiHGHQcAZVlc-wLREEuF2QP1hQjbx8NRWcZjjW4Qy_EmxGQU9CpcS9mECwHOxW3Ed4YhUdk1PP9iKv2aLVXlXAqYgOyXvUAerveG_7wDsNWFte0hIyo-vkgSIlf_oVTrlybDCbLj6ElvAV1qT13WYWwPTqCaGbxBoyRzlQvJlq_MHCeKSvJ2RYo00wxpe1bId0HVkoOE65mkuGWqOxIgv-phlJZ2LO__TP7LXpK8XeT94H6d1GTeCEdtkdNxQ9dSTA-kmDBZ4KpjHV0wlRPY925zVUPDWSnYsJNkoS8yaPsMqwnBMaGPcq1mpPd8_uyE4ume3Qv0PmbKjp2w9Qbb5lchA_5XVAamUXEaRMWv-l3UIJx7hT9W0iiv--6zXGT9XDzkIurL4hsZZNRs-FjkOvtL9BixXwexkfOjdCSXicYUwfhk8Fgk6EOMxW-6Fgepxc53gQ9g852XD7u3sbxmwe_QzMbTtCq1yjcUotg3C2Kv9boQPJzmtrkPPhQjG94ZMtgzQ93XmeFXxBuE-dMjrl2VJKE6YkJ_MMKSW5m8_uK-ejdhAWRyYXwQTQnKbsSBPVVp3-nH4nAMTEpkytj_mYTmCkWntdQLzjaZrjVbLQlzFFef1RxWBARNdxipQb_1cz3re3kntbED76zTpFJLKOCS7T_3g7wfKdQAXSmeIFMdggM-pwgYxMInC0PVYjSn5qw0PDPpLjFmkKXOkaVkmgEa_EjiembsKwRKRX6sayCefQBstzxrnf5WtQvqbuH-WHOE3pdt2eJPpTMZxkGUN9RnrPnqpkuBBz0lX7VNhgvQm6kn9u2WSM_r02e5FYog29A0vEp-po6lmqqCopA9yEEUiqBLtggxB1g33WvAyxaXMfB6ZF-qXgmD3eiTieYMMKjPmKMnqcp4qIcLc0pjquNhltkwOXn6EqO4bb0B4l5f2EtcXWGX_BTYVrGem5b_EFMTRqWIfa38lDov4I6QGMDzeExuFAqXPk_wUAe4xTMUKR1OMa65TOhu82jbktCAzlthwyzBCic3TlrbWXMkd9gLqKNoYz5JLvi_6T1fLcchtANtEDzskCTNXcNPw0lORQeCplafG6KeGHz8VUyO_YwcPQrw0vg7QSdhE_4P0Ebxsdy9qJRjugy9bTMFSt65Sp2kWwUzu5l9UBmcIE0NQye_IBhHboL69IbTqPpn3xWm4cNlgd2bvTTVITT4fXPilaJPbIEohmCK6TJV1uwx9srBzn3vuYVGXL7pFRc0l3w7wVJCerK7ZJ7v2Rp9Zi1bJZFttkkUE4iqbJhd9m9orhTrAWJf8BPW4NmoTpdeWEoUYaaddjRrYSlxKrAbKkj2rx1TUXcv3TS5ZYMG1nE7b-Bm5irxAoC8Eyg1Cws_VXwdg1Wx8J1foRtDd_9BLOH7n-Nb5MVMOqKZ6PJFKvd6zCtKpfySZrps8ImTnTe0Ab9Le0t9Gc3Bf-ZgFQzhCYHJnwujU6UYiH7BD12xLKbyyy3VSzWorEXEXzW0TQvdtBAaH2eIz55ZYbsRAyIweKbuE_O9c9GHyAZZRqADPl6RVTIM1nsbHMhrRtwthe_X8Ew2wQeGQ_zcfg7Rd3uAyusVreXJNpXaqBCiAcTP-yOLBROW7I6NK3R01DelZImaIPIj8k9rRTcZtlU7QPmZzsgAoiLgHE9AjD-P3OvgV9LOti-B-VfHvzrMWqgcK6BCBygyHViZbxTjCEuJ4J6ptNbn2rvL2B2yb4TXjXmWmKiZK3CXcRt8sibLYpwYvCL28BwLM7inhiIyCqb4njWwK0xk1hhVJZdnypSZnxey4R0E7Rv1cAl21ryA0RNnFWajo4LU-X85ENT9fyJWwNvABAHgRq-_IapjfQGuP874fFMK30jcgFCH1bneHBMB4DfRDhipbhdB8aH_l2V0pv0no4opXtPpnKljw0V62EcsWS0kETonjvYQRxdz1y8o9uv0HoMqllAnQXLCdqbmmLT1CrSVWD3ncI28ycjDasPmhxQ8WHKop5RRr3z1indEtsoyfrCrFDKgOQIgIq2gWNKaNlpdKx1B2l4LvEzruN4qu5OkB3kygBbSzI7cnKbzTs1YNFP_ZV6ovi2sAQVQXYgexbf7S79FZ6ilu_YgtJWXWYhDUeVmGGy84p72YpfyaqJmVVPd2h2yenhOBF8PznjaO7Uijck-XJjBaWeF1NvYrMHCx3bBoiwOmaZ90x_YyIlaIDM_rAPi9VEYGqUPYuVkIJrxzwbE90YVWgCDnYGNgFg3XcoZRlxsVUyTg_Mxtfqq6-2tQKOK4VkVNAbSlFgn8gABp3vp1mAh1uqLIpFLpFMBWSB7Mryhgl3JSktETNGG11DC2G_TlCLPruGQRecqMiMjTczbIkFzHUzBT_0WPpGv7lsJwmplOdixhBouS-KeCDsHG7JkLnAXy8Ftufws7wnR3eyPomQ8QcU8tEpNjE1mD9RPUHos5CjM9uERnDq2-14e8aPW0VM5x57vhjx36v5tbcdpBOayhzAbXzXZNmJSEhAgKpUQFGHLVwsDQpihZeEhbZ-JC04Fy0mCwppSQM1JKU9fJG0geHEGazdVn9mqXKPPJ-qFGwzO3WIphN1nOF1E3pytWNUaKEST65Jz8_CyNgZaaynyvxwV154HmCHyVdluozPoPCmliUA5db5nJ8eAaGTqov8-xR3cPnZ_qygCKNVR2pBzZAV5DS3kBMCD3LSk0hbGjiG6mJvl7_OLAZJwuLI3wJFN0orEIGlko0VZ7c-d9slfGq0kvz0ADK03D3I4EtLD43PZMuRLVcL1f6NRdo4MskgxyTchYO9w-_oNchL0Ec5vllwDV8MmWVnty2y1yL1bqp67e9k_sMYvjYtZg3fh64a999EHROwI60Ap04fgPij2r67D4ZPdoyQIm18eK-3zhQmhht8QxljdbVtzXOarnGZT3kVikfYLV7A_xIz53UhE7cjxjEzgqAkGev9iLlZFvILuVcB05ZvmUn7Lf4anEQ2u7kPbzqB3P1DemwOqk8TgXE4UUxvGZxA_W6u7df9AguU7tTM8jGfZO4GG-zpF7V61MQ1aF_drKSlihtBaBPXaNiFdn4lPbUSXlR2QXDC6eBOJ4dZrRt4NcAxaDqoEju5HOZ5qXTx40XK-O8vWmDAmmFWXHrRYsaI9Bn-AsBZ7gvOQGswyWC2i6Yrgv7UYwx_I5zf-KLY73HAPjVLBnBYQqpg31Lg0bITOvjYCA-9G2NQRsUhukOHZ9qy_SbkSBUjyoDaKCwyVzpOSwdIvwzzWrape3SfeDWWaYhndZUtjYDwlJJOh5_r5GEOmZfmmDip4iiWb-xd31gBS3g44QTgFnHbxVB97p5-J-qTNcNJyf8ICsvra0Gd0rJ2-u2glVn7d39wxoR5SG5OR0dle7YPsw8BZ9XifkXy5A_mJ9Wuwm2LjGPHqg6gJXfsGBGrooVUYzy1BEmf5aUYe9ZkepZKnFf6otd5xpBlfpNUMXYIYDxZzD8lbc3qxzsZqaLZbS41AoTDSdgxkv91dpYDE5MDPS6gggm1nFgPJfjklr7CkAhbzC97i3dyVyHWSfBiW_GCe6WJJEx_hCJa96Wziv_irdq1bVKqKhY_bKhgkYmRydjEM3kTBwEzTPxvaK92_6nBkvReVNBkdiIRRbgY4TS9829ZpgfqgXiVS4-nzo6Iq1dc0Mew54GWA9lGHLgvFlFj9D4ISKOZDLB_xE3dsmPDGfvBbLh1z_lfMi8NXuZNmD4j4_aSHCGw7cd4yjsSV6QlBe7q-gZ-TU0LwpSiAa2KaSBLl1R-v-_h9iGpo1TVeVIfr0eyq8gO_I_2QpxhoMzYSyZo26qTCzkkYmILyKCqpGP3-yimbWlqQf0Sx-jLZKO4qRomoDMKnnLgPVq09AeMfJWmAe_CxpGPPIBioTFwcn83Pr4E73IiCaCRYD2tHH779mHgh8HVpWMLfvSeXtVWNnTsxI_ZOiEokOcv8hkIg9GY4YtLT8xZxTeGkhJ5svqwUyeGgJUrj8BB0RKO5QS4ZeHScCMgI5CDqXeKtxhcVceubdPOH1B8ggxgI8xKHF162Kh_RBBwNtdrkU2QprXY648jCZHq4ot_omRho9l5kyr-kozFJh8cYAtdfzk-AtbMdgWN3ovx4HCWnGIMJ5tcIt_XXfdDgsmgYHDrpi6l7j8-uQ9obyewID8-1QQhm1PlliISpOaUoLIz2-qTyvKj1a_Ok0PjR-8dG6YTodh3OKUrIJAZI7vSuIgplDu-hUHS_xBvwwIwJ-CAfZMt0fDEOG2yza8V_f_SosIET0R2bU7zf6od7HR8M82czI-ak9m2uX1tA2mAWhSTTLd3sfoT1ma8MLTlvgkXN1KzYNac4WvNeuKY7bWPY50o61ee9lWyvoEQNrGytOHGl33RxjkMja33q19dH6T26LDvbyJqbUnsgpGm4U0keyih1B1D9VQu2GQ3SK0KsQlVuCbR1M99WWCekLXB5woZfAxmcTfsE2ol8hNd6LoFPimCxqaFrG-CsumX4ywuKCWd0wlnjIb1hvWYoZ1pI3Qjfy6DyAHjZxtAUyG75I32h8JdtgwcLDmMDxz9daQyhQFb6_GsbxsPzRwD3IELhm2dQJ-VRat5myyPqAUNW4CUAWXqTr_RX1fQMPAY4XT52TUGX_U8HCGyr4n2hZH4HMgpdNNtkQXWpqSmDpHhXZ3lG2EKdfJRqV8RV1GkPC7FQm-yim1VtKUIXvg2BwdZCLA3vpuFZ8NRsza8Lp7KrPqVCcEAoWVcwiYsRHYnZ-B2TFHJf2LW5_A2Rc5rq7Q4YX16njy8QfD9Fntqua04IV8OZru5-jUfNZYOsu3JXJbyLieps5RAchwKDqZEdPEMDkK_L_9KSe1wyv2wdISZhC2muoPKQhAE57K2URyw1TyChQdkXOZXYpzXc7EtoY4u8E5JqH9WUJhqv4L1R3MHwoM6S_cnbUwIQQesmrrzRZjdnnG1VD6HPp3bQQWkbPO8fYsGPsUJHxX8o4OtgcOPwe6HHSBKJRLdAVfUwRhyR_Esgv3caEtABHPdyhNZWNgNoq0KM7aF-lpYQUxKNuGkWVPx5z2aDlqnFS3JNVX7BVIsf5TKQ-qJ0DDeh6cNvIgF9_Aa71XLwj09r4lCRiqKgMXnb9o_T93W70PrF2B1DOJN7PWASoX3JhM0ouukk7BlCERxElFwfs4Jj9oe0xynApj-ySfckbRDTMm9g4RomYxBVB_k4-eOCyuITJemC0oTu0k6zmfjEWVdNvDd3RZXiu3mdZhRwkJoCLx2GuHvalEg0M7gUfjct5wUUdq-68fWUIo4p5-lU6Uh3hnzoO4ne7un9DxkY27zQKIeL0a9o4vbabNRqF215k5SSd5xWSXob_dZBduks5BpizelRHhk79TgBu9CKT75tgIYvtcmG2F6SVaJiIhBWxje2qilUNdC8VHkprHJGl5xHw1sw3eaKmH1UGSrKAprx8G0akmi1YGiUHbM31E-hdBBe0oLOpLEhvYQ6Gg4EBTkIOZ3BS8xfMVaWy-MLNyCw3PwBRjx0JepHXLzpYHRDBVXBOipshi0oZ9BvvDX11yiQN6SvhcprM7yJeKdwFbyrEjZeUgBRfelXtwcTWx6UW6uwuzRcoh2zzu-xQtCjDFFIyDmMMvGO2ao08cWbKEtk4Y0Vnz_iyK0hkRQZZXysgp7IEuIwLFuv4wrLJ6b7cxVmukHT7svXPY31trlS2C1Zh3ePnlMwrLMyRy5wqBLnx4sxkTEhFTp_SpSbQSNP1q5skSG45k5sjMNRz1UUPf78RgV6TwJ5A6pc4nqsQhqfWmrVCxtL7QRG9uWkS1wueUrFaEu7_fIebNcrpkSgEtFcjc9jsMMsE4oDIDa1MVnye40ZDCd_5Hn_bUOYkraK1sJsweexj88fpnPIwShcnDAWAEuN8Eg6kVZbR4Xq2vnSi4u4e1WIam-OQJ-ABWZuoFuf-3SkS7ibGTdL5ZL6zPeVuJTf_w6zV3ID-uzAhsWMZE_jvzmNZY3K0Eu4TnlbOYM5WJqZLakAq3wUA_HaRSEN65jQGcH1nHZGKE6GqCQMgT_aMI5fTUfHUgTHlAQent5ulDE2RxOYpoU39ZeusmuylPOgtIYzb01ET610bcwZLtQFmghmPucArqaULswjiHfCfz3b4hl27A28tDDtbkNfGpB7-kGXGe1DmfMsjXrzass-ghUqb12ZrDpMD7GtWdrPAfLAhvUuBYGqCKKMQjPlopW1fIiAGtmhyTewlhCmb_-0nwvLvczhNocW9jDiM-wq61DnYEZwfKESz870a6uFmw3whB8sGOtzYHOq1LSsveBkEM2cfYcqQo50XBrThHQ0G9QXV6cN8RarcS7Bxq2jX6_K9BsKII7Z-fbBOpAvNzkfFCPMgJurfL1i37CixQbKb3jGk57aVNJgMMvtYU6JAPPx952PQdUAECNiojuF7Vi2cY1dymSSHlNGIUSvKX4vqpVEiNcprm5TPB4rSxANQv6fIUa4E1WtXDgNy4irKFYtUFSdoopg5B1v5AeKTGNoZdb1ASMPN3dhGJfnmYrcS_XPL8kyrMZ7cXWSMxJinM5gHqsVs9PzQYGFbJXgsPv7DymWYFIjju-eNuHfozqw1iEuC_s7c5IouxEBW24iUaeWXKXJ8Ig4kd0TtuS-w7d7iORnhrgYPp-7iIpCbphbq8EZ3dPVMLo6nBlzz8A3kfzygDvVnz8E47U5YsUy9wtY2yg0bgmSSQlMd2QwXdiHR0OcXaQ_8B560mFpfOHRSkRKzOpQ83bwHF1JQK5vmdV6ux4eJvGaI_9mCxTgpkQgjP68BQ8mPnvMd7Hfiu4rUsOYjGsK7lQ5_1BHJI4Ym-mZVwYyeTOrC7bzBXYLW54g0pHbJwG-giaCktSM0N-05uh4eiJ0T2-OGdqzmax_Ga56ZYqOc-_joBK9aLsIEC7b1hTZ7ZQEdVtiWvZlperGgz8fv15BYqQDIm44Rk5sgEbksnypaKSpmlN0BIvBoXj3-FoFIInp2TU9nES8t3-F4uK9mGOendYdSFpRFZpqiMsvQv7ZGY5ciaOqhxZZ0izBnlLfG6BKQp29sYqNbvrth4ykp_JDBkUqGhgAz0wbH7axXsQRKv2Mo2GSqZGHCJhOUBscP7AaQdN6E5oe1QLd25qn0XGqf5gZTZc5ktKnNWWRh69eyuumIPqeSnUF7WI1gBh2n6VEbhORbe4OqvrDh_uVz50f9a-VbqFgoZAWEXDvJTWTtqDWKWu5RlAIJr4uzIjW6Usrrmydnc94I97A2rvD0WZl4Be-xOkVMSTwamnzEW7WodhLFhAgQrzGigpPUb4gDGfFaYa2xgo-Xj-tGo2-BYmVKM-bY-IMi0FAm-Iof06YYUvkcYRC3g_Srypbo4rTkybA7QJHP5TKpTgo-U-UGXEXkttOXwISlaG7q_hqddj8kfMDTxUyqTGSBIFfo9Uknk_7Iq_ThqWaRc-z-kpRkEb23p_0T_0_WejK3BXGuQCHsgpGvxa25ev5nbHiyOhQVXUsfQXkqaTbp2UPLy8ShAUHPnB_pkNy4aglyAhhcvufvJNjzZ6_wU0CWOuPpYWsI2urfKEjYJjTydBl674Nhykt1hO-tVmBsnMyLysyO2nokkS_k5pFHT8M-PR8HgybhaE3CqZoagbBQ6nNR8FNF0MuvTjrmvcPCXqV9uj7gUZIuyg4N51IBI06-XF_RD2M18wf2DLzlOVoRkz4xIsMnB98PQ4fb4_WhIlgxps74JlkabT_qejfLuMV31mXPQFx0qmncaXImoWf0jznm7CHg-c2a_75wQWiG02VOXNwd2Bbh-pdofPJMv037gBa8U41puFw43cVhs3FuXYMe8fZRyfw1kmAUHNGdvdCRLQzOMhxECfweMJgmCyUEViP6uMSQo3maB0QSUiqov-tQVicY7pB3hCeq1AZqoPWr9OVy_almU6bIsRhSuoaWa2YQUzyiotRmqCdEKZqeq5pK7NrTNHj50--Ca3o1E4783dwmzdShwFqlRmKE3EgJBz_SywvlN4G43WWCl7iTZZ0pf10DwrBck6X2gDJQy5qoQDdKQD53zPZr44FCTku2e8ewX4WVthKVRSvAVAE1SQEgLGJcD_nNq-Wmy7_u4RyjN3Nsh5lU_6JXujzDa3djYAdUo7AmBJ_W_M5sYGjiZ_JSeWQsML07X5v7W26YP63os4jk-M2tu70e99kR-Cp0AV1SiDJDbR90DzsUuVZQeKaMJpvJ8H2G-gP0eu53U-I4DBHc2eDWZdzLfoJy5hw9YSmD8SfmeNMIQmW9EYhu2VOWYPhk1zaysOwjK67vBgyH7oHB-_h0rb7rOjN9qCUtW5xx-MX1XfTSMXrPrqyHCUXqvTDC1uvRGW6vnOxzcsPu2_ZJTGzwCnh13ZrgdffxRuoUpxct2nZ_Ug-xfr27Mg-aooAB7_E_T1_XB9U5U_1wvMozEgDZpCJV6mqB-6r6UNrOOfmQczw5Z0KjntA2vjD_Ez-acNoznUnzbGiYafHqfGRrxE22jr0jwFTQu75oxxYmcmsuKxIEBb4VGUwFIovxVP58tciXa-lHXkOYsrw9LFS8UupY_XJnLZh1pVBCL0Qv1FRPbcsCW_l1mm_A3eRVnv1yD6JkErJUJar_n3WRGGDYHcF2ubjDXoxP0BMUeNhWA8YUt2UZca2aQ8CmdS368-k-hgn77LgFeQzAS4XoUeYwN6TPB1VdPqKwk7yilZjXxylrzvKTxNlpAdq6WLw-HqrtUMpl5D3AWVNxSzpcr_45tEEZWFXuXP3RNGlY2XT__8pBFWfJCDgg5Qwhl_PlyDSAmianZeYssl9E1uejJxybbDdB_EuThqwRaFcQnC0vNsuS-49ApySRrYTgR3HmYsdivQn20OuA4WlPyflIC9XGcfZkN82gdlls3LQ800xLGwlVgBoieGB2S9tO5YxuqxSeHY0OjpA1SDdXiYSLwkR4HMTm3ouFMEAoIZEDWMW6epN-vyKj3qW3aICFkLk0DVV5_ZZUaKCBDlXncUEOeEHVmI9u4K6D3QIz-S8DBJwFh3YtMazS9dEXE00k3Pk0Ord_xW1jQBoOwfzN_XeRanKjl3RLjyXYByhh_EC-3NF7dz8aTlhcvyuTMOO_bYLU9LstcsLDAv-1Sd6nCaiMNT---hCNCsG3-KYNpOA6CbFl4sHqcTUjxnUPX66QhUxNxg_XveuapbpIcnz69fWDh6zV7NFdqmCqosUzWKqi-2W9H12x_spwz9Hu-LoAXDHR4c76rb5SgU60vPtSXf0dI2wCJgxbqjPy_gIjrlD9GgWHPVccfbodh3npZLiz63YSBBel_it8srCOdoMbCIXPTZYpsuA1Fb2sGGygQ3DLLOH58dOCLZUWBxNMTYZZMk3z1g-_egb-IYvMd1ZJUNzWI89mKpe1-pupOVkITSOpkg47IzeSe8e5itbRSq63M9NX7CIGCYAQlZ5r8hPiq3h_Xn8ps2JH0zQrdwgYPAbTFhC0cmDkE-CG0YnKACf2Q8OBghxs07HvqL7HoBGyVlyvoauM3dsrBCHUAi-HQjZ2bwQRZKsEs_x2Mj9O-5iGLEk1Nku-WaKGo6294UVfEdCJngG65P7470yXgUyn2M3c8O6PCOxJUMlc8GEqYbNrZFkJnjSEgrPvhvEkEX6kwKMyhVgoJcmT1z-KCmBi_s2SFuC0rYHnPOe4URx0Nxy8X0aJ1W-_iXUoXudHnf9x1djUVsw48Eh-eWW14i0kJSBiaSIRG6htxYpRK1jD87ECv6_1pSTfL2pT_a3fg1ghgF6wNTek8Nq924MxaZ930MbC2BjO5i-rUX7al5Wd_qvuHWHppe2pS7toNCpRpqM1CwRmdo8G7ZmixiUmQpjYkue0jcwiXuueZotMMRm7X6qGAm5L83phzHqh1ZD1wtyDIV03K9nvz8QcG87HVGw54602yqudisKJeql90dLUN6n3aaN8YR0P5FGa24F4y6x8Kd0mGGgEIaEPPCNrLnq2dbAEyeko8gOPeRrMInLZb9ExUt3uzTOGoNouxTIRWt9RiSA4aMU9LxcQjBjIUruj_m0PH20S7As981lzPbSgKHQDICI0XO98ypl8zF4vcKc4FNPnSD9YOcj20KOB1A9nebASVrmJSEY2HiMM4r_LZVo3Opn88lCn9qI7a9rXi_4fGz9v9UT2keUmad7wpI0DJJe7XHon67KKsaexA4iu9Sq_dCm4a-RgPgMpJChn3Vch4253G2tkHTNV7B9ZIZT0YslX8mcl4bmwcgxKyuAkOfWF0u9XhJFl8pkk4PTBcKSexaNLjbxtnpMGRw6xEHAi0s4hPLRXXfovi7Der37iVguy1MY7bVmpp8Xd-B32OAlPVo1OLoAai97At--bvmWo6mQ3_xZgsY5fxNlsdUPn01UoCkBFJ7xEJ1N0DClAZ84ANhS6jxnKwoq6IPgUGuEKomX78euWCPyceTF4eZPdcQcWxuqdsKkSdPipZJeZeo5rQXnKvsxtB2qgCR-QaS_OTWn6Af4GOfEYVQZbBuidck-cCpTqLvfvCS63R_BCgu3lp1xl3cck2px28VTXb5OwIl3xsJtdJd_MSFrkZXpf4v5DQEYqYgL2jTEYhN5lH7GDtfthsackxRHqBXzPu2iDlZrHpydnqX--eS-ZQ7LmWO2BiCx-x9esEgNJueqL4dqpAl2vmoVLlUo2EoWxdBV7nibKIyD_6HUW4PV_S7yaGr9R8M2SCOGcZR-2r9UEeuiVA1zFcIPPYeyIjCk8kFLwLjB6YBs2kMMv76Bv7R0CY_vdGdHlA_vDneq5ZxUV3YPqYM5OR1-6Supy9XRG1ynblMRLVH_23WI-WtojG3bH5YCfUoFUSOuSEgv-Q3FYx2zPBT89oHSL8G3EV5mC9b2in71DL4h5RdL9_jJeJQxQysm_CUtN7oUGlqtv_5mOUpmw0LSLdfXyO35tvwDcV9_Hh2yLd_x-YsRZnjoGTzW3vCIFxJTnCNtAbqLUfE35BHnhBGGB2PshTWAoy2H9cy6EX017zhoT_JsFmFc8m9b_TZwNCRxOnrcoCWXwA1cb2doUWy1e49W3xZjH1VLunsh-yX6BMKPEDMtZPmTmz-fmqRWnkoKcF85qDIdQ3b3zPEG7-SfCXOmKnB4AzXVKuFqJ0Cpk_ImbqC6FozoAQGUl7S6TerQQrGnNLMa2R-dZaZbArooI_l2GYcSboC1H2EjpBhSrHMYRoNCelUHh3qnvs8fpcHz50fgA4jBnoSee4nnuMg_x9FLj56fAU9POcS5IjRepFCZK1gIOOd2r5UpkrtVetUVVOMUQJoFhdvxwbugnfvYXW_hYMea4rHwdQExKlqlXJ9t4wUR1f1pg05xkvajxzOoLjWHYiJXmx9M78Q2YyBKCG7UwhPbRNiCloEAWa12wq94WstMbS8_UjXaacHBrV2k6nOc2_rJGUahTeTj04URohS2ETDPks0GPM3oy5c36lpKFsQVNGt69uft6Cg7O5CgQx-yy8cMhB6stvsin2BWiaiG7riQoZae3mYVWqGii-mDlfLO3BdWU7FBiSJ8mglZnNQlapeMJwwCvmhlfV2HrTlXtTNV4eRY2GHsWY4-NY4MqWLSVwig6fJqPuSgOEFaIEqGdn6fTfNHSM0C6i9GB6k69wTRxehYARWrBtalwNg7ityJB0Ta7qO7R6VmFR94B7VyZAH1YcSlJ7bZAUn4oY6bnc2QyEHfDp1GAJqkwSsUXEAQDP-REUzVnExP3lBJ6InI1STtK-p-didVIc0d91vGYUeu0VrZAcn-dtYYmNiki_LAGi-juxUTjrx7m3E9QbuYz4bpH-WFzxsTjKa0UMau3nOmzkVdjip2__DZ0im7PyqyV6hh8jIy9YcrxNSIVL9ViHwglvGskim-oPslIecNxr5e-Lt_Pj-5afZubwli1G8O1TIoYCcTs5p1bhYmnV10cTeXmEDWm5VGKi1FoKlcU10g_0AUnXivdNDgWD0hS8ZHnmcEiMzLFosSAoIk-IbQh3FvWiJYbNPHnQRH-TA5y9tT4y6MPhIZHQLPT9a7_3gndVXK0aeorGV6DrrjuQYxpl9A9CRXXeEhRhb0JFLQ6rNm5EVGp4fAFZ62GNF5KYww2LLJ0jM5KGG05XlLfXCK52l1qfv_RNuImSd2HyRgj-C2dkolkISE26SRpmBFU-qgjlICufz_3hh8syYsDN5hGtPniO7unVxgEY0bXqG2ep4LNUTvP4ClHIci6_ixOXG9zC83BTjGnJzfhUQBFCBf34MAlgS1g3n1RuP_aCWqwWf8Wmo5CySlj-G3tDJGXViFYBgem-hu2ODZ8L7mKJcCfh2pblZeqv2cc_PvOYWDL8Wz-cqU8hEaB9WnS3cSDGkccKcnSV2ijHTKorFj3APalKOUZFOYI_ArdOvnm94pMj2LttN96cSSEIMeMUy5_tISsAKwDULoQwmA-ckCIk0a0lGdImid2CzEAWSvvvInlyKW7acBx-NI6N6H0tWg2OL4KLEbiiWub2pw2yLDn9AyS6SuM6xInVxH40-hjrOq-FlJN1rJtGOR1MDdxn2s-x4pj4IgIIj00bVrzDMHDebz-jNuX4fo8X3fnaV7Bpr2SkK9vVTlRNE0NmVFFvzaBoln8V0MONOnaWOFoz6H1gfbTpnww6WWpn5b42_9c4GOQoQT2uTGQ3fbd1JKYWnjXXU73k5ozY7Drx02LwzvWUEZvYt1aWzM8DAqItueH9IlSPlL3Ioe0by2o9lbzMHvW5EN2O0pblQApcwpoVVXx1niGET1OA6qfnLHkSkLorWHAJo0-wwS_1IZXmXFyOWnuOa1MM0R_NdjzbPohglOYWXyVvfd3vLY6lyz6xE6FeWwIzibMdNw9Z8rmmQeUaPsAQqUyxm2F_8Rxu4qQ3DmqYNzGkUy7TMEMVPqk3bLlM5gtHhbhLJQpNuY7mDQ3tCc4Cb0pqMacIDk864XxntzYDaTg6bis0V0ufCma6LYAptLZP2cFw0PY7CL9B9Sq7ySjyVT1RWKThjHN3vyMPx_GmxwaUDPbeREjySzVDi44lASUY4PUW1GSTja9R0OSoTag8WKgthCA96M1L61j6rcztuQuyDUhRlvua7pBJCff3uYuKCd8IP5wfjW7j_ucK4lRx8b5ymXsGASMWpZWa3-r9oZfYat7pLIPeXMJTawqrKmHcVUcW2AZrMp7RpfVctirPUgPr0aEVo2FUshlgxrRXPHqqUyucM2EKLDrKfgnreo-iyE44JIqlC0WCtkz4VwoB0Evx9DtTDAYHcy1gJxdM7fQNcDV0pUd1BcizYrofqeJ72U-vF7dfb9LPeROWx2L9MQfCPj0t6EKV_lhRBjzr30nsb8iX-AYZNBiKHoBNJ3_wbpu4ZfO3YUQV0DwWUIijIKjXwSvYDBwa1tcXELE5nBUheXKfoO1qWNbGYZkC3jhieEfVDKLGXVBX2CuFpXqOyQmpqVwXpkp7wuwulypaq2VzE0MPhrl5koFUICRPIOqUJQuu-eN1jFso5Fgvs6Y2aiW52kO_itwcjAzVMqQEwVlXmcUCDlrnellYspyuAzuJisUU9T1Bp5asq0IvL63CNvQPH0ZQnI2mLbFaS8Khm0yOoUCwdmloYKFGuVGu4-WJTugSrRD-SVjOKw_ZVmZF8VYtCNOz1eC9Y16fUcMHIh-8R18XlPOxMSqkVCOP-6rPDn__Os_REeaAJBPSGrLLA8-P4_RQSntFpGGsWKcwbFEJ1dHINPo3IaZhkyrWCyJ1hHSv6e_PPGgGg-mKKK07B1li10oM1wEv5S0UMXAltqXmBvsmQFrE5NbYfgRZutJAw137ozUGhtXdDVTPs8zp7Voz9ZXfJBQpK4QRehChC-F7zstX-xWcg3ctqKEVVGm5Vx77pGfKuWpyR_oS3WG4HtD88v38YJBfyPy1AmJgUpJi513wlQAMI_hdcgMYJNGCNJ7Z0s2l5c976m9ls9es2fH9aRIDDoLLqmZZUyjG6bIERmWgIZyOcNJk0xvMiIswHp5asBil3AqlrAVWHAvsxqrCRAcXKb8hWTDC4R2WfUOywFrdqaZFoK_p0ClAze4OCumEKakUDCqWkLRYYBRrBMq80e3hvS9G4arsx1TSz2oEyw1WfqQmfoHinyiV477oKNH7hxfLladOtKz-tuCtxq0JuBW2Ner1udQYYAgc7uzyWxJXNYDkRb8F_OLp4NIFcAlDp7ST2A92oa9OGJusPN78r2IHuIWQmFtbX-djLrC5k0QLfnIqPj8b6rfKBboC7DZyxJLHD2zCcVqUHaK_Er_1xxppsGJOGOIXEi0w8gLZKS8v0F4Z0uOrTfUgNICmD9GaG20KKNt3Soy865-aYlGQMSGuL8VxD26PZWNgE6vaztLEeeuDocoFH4LbBU9uQytaagCpoESDj20bVXLzSCBCtsdcMspDhjs5OiKtKzHGUwoOGj-Jx4wBZ-agQhoG7hNRRAVivSkm661svuSionNGpqYicQdSiwDDdaTufQJF31OFf15zDclqm5-wYQsZR_jMHpSRvd4Xf01SlkPQzhOXfiJeYV66dWAcMa0H5TL43i7dMFgYwPNOc0N39Q7W4fiN2FOSDL7Y-zhV7PNEmcNAQAT4_UUyZ8IrZXjXgnngopEiSdb99Iydti1HmHdrS78ct412O0En3UVdNvgWZvqygHduBeaIoKaW3Ux2CwXrVfH4fYnl6zvkughunZcfeTGdGBtD7GKmIhqlL5bnBC8QSxFB5oo92ROfQC4gkAMGeqNW6ILSPD2G7KRqkTEai9FVWga9ybNjiLo8QCdDu_qOgntKT9bXEbh2W0qOr4ZJlKMT5nr32QqpDGPZGMqaGGA9LTGCHVaF_JDDSnZae9JdS8g7BXUWoP9k8DvERt0PBQWaCljHmTYtJQZGWSwXZUKGre_gCOmb_5X2SNgyp6e8lf7mgCCdNlrv0feKVMLxzUsQDuTDnuB92RAkkvz6hdOzSjGoqkpSNdM8Ps26eY8YBcsQtPHb-bVtzLWkk5G9kXFaujiEVmV2EhtIRQ4q56r2CMr8KcFco5R3u89kDGuJALPDvAwDRbfa8uRPchgJxdJUMRRAWo7sWVSPqBqUaPDk0XgjsPEU0uaXmamVsZ8vFpX2nVuK5dUZgKi0Ix7CLEiCgMWWJx6r8jhlRwi6rtCHsDhj5Mw5C5BQUM7vX6C1hqiNGAxY00-SteEzBa_60_XAPlTDwH3cmbB_QTpLCLDbtIgX4aCB-HMxXa0o4CgtCbHTUkYRXCcwf6OqS7NsPhkSUj62YvqCLS4cdxfxz887WSi7oF9Np_sv3gdJ6uTQ8FaicHoExP_7kKk54znu9-e9Cw02HsHQMrtFR7NsEqTKL4a-BigU0QwTy9VWpTTzx-ZUcNVCpEtvMuVsA2vut3uyIohiMhw3jFsBhMECDKctmemD05CiqPXMB3HuIuhMp-J4MLvqmk8c5wFTXmUQjWN01qcj0yzzj5uihE0lT1O2vPBdFYjJhA7ueMCL1h3Zfu8yJ8Dk2pYI5vr1wvCKiNN8v3dPR8CamXAXJ1Dk6JRWAkxi9iI7g6IY6iT8-Y0q7FfWE7h5rAOZZ4QrKQyjpfWBXYc6Lx2Mck0g8xgsdaIrVUusRdGYlcxJ6sCAjJnmMAgtKpN4C7Qv3oVi3WVqAq1ldUWSbC2VvxX9QGTZVqII8sCyhIfQl9XxrJxYvURIG3yjeNiNxsj86rxq1IaJ52TVjWLj5BsWkTGhd-nZUohHsHiUZsvxbmQY5y20NqKzOLIIIJdgX9n3AzCcYspCgDp-ZNm8tsrVgygWU0HdHkvjGpu-iVdCNbA7mrNysu_wurMy9tGOFB8dp_tqGwMAo33jNrlHRBF-s_kEuLE-7k4O9v4W5H11vXZyGkwrlkIuyJrVYPd4MwDNI2bMCeEK5y-Q2zQIpwhcEd-zqZqRGyW0vDDrxzDZtmqARCIO5QbVe3VO0gKe5KWkeHqlaF0C9_Es_jfd0qv1cX0vlVtvNFPMmVg49JHPlDY6y2FlIvZlBIug8rFl8O57GMN9urnisiK1dBAyyns04MY88ux2-e5Ezuwe2MhN-2h1FeeEJwYBCKROP6EJM-QG_2BLRiM2ChlBkxe_LqmL4jucGar9hX-dNkrs5NWdAH1cyHq2_CeWGUBVGt7uTi9rMtmPJt2if5R5bfE3B9UjXodutJmKMeiP52876tWk05i6fOCtS2bItc-rHaH2oEnHWxZsoUXnzU0lVYLi9JXtE_60MkdQkUE2FdyKYp8_b1IGUMTi7zmcaOU51Qn_l6QaOmpQ-z86pbTbX5yrEyI69ZXvipkYWgoB1nmUtVf4t-lsVe7qwFBXYREPniTSBgm-wRvPNv7vgBEv7g7rk70flqkJQaeqTXP32fiA_VsmQVShY7UaXki0rCWgyCyoqjuOQKTLPqOM7U1fPo0D1uDojAFxfXD9f7Cgh3ftR6ZlvfUuoYeMCJgPiYmxDSjAXWM8P9F7p0qFD-F2bgRTgxtBhFVlYFBRyJICeqa1BhxB4I8Gh4Vg9VEU9IXowBIzr5LOiHMC1iOpvJXTtWxfJq6lI8lpLPOleDTtnpL_sMPaxBBhB2lmn1N3KmRhuVrLQjJM-Z6KEbDfyDcHQmgVpmkLP-IaRpxUbDduW5JPC0rFR84GV8XYG1rfV4xv4BJTbMouRTgtgR8oRGnlJODf8Ym0jD-Ha17Wq4WYw-e8GxB8McH2nvmVE1y4G3zDwJ8mowWQGHFx7cqNW04OowNy3MaOaEvXHTl1lYQs1TTVDbbdBF917Gt3z5DxtA8Sna0OZy5R8etb-De0ru_BJwYcr-B13J0cGlJEm-OoZbTxZEWe3iLI63aSNDb_jgC0-x1SmvLwB8uO2rstjQF2IunSVuFSNm7In2UMXuSk5invw9_Le-s5JNHx2MDEUnCoWi-gD177sYVqVRhf2z38McwpBPxkYIm1a7k0B5GnVfr0GNxjfAadgQrNMCZZ1phiIl3Hp1w8LJjPHT_ZaTIxvy1qd6Lp1D5tIej7vs2oLjv6E0ZllKz33tDR9hqqXA3FgA8eK3_-LGa8Ig30qEtp1tkhvCFmj8e5dXrpEJpHkkZsMYCkFbMv3GToINOdrBCvuI-w0x1mncrWGCWz3nYbywAlzKME9wK3avTFHrCzCO2WKmKe12w6iT_SeOVMMdn7jZhsoeA_7wOBJuiVD-m5vD_uW45B-hMUYF25OO1aMQHKmOB99PPNfiA8wUdT_S8WiFr8YDc0uvBuuVQySSU_NKLn2sQnjLmbHxvMw49btnVLm2faHjfG3zRPs9n33Q6_XUVGt7zWZmTvePm2JyN48ZtUwPkDYLer-irgCDO2CEAMPcP2438Up90_lB9zNQ9FZmPrVzvNeiJc7M_eepQCPTgHXWFoh1ve8XolfxZr3F5EQDML8hIN_OxMXdJBR93Oh1VacYVnF8e6S3qu3FoqZwucYMD-knYJ7nZKkF3qHobmdwMiRjSuoBB3zabx0E6zoo-BAM4yMKw9ppAL6IcmVxawpJcHk0u-NXqrXPnKSOTgzmSRi7vGiesv4eEHRNlMOJF2sBwdoEvCnu2-vDbrvOhwgsuLBLwgr79K01AnV5fDyI8tiMnL1zby4k2zB56ejf1abaJHDWpDgIjJmAmI-LhbSuUelzVlqNhRNRc8L-ZGj7s9-UBsZeYvqKmZcLot9Y0YXM7kDIoqk9sAzXUKx_CcP3tX-m9rPhrzKYbSCHLjhwgtistTkZDB0awotgrTAqfe_i8gta1tyJOob5MvNSAjT-wT_5jMrsLukonqBMUfcEaxIxnq0pfrhN4XoDZjLDdqqf1EoYRJ2n_yWlJny3-aRtAYYogQN5NqdM8BLqAbQq6IErauC91erLPbf7HG3xvA_NtnqGgVVor3gnn_jcILysj3qtPI7eSePrELL2WVLm2cmA2eSVqB7WKR6BRTjjsn0jvShxh28bYpEUjRitfP2P4h_gQngmpmKxfqM8x30B8gX4ZfEEdMPN3rri35rMxtt1p6tMp1FBB7EiOUzX5A8o6QE70VDYIj18fBdXKPxm7MxU1SXJJDFn8yNinyUrckX9bfJs30hKIXcFTZS88ZU1a4Rn6hxz9ii96gBox2AA55rW12wnAGogu1A0S7jkSzGbLz4-MM9F_DivKjuLvxXbQNzf3W-VY0SauDiRE_5k1RrjC2Ec3J1hjeF6u0a1U7bRtWW-cVyWdgA65DqcUZOb2BbAjatWILLxNShpi-f0hQ0Oxa1c8GrGJnWjUfA5fZB6rGNwZv2q7VwgDpi2wI5fOcsy9EWM-niJ-0BauXEerTckV8gtG1a7QgPKbnXgSBJhQZaNLo834ceNFJtfemBqnpQUB2YAka1EP3bTWlBf8LC511gK3sgQ_QrvHsDoP_xEJtJI9RvTaRHNN4jotsmvPJMBo8u8Iue4H3n8q85uoqiTGxN1IHO-stS4EU9_TNKRh3KfuNgSQadih_xp_6qkuOyQqUQWoswFQGBmTu4bqPYm1084XmbCHILzfpJbGFD94ho1FB31eaR7mA9pGK5MP8XlnE8ZOavAiehXra0anHxzum886VfILS3KtwXzt0FKwqCP1STsxPb3vz3apb-nNh8QHchNmenoK-YNJUD_EklkcPOfZiIhSwL2XtLiVKOoka0WUQE4sB0HP3UIEO3YGpK1Ll7IshKk-58HT7vt4NY8nRM0ubi10xUq1mPiJ9e9LpnhcnmDlqcICPhK7DuBlTxJQJerHYYE2gMIxTBE6J2gtV2UrkxLwnl3WYjaO5z8VrtdVV93TMPrcVKQZRhWxdw_swkOlv2e4OrvuyUDGsn4SY2BN0NVRwJYf_Uc_5oTv0jqfD2cWnPe-TcYaOGNvCKoXW4cHyiKB6olTjFvQnhKkLy8hNw_rSohzxvbzVCav0hJfAngEFOSS94pEnuwZ4rtOVneAysz80JruWguWoasLdylIVLpIfcI6ZYKCdYn3Hjk_RmLRXPM2J_YabF05dEUu-hj8TubWBaIDBMDKFcp2D1GC-TuYr1kurkD4Qo5G5ikZw_1T2IB2r73rTgmI8k5LdPxTx-rMp3NumH20-16hY31jVTarRwXEoYyZPF-0AeYhJl9qOZ2WxFR-6WKvxJoGrolkmdUtnQ1WlHn7tpLE-qdJLquB_1I5c48iivVTc1Lr1xXCEblBdOiisW6c6KPmwy8yfMA50SLBXPXipvKkN7WX4KrwMGxP4HbzNEAHYxARVmkdSjtNa9XyOJHZSchxv_Z3r13jlugce_K8vD6I4Hb8kWGkzvoD_Uxhg3kreASMd_92Qe8Wz4NNjScrNjQQ_tRaW_Gz5KH3fqMY16FJaCdeAXdbkvETkkBhRwRba74sTI3l3x948Wo5dhYpyvBOQ9UdPrqSLGl-YORwyEPWsZuKh8-MQd0bnXNT1vFmNYRp8u4HF_QdvCVWf6M_e9mU2fr1MLaYCvVeOYHpLdmb_oacQ1620D5rWBN_4Mfd-XwWO10fNnne9We2V9e8Koi8Qie2KYaNEkLQqtkZcxxYfZvCUhuYgDBxCsjKUR08W0VpCFuLPr7Xps_ijfx57jV7HOBPHFAS3jXNwoNBn049SIJE6c9ziWA3lsKss1DE2lNSbQr8J2rq-4uWhJnLOYRsqDW3hpki96BeMI0bVVPZQg1aQ84yGHMm4aL1daZw71tZ5wWalO7wgyIb1lxtad5j16wj-SOkEqLpLmArl7gBl2QcFC39MKlLt9gvpXOfLiI9Q6Xhd_zkbJIPeetbTJKP-rbMPAHW5J0lfr9-n8CLfqOh318-k3W-01QENdQgj_Ni-oa1UJPEzYVqyOomn7H91edSPVncN-io6tiaHc_NYKwURJU9i0V1FUK0OqgTjyK08XbLFBw_r6LTgUDjtxYwCkuYITCm8adPNp46ihc8jUkO20iBZAGF5rGuC6yhrRvP-cnOfarGYbYi1lHxp_cTZ_JM8-DrIZC4u4cbsFveLmfmO75QS-ZvBmJAhLtra4UCBHioZWOOWaZp_cjFMlHI0PAb1IPZ5zED1M8s_ITHOk7_h0YoTgYXPoUxnkP_T2stxK6W25XRlm-JtAsfyP61yhyiCcAeWcj_Je4G2qdzvo7QUWF_f6IvyozuQlJmZmJ6B7bT_RYFLpc6-7heYB4ePZAODFhEuO1eEP5Rowhtugzh_PST73dqpPM7iV5Ofi8tegZqlPwzfAXtuVPwbeB-17VdPHdHc1ZKhC1AFUC8_mXfjjEg1EreDfZovu10ixnXjjUzcuElt9HqgN7YXKM87_IcJeCQtCEG4VoFoYO9xdDeuTW9fAXrB9h9NJWAi7s5yEBV1FVMFtpZIlYw_BsDpvWUkyjmcjWsr22wXcGagUZOkhRGJHsPFu2YTDbTSh9TdhHHlu8APePmjmXC42bKsAtvQk9mycAnLidS2TXa8Dwt3ydHl11_GpEw7S3xveTQtNTVFtXYaqG_PQeKlqGwRvJ63PlVb-fyfNO46L5wO6R0yv0rgZW5cdLzGhqeVd70XKCHhZYEM1r-A3GERjdG5LIgk-9RPuhFd1mHFNFZ8C0mrED4yKFjkQIRQUUGmZgtiGM2qkXYkqKv3QQgSyvLkHFpBvN_GosSJSp-A8bdmsOOkx_6-TSusUbasdZeGdR8QSm0Qow4pnphfwj_Hl2SCK7VkWRLCKHwvvmpJrEh36Nr6MtrkF4hjnXPB9rav5Y15Tgf_h5473RVOcXEQFLxswZ1vK3m_wx48LOpGlYvSUgzDopSbtbwSBc2J8Ya0kGxIllDqt4BbjrNFmQ5k_qr1kt9wkOgovnTr9LWdQpiSrG8fiIuhK-07E9IoZDKue72fGMBBgezxb9MQSSxeQjhTh43hUPE1_zp1OEogplpWNrz8x3z0s3RUcqcX9-vpeGOKN384I_K5K8rqStMd8rkcFTnwpyMvtUe4Zm4oL9k6yfd5dAfvLGqHDmfr8p-sm0KeSq77MvRLDKoct0EAqidMPQJ301nukRwHEuNaq_o-xxQFTbZThGywBxXXqbwnae_9ukmB-W6XzqrMGH2mEks5yy6NPeSMROMTVhIHp-1Px1P76RbFaeNOlGTu10KZQAdJg-biWze5WBb4o0FX7XDTuUVAk6DmGsc1Ml-ikOaNKxpA7G_a7ZLac2o2UY0xhP6gqM-hsF7PieVEyhyZM29lqnnldY7Ydk0N5xbI0ZyAZMMJnZ4QR0YqoqKrXuOKQra2u3Y7V_UTZUG2UExJEsR8h0CIEx-1IaVD2AyRDfa4lagM_DCmiLzVoo0V18bk26wPNAL0KPZQ4iAiEnx9kuclVZwHD1n8y72YRxuLFpK6150yIK45qvqrd-_tsvU_J6OK2SP2YvuFv1EXVgB9VkgMUbOy9_ldYUFm6WK3e5KV8trVklNZoGcwFEaDahjE7pqllh1iL1tubJmBBcOTQ5-d_mry9athW4xxiKtwfU1UFITDpahaFb17MPWmMdU_JbyYEXYOH9cU24AfrjD-YCfgE7MMGxtTVfxCBFQvrf7LzolFnnGFxmGnKkvPVYb-nlKzY3erp_gBOGKtYTBtkJHI46vFqF_4BdzFgfnT6WgUvC7QkQy5pXgzDJ48narrFNqNsXCxCZibhc6yt3mgwo5CO0BMITBnWmXQoT8OgXHEKbB0f7Q_1CIqXaBT7R39j7mhwuZuuj4lqSlEgLEEzsrEGxKjxph_W1NB0upZzHDhW0rSaRJg3naOxIBzDBUfyPEQzwF0APDTS1qBVa-91Lq2vDRGW3aV6HZdUWlcwtb56fsItlgrAn_YALT5_MPWZfNrVR1uuyPsHU0Z0QEeSKvWdXxuNqNBdJFongJsmvakZoLUGMJcXGxM1Js_rqTjXqjwfXBacR0Y4EZr3KuIB48PKM2dIXbfiMtDVVhxKVFPbiIZwEVaZB0LQFh1ncjCkKbtAXZLLXI-4wwxxnSd5PklcSoNAptIZwC6T2jxLxp3xm9XWwkz4LWmFDpTrqXeWbuJ5g6HMzfgHmovLlndofL3zQGonF9h_VBJVOrpIuetIoWv-g7_dRrOe1r3vlQZUpsmqlfGT6Z25juBDC-I4RdSy5yrqH1R4YBhqjN0zNcD_9tfNeowFnbBeH2tvPV32rwY0qw97BQvxed4qcMh_JcdDdMj8YD4ullC5MH1Wnbnw8PwG99N3RiNs7AUO2eniHXtUCFmdTUmPAuW4Gu74qoe1m2vGK9xARyoYELHjq7Ztsvg-331SOMgmD6LcnitmngetH_WrfPBANr7AABp1-7WshozSHJ-SzXEJ_Xyb8I00Rn5FnqE9sUgSZmLHU9oupLkx5wQRhw_dw4P614-dgANjMHPJLdeFAXbYVmzW-jkNwMd8IeVcChMrMxW1JYCyhYku9ggCV_aQ71ppF_BSkYnCFOYX6c1fy2xRL28H1Mk1-zp4d2SsqDXpMM8r2FzuJ0PrJx-CgayjgdnVL3xa3NJX10glzCYjT_dzWQpVqNotz4ovHi4zRt-M5VeoZmUit8gUhDTaHfUU-QpTWL-faYQrN0U-Du0_c_3xzePwaQax5K3BvBzHZPs_13nWSF5mpg8_zLLG8Jc_djrzxJ5PYWbJQUPbt8qfnvIYhVcDFgjn8PobEoZuuk7p8zkOdkfl74FzEJ3zd24_RUiTyLlgnLPz3bRuJarKXrOFpa9OGB7tMwraj3QqcNXl1lb2l2Bq-5VkKwUN_fOWY2jNu3GIoqJD70_JvUZuWz_6V83heiUdhCM59L8tTGTaSorff2bDbhUv5u4AAduyyh69EduY10vAdyjb8cZAZSK-cbs1CpuS4AXybqhZK4BptxC4szGI-yYkjx3kaspE-gt0YV4VujHbxM8nwmcgWQXiwDrg9KDedmbLqM48jv9uyU1VTkOLNcUciRmIbWLfibjSB-uAitgElGmIvZV1kWd6SeajLUFo2VWuRUiOVFGcvZYimuYeFlGwI-OJD457WLyoWco11b-4Pqg_8BfHqG5ydIlM95XQFdPq0C7PK_qnnd-Q9lV_T7wX1IAuuE5wWM98sc7Bz0CUabrCEwZT366qDnmA6gqRDWcv28FoCoQOrxYok6hrNb7DUD8zt6CsQHP6IQ1EeUHBH1h0Sj0bin3UCKmxQFhXksb0OPIOpeDcGSwXMI0JVRVrr2TbfiQpz65NsE81R9f7tI09eFSoWXR5LtbdzP-vDCZGTyeCgijUpS2msvgJ20d_qSwHvazwoilGSzvkTOJuQmfvi2tEgJjeRrcRiHOouiSNRcsoexI7TZsFtGDpfXKmT_JQbeFydlDiTvvI9WHJBjjawXzyYAUpB2dtvMgpYl6UE_-Zof2IcEZOlICo4pWtHvzjT4ujl617fn1XpPWuWgNKqk_90fQHwnica4tUDEDNsTm3q8erSwQlpbiqHX4-WDQ0EPWCRPLnmv4Yjf1hG0UKxGbK-t7zW473cYcDTFApk5vIQcc0EvNq6WMp6Ebg37PwXE6KKLV77biWE02PeDil4kEy396wYaicMZaspngEP7jZSeKt26TXn3AheOMbqFLViwSlCCHiKRHf6KtvxB7rgMcuTTtayZ9JAuyomTzSDeDhwVaOStEVby6phARds59eLDVhw1XysKn0koBzLw6o3mQtd3XYJgJjMeaXH0JAuKNyMmVR2RyyWEBtiyyAb76Y4f5iZaA2OnY-YphE7OYVeMrZE1Rq8JK7G74XjIz39_iRajz1y3QitDIm4W4M-cgpHQH_yCRUeXcOSo4IAoTk14KC3GKI5x8g5dOA_oKc4oUsUGOQV_ilFc99pkY6Vr2-40EaMMxB3ghn-7IfUay1YwVQZMPd-5mfw6V0C2KCl95E990v8sPXPOYOr8XOxF04RVw-3xDI16hHykHfhhaSMZ5qGjr6MfnbRVPT9lH-U7Puy40-v7m5Mkw7rZKvyNq1B02H3hFaZNQ54Z59TrpiWu1kuuDPHGhY7x7hjBUKKDcDhoSXLnhJYTF8HJ7jao1A7hcNczU4mMoJUUUWjHKM0rhcZtG0GiHqeYfqWZlJ_ap5IChGHKD8UkMrbrSvDTIfxaUmFxv8M0t5CtDSZG-Sa_KJrdRZ6W_NQXj3tFhdFe6oPp8cwSwCpTuyeUwaQj6JxGGr3pyorsz746iWdv0IP0jCGLtqxWPzeOgMFA451M6iLe2RQeSSvpLONaLL9czekuq4TZL67ahh_I6q6Tp_l_HSqJBmaRx2v9fHaZOGGTqtNZqylvgGcfMx8rFopWqipiUDtfx83Ij-wtgvt4Uw71Fw-tM0duocf6pU_56Bgt7BaJEyRR5d6g-aMNBns_sFSthJLh4M7KqpEy8ORQaOdr4ySn6NFt0GNWy1fCJXdobCPImZLvapauy7KbPdlDmfi8UWnKbJK8v39uMtwhA2EYTmk19XV2v7KSdDg8VYODhlbgRX8HcJu8kNrCNsUwFYqFT6FnUlG2OaQ7eLsWCGzesAtl3mHp9K4RDokS6S-KysuD8vCzKa3rhPQjWDmgjpRoKBP24jfBbMM4O_BJ66u4I1pK6Y6zI84Wsaqlf8bVVgVcmYoD9SuTRr6d2bAiPK0BRl3TP5J0-V1LEYng2nsBfzPN2ei6UEu98VCqkbPYkeh7gmPFKdXzA8Q3UNfWImRRu8c9HDwowXCYlVcSkrWEGWTd8cZTK8n0r-3CVvcSQG9jY-NIA5OHyO_lR4PdK0WYKnz-rYg3QxNdPMJIL4Fccok7nWBtfXNYRoh4aRElKOCK9O8wR9qE9h4tV-CyeBd5kKRYkuJU6koheGFlHSf2vtA-sUYi0boE5y8ptVlKTl2NSQWrQeF1vSV5Klm73fu97GnY1_jEiWyV3Tty-89KdtXubIaItZbcpOrmZphuxwzO-WqFK97kinCQlLlvwV19SPkxFPfXmeYRfHfPwYzSuGBRirG3w5bVWVGHMm_9C25zYWpW1Eo5EYY48o64jfLxN0oBYlC5e5gksiRCc_Xf6CZ-wuFfxNMcojk3k1XAx_er0a7spUAzO93B-SVycV87OeuiUWw_pwGBIrxvg3V_x8J7UyJPFSmxlvOZ0gFjLknHYo51bz_p2tlVg9y63w_XITyryoLVsCqSfuonikGCVhvgGFC3l0PI_DrKHwuNIteGRM2mznn6oLCl_WJwA0oaUwKPXyD8HJXVqyI5unpU5I8IJfLeNY44YUqjR6RKgnOH6dJm-oxsA5W5Xv1FOx3WjzzGTurqOSzujFOUI4DbYQddndqBlRaRYBk03PIGJZJb5gUjWcmLFvT5IkPfR2XMURQsY1iF9ZfoH5DF_xIZ1kFBZHNobCwjjVxssE2oDjpT9X_w061YWkvGwEi6rnCgeJCumadh0enWLN3cHb6Pl7zXFgu1h3fbcGKIizhARcW8krc0ViqJg6Rv1UiN2olUhan1Fvk3v_6WvNdYlqJh2D_Sd90SI0NjbJEI2-VkAy1_HwHuQfs7UfeVGVlSJJu342Wq4FG8K2pEFcspv3t-G68RXwMe9GIexLYC07C8p8eUo3jP9lN__JJNK_GBWa1myvezD-rCKTsj29PCXnhp0HVNd5G1A-thLVANDXxSnxDTM2IA30K9FN2Mt658X62tLiFaxCdmMjPBNng2H9bIGsZaGDmOSAfrlQslHwMfNMLpnYYCReIIpRyAZwK7QSrydb7uWGqNOqzlk0-Z7zm0X8obra2hwyH60vXFo3S5SJchjagj-NtiF7x-jsGaLvGTB7I1OYVkJNrY9rwHKO-VK9j1I7f8N2VVw_k1N3mbey-DbGgejY-K7bx3XhzqLZZwCeWr4Ice37yq3C8cpBAst9890pBW_CRsU5ISSxvddSplIBEh6Eg-w_iKlMprXkZDRbwBrBRxh2NfvlGeG5aySxF1fLUQREhpTna17gyI8u3VnjIXHJ-bLOj_c5EEZBpUa6gMTj_r4X4t4fWkayYh7u8qn1fi42XN-c28vWGw-KbT7pFJX7OkTmWOOEpnEFe6rzVdYHleMhj82V8yhd3g9JSoQuc5HdNnqsc_2mlr83UPuictnleTLhlv_BCc6dANA3VUqMQLbMnbCXKLshS0v6fvRWz-G8aK1lAp1ASkcBmW9m-b1khHL4qvaBmUqhuy8BQedZ6s9WOHsVdu9D3NkMB42QNuYF5bqQhRpa_sakkPelsRQboSwsBI8hz0jUkz197TAD1xP4AIUAbKAENeg2FRg8p3XllRZO-llP0UKnHS6SmCSs-YvMhUnRPOSzQrAnth44-JwY8-71urHwOw2xKmhnEn8qkg6Q5U5Ozlp8VrB7GB5eNOyN07fKDWVuem-TtSaC1ilhnWqQYyIGHVRRdOZgxkVbw4SajCfYYuolfN48D07W4xNKJL6Vlq4Fuj3T5vlwpYEv85UOrEdnu155ftFsv_cm3tSI6kznZorl4lE-VGD-Rx5UfdVjm_oi0Oieq2yfld_g20Z-ZY4EJOP-oSr5EtmP6LvAi9ALVG8IskY_KUzfmSeA-0r6DwugX_A2l-pD24C5ag9IjoaHhJKKpkHiAQ4IU8jgcDRoHp4lIS-aZSbDSVATXYMJcaB83zFIRwCHRTOSNsw9KIHGyzAcgSxCnSgkog_zGGAEyP8N4-yw6dwGa1ikxdXRaUh7E6psIlF15nhN0t88WNLzfAakv7oQRAvn9AIQpnY0PTDFR2a5QAW7xpI3kuPf2YueyBOeazLU-NaFIt-BzAj_dQGSwMaQXcY1ViovnhEM7-NAQN9xSU4BORYg50Nbo3iq_zLDrP76yz8ePdm9Zn0uy0RQ7I2uwAjzG612d99e8en4P4wbFYJGUvobrKlx5bFc5qmkIBo91EeOlb5kJBs4R4JPL-14hI8S_ltDfID-7YXz7rG5y-7BjkeJqfFjoxuV6X6y-D2cXyiuSM5K9PL0TCBAI_nqY9WvmSRlgtc7OptVctmv3qIwfk5k2UG06hAxNxjHkD8nDY-Pcd0X3JQgdeXvVmuikGVN-xutO8WGp-GOnXfavQFyMZooJmAEf7StYfmGtvGpYluL5IPWMKGa7yM5sgla6zwo9PxbPDfL49xDdPJ16IlGi749YetKKda3bRc8rhzkZdPp8I6Q59Ic_Mkm6SMWJd8Vf-572o28fJOaiPvy3NtXX2bfTaOPCHIozB39VB0Dy8exQ6fhr11r5eCVx63wZHItLmsBF_WKG59RLZvK8pdQCNn0UcHu7UzbaZiVpV_Y9JoYyb2CReF-HQUtLjoQgixRxLH8DlzdpWkm9XInaxDmBohX-U7IOB5eLYgGczlqYn6gbGeZxxECUOhAHwUScNBvgYUCye1vTTlU5MLpLJzBoLghjgPhZTEDTHKagAz3iGeG0WgJNhnHWr07hTlo9G2kR2C0dqvH-4oNyICHFJN1Jtk_hUN3tA4js1JuAixGg1s8h2-XCAIcyroSK9j4MvURV2SduhUuroBoloimaWNBBlJqXN2gP6ag61yf66TYZ9KGbLn3k0BjdVaKIUKFfLuh2b0q4Yq_Nv9cAZyuJ1x_dl_yAe9-Vs7vrFoRdXVcOqMo3dQdVV0-kANzQIR1j0CNDrnHWIjbK08gL3VEgfBt-to5odbbWog9uW_kNDKyIF55xI2kxGYaPks4J_DPY6UW6jC062WOW0eK9doAXopvk_BjNrvzHtFVZ25m9-MRzwKaMT0NBxpaE0YMCPZpyAzrhTqD_6RG05vosJtIbppWoe-nQvkrBKlnd038Ypmv6lUv0bnuY4oZRqqvqrsa6hjq-l-vZ1DyYz7YSEV9xDsf2UGJRIe1enQd4AbPqmAe4riP30JsdfZqc1SQjTVqmDjsw4JMABSQ0cMj31cJzsVGuyxx4E7XRRU6Aey7OemO48L0FYQeXr0mlHH7FN7AiKfPw7fDSMf3pgcl6ck-1Lvr752O3f6CTSSggf3Zqt_cRoh-vFoH2k3BwFwRwHr7QuTauSiKuSMfh1UEWWSFfJAGvKPt7DEuluJqSoNndjiqihvjlSJqqXEyYjT5xIjxiH3KkFlWBd1V9rCtvFhDUc3ZPjW7rH7l_WC2zaDsz9tBTtxtg46wjzBSOF4YE9tQ2uhzHzGuwSkLJk8JQxW8wOlVGoXC2HYHV10Hc5sMzXIfw87ibXEKY0Oxa5pP7D83ZOExqcrrewE5_vpejhnemEsBVFYjZGPFjW2iL_tymIo1ur6Y2hgFNpAByEpwEoPPUUH98YZP2U7D6tacfK5y99m8G867p0RSw20FvytBN1ryABXW4K5ErWD2nZlQwFj5KzFrJJpGy_Zj1pPHly1rgQ8wZUkIVUFMMoUsUHRN-G7R0qN5vISEldtoE_0EeeForZ9BKeOqdbKysH9xvvpt2BMLnL19H-RZPgLJmrO6engJMlGKg5Xz5u6jx4LHVXNKg8L2fKFqb9537Yj7IuePX56puJH5rLD0vz_yE1E1GpEwcNKLrK5qj8JnqpH3AiGu_Yf0ba5dJXPDH5YsHOCGixaqr8tcxW_FmIo13f4zkbgeaE0cU1P2C5u8y7v6dWGLtgmOfYsLlGniewd8-U211R6GpTsU6xlvqApxOs4GaxNNrDpg2fqZtCoSUW6gKg4fvEYNvQ1Xs7tnV2JseD9umIoKdmssc114OfkoDzytF9IHBTv4lm64cCvfFNZg18XhAIHfC18gk_lQETQTkHLshUDHSoMnO8z2CL6Z_IQLDZ6IDyB4oGrrwiB1oQviT8qSiGJiSBSkcIWWLOuFZ5V5ECIv3C65GqGpNm6wyDcwlyF4akNwGAD3mGpKXibtBZu5giM_h0_kaAfCQxrHGHDMvevxKLK5ieSF2OcIVsf6JfytAtRNypiFPcqCVcdKK9ZA7xECUKZM4A-9TZ98gZIOXoR7aVlNgZGvZFz_A1-9IaQRaXPJegW7bpExul9ifHTDBhGqe19ihPuvljsLQzgprHfd1Khkd-9llO0IsAnsRyc_V1ONc0B1HoxI0wgH_i7qEso9Br0YBpSR8_1nSkyrO7Bz3N4PHY-GzbVFS6TUn264H5iuji0kCvSPtqA49sdNzEiQN1eN5Nv9k2wqdrlC6nPCL4GcC2ywrVvyDyktCB9mgvWjK_9u0knEsQdi2rmkMzDIjatGzkjJsk8aE0z0Me6M_whUkBHzaJPeOB3_55mq6yyP9CrZfD_LFxqTWImNHXdex4s8wlhCo5JiH5Fsjb5wf9V9hS8U42rn38L0cPX0p6sykcovLHkj_rbuVbGOcL5FmJ8p4rNIOr_uLqs464hPiDPS_4HzewQ2TwP4-ViDAh04SHTQOMI6uxsetg2mgfRhsi-vj5oSJw-HiyHIK0a231a1an9kGZWurpzheq9LCgOb257rTf8vVMOSuuHqWfRiXR1KM8Biw2uiKZNVhFw58qAVtfNKOwY8Uu8L4o8mxOgLtytDqzPV3wjQrzTjbGtq5K04byGZ7-HHlT4we7gMjEaOARQwejViE5D3Qvmo8nhwyrQuVkoOc7L7N09Ol7oVHtLW3w6jS8icpbbqa1r-E0Qg2efwiw0OlstmWhwQiH7ZfVmggriLSGazfH6CwioaDApXPYyTgfzj2Euu9Fq38tTVYxvfgH2YdXOnOAVJswOUxMAMpjNjd6bm5I_mhuR-cNewTOe4xgRtrMKHjUBUqn8UbQVDbFU-gMH-rpYzdNjRTxOtu1n86xOvMij_kGRGB-1lAuaLQcDRP-0I4inGRFuerYFfHNH0HS6WnuOJOmMLdzYvD-4IrwEWuEfo6is0prrlAJdt-F3m-JRklJNnhGVuy34TI2DocXbp9qfwbpz8nlRA013nBvLfcFA7sIf3eX64H2g6n-fNn6q-RvVAASVBZFyYuh-75OlAl5pd3oZbp899YFAVZJWbPaJ9NZy6lEuwtMQSd3Gt7TBAOTnWMPbZE0ZwHpvXJqKTdXmKN91PkUb0YTD7C56ICjqHewRtbQWeoo_19hPTylXHf11XP33DKfTe1Xzy7Vnt0drY6XCGWXmugNXDa6LiFzhz517X0uRgI1AiiEHR27VsI-4-6w13c5Q52nGc9Kja18WQcNoqcO1VlJ3v93rrdWfHqP6HyuxXX0D_NyFKyl9GH-uNQ8GihIR8Lt0uSUqkzMEoXqZsCgU4_GWiF5KbeAvoaM5bq08HL6x6tYK0blifHX-aotQxFKdBQXZVB4d7cz2koyyL_vX-KM9EtxvY2CSKcszBDuPuS_BT5BGC7oaiyVq_Uou3V75BiC3pQkRnAIsjm1Ncn0o6hmaUxxGyWfAzBQdrmVTdnO837guiCKwBzNx9ghzZ8TTwGuqVUBtsVp_vXu2ZiiOXAzVRw0tWmxMsKKJ_LbGE8ptLG1lxYPqMZsAgo8LC8J2BZ_HYULxvHWslVNLpE7nPFp2XL3jKVkfK1hs6t8YZ0aJ2xcDdKSgUoeJTyqRMvvmHWWeVxkezGItYLIesGH9-dcGEePYrC3uQGh45dzLlE1n-rF-Ao91ZpDhd5C1wwz_QDiCYMaBa215DDYlIycVIg3UTm1damSP9fmAtvmSuRO3usCF8CjqknQhjdzc2GwP-TVPxGiJ036Zz08Tb7_gXd7maGHp36D3FZEoTKLQWiUfJiTiVXyxURTvd4R1wiX2bQ8TWO2E3o18bV_kTSwVeTdNx-B1qk1Q2cLL3NIfCrgo9frzSF0J2SkmnXapjTnFaoovjDiSGUe6T-yNDik8AUbzNyNs-j_Cp75_q8ul4bluLUL5cfAewx2vavhQ-F6nMiBGhasZ_C3cH7iXLKF-8bt3HzfB_oPkx87TbKE0mHTRgAfOoelBX1vz_VlZlyuOrTs4P3mQ3n78-z3Si13yXCdarW22vk2UywPhtyrLXK87BPgZI_Xa2eK8dUm3zFsZTFsS_StgID9uwn5Zhn6NRYpwqJLiKTmHdlOEuiuO02C2pxqhjdfqhJYXrpy3vhL9B52lIUetLoRS8XC8TM7JOzrH5naBEd43GT5W0crYhIRj57X0QkkAVLx1qtT3l-YSfYNehSaZ9W1EFnW-amY56lrGH-a9NGXl25UUNd3YUuqSYUcDDGdhTyNgx3OGfobnMDXb690RZ2_eeLIRQSO5egE16JhfJxNAjIv0FO_TUu7x_Wv34fzhReROTRrrOtdz-NmxRV7FN0UJu9jlKdTqWmo8fEXx8OI5SPNN_LAkUpSfjRDV7W5L63YJzY36rnulRiF5Qlmzmh8VfQU07D2jgDA6XCBMiqd1MMH7zf9lsGbemkpLXGxn2xwzE6wH05nOWMCejZNS6xXeb0SM3z1MwBqBPUFvJFIPwkxLlK3yG83Wan7bDSbk1ZTQ1A-c_kuJpGullEH5Tyj2fftzL82a_trpnDoakEnDHdopa9SEBsRvma1_TKyoUJ30NdoYZRbD_b1VkWOTxq2sZHzfK9xJvu12PPnPfVOQUVfSAQYF7A2GwjHbBlLi_olDCAzex9knbHZ9VSylwC3YBpeX9mLZVJexQh4hH8Oq8WIqb1OLYQZnmMheEXb9gk5j0eMtj9qke-D7nL-ME6x59vTRv0wv0QdPfoFNcMbi53pLCsOLN4IbHE2qJWr6I1zJP2Dwwwo9J73lEmosgmVvfK5MmV92WlvzzDxfbv4igc2moeEZtqx85HcT5ukuBuYO9LJCDg-Jnd_QpWWqnlE4jjSBenxRyuJRaRrmFjS8hKhAmjBMDLypzAlAi_ggj_wW__5B93Bw9NaAKE52w3wS6GxMwN4sE460rkedhdwGVbi_DYoMEvhc1bimYjP-FK_JBsJPyFaxfupke1GiZDnOSjWrd96KVur7febp0TeIu4_xyhde8OWPH4xfdRl9Bng1Sn5k_Uw916RyADml2NDpJGsKiPoV5mmkiXWshA1-9vqA6IVArETbph3aB1e5ua78GsOtvNbXx7SFLTrkz-mOvkQh1nBVuYJCiFtq7AevqN8ADpwI2eVHIGlHvjG8bFExn1VezmgYakvVqU1wRdsx7Vt5OmBM1so3FXMguzwFhNMx_ZkaHkfP49OtCwKb4quFhd2oVJA7l2DpU0uU3MkqqgeTlLrBdy90My4w8i7MlxKE3VuWay4FOv1ksKazVhDN-DGMzCajbnv-e0BW75np1qK6xS-ZP5zTeWvu9pqOk8kgBD2l3_l8zUBm9OoP_nzFlBNVzmB3tzki5pvUw24KJLVY2b0zKy5KgbhdAOmFN3XTPMQK7X96VIITWTO3G4FBQ31D3DoH6w_WvZD9R6zI_G6J2fTxb0ey6X0vd9Tm4y5a8LKAoUtC3J8wFlX5M7EIuGRT4wfu1W4RAcxKFog_HTZnF9vJgS7_rdSPQP2MDx5hzY80OVoa-locvqu6s2ToJcFWv3GAiLTPLHPwfSoVDw_Onb7KnY4G1eIIrg_Xxmqabqbzz-p8MwwN-LF5PhfXBzmHel9kdA1I0jEWGS-DBj9IT-EYZWiSA7MoPKxRpUpmGpc_RXOVIHATMXOOd3luCWmBiX4Ae6CQCB5MAMD6mzb3CoiJjp2Y2p4DZd_UOu6UPy6ml9Kdr9XOu1GfX_0XjQ7VXvr4IKBMRD3TuS-s26fMXnufTJlBpLADf-szgv2I_eN23TaNLkOGyxgEjE658kBtc8RJSxMLChrf2cXgO1SMjNuiaZRM4MYqCe7fWCyvpbeUf_USDAzHzg5xM7BW4QgYOztDNcUbMMt2uKOlaOj_rUMlJMEouqhKKLLddkwjmccenDEfaapnzfQXTbGN350-9CCrnIckE8L9-8WTCigGrwOhb_5BCrKtCmJrnzz17BvV7q40V5NO_CTdvTIlZmdp9609coDd5t5rdy3qyy0899GQNLnsFSO6Y_AqG7M_sP1LnniSwwCKNokOQpBnGSiGm0aAaGXmPm7bKhDg_ZTz3JHbnRTDxO56R-aQ70Iptv1a-BIWRPGGc2HkGS1XfnS4urTI_JbIyyDaa8Ox3tU0Z826kqOwWmPj1C2ka5y2xooosnysP6VmPwjD9SorM9WtxHHSZmFj8dp-cyt9_QfIAQIeubfxtiyaO0cEZVlOXm98_EWxMXuayZXL34EWk8yNE6p5U5jFkJsm26o-3yTqu-8js1cHHs7jyfE7xWG6fH9jTUR7lunLeDyjg8-rzEyD8nFQOd4CubqYiJuV4yyfz4xwB51fAuiPn5tsuFROnYLQ0VaWAZKGZ3pFXzJcy0WuSnyEdBf8HIj0jigB0HB7dGxWpADYTo9jlMD2IvH5OOWXomUg8PACS7Uqxvcz49vAZBFnuygtF-YMOOcpgHFLuUOlhy743zA4lPlPhxcKylHRGNhRD5SG_o2NFvI6YS_fubVAcG_LJctdgwmEEprUTk6lY2bwJIrRzdFtaeD0ThyHGlxW770inRHVjyy68qK5hOg0PfXFdBAuAovnPBDR_6N1372kKU2wBHIDhADXuN1BhJL6Nrq2VcXINQSuv9kVjSTgcGa2HnG683yK95jhZiiTd0361My8FaAznkwdIROvbliySLrZOvlx69HvC674ikLJSXiohlq6u3Up_aT8pjerMVYBpnXD_z0Drj-Klh2QfHJ1QAn5Pa797CGN8FkkirQCxIcf4msaeUfG0KV01hOyPp6Slm4ILGZTE9RkvoE24oqOs1X2LpvBUJiNI3H37E3Qi0poQ2Gvqk_5oMln7rheMjZV2SR0h7nLNKcR_ppHZWSnxz4LDL2Z0mqyxp_l3oqRMNaD9BTrq8YGI-9TsO8dcUwIE25A82C2eIb32VMMVaodiBMx_kG-PPArA5Q0FZW86SNJJ9VrqO9u9nW0q_V-hsXjcT9JxRyYeAbK8Y8ahfvhERnLpDMKJL29CONKbLSdszomuEHZXq0_eXteJaSYRCsL5L5F5R_9rOkS6k7hf-JURu1fGLmQwR_QkNxrYjeXrfgyxU_PzUFq3rMKFDQ95cA08IcdG0EKQ-L5N2zXSO2JTHXHEZtgV3kX2kcKLUwYyfBh4UZHFuhCXkD4ZDQtWPOCaWA34nVRtpLbhg709wvZbwJdNmrmiBez9WwxMWsHxbVbAGyMsr070X_47nEq8hTCb0_P7W3CzlIYx9laoGiw8Jc3zAthG0E4bM67FPG7uBrtkgTEbBSn5vr3EClKlZkQ72NqP2gHp4NagYJ7-DStgeLKchlNT_cAYVZD7KronYn-q8diBvrbN9Fp7SsOfEVTtB0i45m9XbV118fHnzx4SxvbQZXyyVh6YMKZauU-kf0mZiN34pPE74TMBnKw9p151xnBHAqQgKVH-HM0P9FHUy_peX6xTlWxSwmK-dfGllDXdYUp-M6sEMt2aSH4Ob91UWwPAKnarfppJekhlw-42aFsNwZvNgdWCpNLFwpAmxbeTI9fpm6iuzEQwFVlizwsxU-rN3m1fPfHjDORvtMrNiFPuqVGSulZxpEaCTKNj6_5e41U-HAyHBgqysJQLQVoULWTY8kBTZtpEH_4bOxx4NlCY-K2otbQncAJ6AnoLtQ-FbvhRQ4vMc6EmFQuKw6KV8a06bxshjviQsc8Fcj1liUDH8e5M22w5XaA8gVAKw1ki5AiFZTuCGu6bmSzxYxo4RE0nmCh5jdbWZckKz9OEQnmF8ABUgBN3kIEIx0hQBqhAoe8NsMQQ6Uup-1WgK9oubdsYo5lDSp0a_2UnivuBSgoRz6viCuz1N1a3XOV2sVuu6yT4cIiWyFHGTM8152EPGRXSVqElMTOyb2BjxMXvQubpiKc-w0DaM1fjEB1DQPFeLQAbTKrbP2NBWiJab4RaFbd1I4296psHhN_f0sEib9xyNEsnHLJ7EwQXKenHM8nuED7JJG23S2dZCiwvSjybR3GOvUks4Ws7vnorj8-36VjGFSqrPWiPe9Zk3x4PkUjmzgGJehl0hyEFPlF0HK2y7OsBJtW8tY5-k81dzSkkowdew_jaRV5q-an2D6DOu3llUM5y7mQMOzoU5s_kvgRTzDGHj6dW8P9_Exl7rCXb4AVfTJy8Tdki11M0cjq3xRVCJVTjD2yF1Dhn1Ms9e2z008Li6HaTqDZutxirJC_W9Dz1Wbvt0hEUif0N6NpG0RUr4O89EfvgMrWWAEcNYtlSGUqcrqxUvS4ddTVRoaftzI7Qobx8Gft9PLPmOSvqLmJdXGjx2ZAtjAXz9jQbNVx7uL4fMifiC2dWTPm8kutPA0fhkTr3EFphfEtU-6Rqxwt-c7QLz94VMEDNJ1hAEX8YOjbno2dXjG7xJLN5bW8eL0rwHDvHiXjzizD1NlvltRZ4TfbRcjfHLzHeJ77FsEeNYvA97ugKEQ5qiWol5JGdtgEGjC4DaP9gKfLOlWno2aB3klMnj9nwV9rHB15ygC6Sl8xswRt0QI2Fx9qnp7g2eeldq38O19JyCvagU0Hqdw-eUXv_-G9gBBU31wvnAqDSkvcKWW6VXdJjLH-ATRUwZnTwqrBoyJ30SVKVuhdO6YTgfYaJpcyJ3aXMEc-FZ-dEygie6x1yQDp5UflZ0YkvleAaaC6_6vbJe14kQzkm-3G2SWfIjbc3ap4Hi0NNsojEpWkBNUF3Kc7E_xEzRq1rouqdfXvuQHe-K_H2RpmPp5ptmmEDuFOuO5nHnJf4aVxwD8swyB5Ydcgtc4fDwBDEvy-LQHhH1Pn4b3AdWNUwnEgnvHrgE9qMgmb0A5q2b9PklWxDpLZ1KppvjsgSE6OBrfPAbaoz0M05czFQZy2I0--iLJgBzN2F4d28wJzdtVE-ldkoFooFO5X-oYGkKN6qC4uQs7MLQYkcdKLR9_L1cz-Y9o9hvqtNopKhy3LY0YyrNjSTn0PR-bnrqYlU0cwN2zWLMW6lvJmggg1sTbwVduMw9bJoZAV8PyYQjUpIeL-ua6akWR1IyVs56nm49UUwg7mxHZ87cr3lkXhYzFHNzgFIGwNXAJO2zny0LHRIEKgVONQbMRfxpBxgdRbTdGJEkdSG3NgAJ6GqLwNE2FjlXsPhEVPWSJqe-Niq59ibiUgdWjt6Z_eLhz1SqWmz86-nxZxJ7TpKYCndM8OLlfZjN85QKOoCWvQ0V2k29VZl2mRgqqpP8E6zH-04XHvwKDW-95XbsyKJUTI1GwmoSNzXY4XUCohdndw6bPp-zBG6togEOm-o7a2Dxxo3xsFkAmMIIwQfjJP_tTTVCO-N3WJswkFNy_a7iFIuote2_9WUS8eX8TF-7tiYar04ZzYmiraYKl26Jx_KqNhXFlRkhwsga752E-N89ShM8DmoNQ__nXEjep-6UnRKMeWn4Me5ajRtTusnG_7Cd3uzKXl9d1OOe2Py5QfO8O_LiL_Zff7PYeQO46yISNrwtf2kpkNKHa_t8VmGSOJjLgc-oMV6MeroXFD8xD1_18f7uPpV0_N-s8SsT95heGswaF_XUOdDkhswL9B6mfVtzbYDvzZE3nXnaBuvrGxOKLcT5R2XS2jbY72aa1b2QIrsleD-rKBz99LcIvtWLKyqECZbs2xa-IWnB4Rw6ugRMvqJULXbHQNHCXfOS0p5fTc41G0JCEDbHYYW4cw43jUkrM7FBOaa1qI5XQfO0yv_VjmxddjqQVIHQ6tmELi_b_tUYg6Hh9hqLK9DgWmtq33h1JLZmmQvvm3odtPmbdWvMfTvkhSWkHyLB7UbCJvseO1YJYaQ7TiDNihpcjCEPgPgF5tuoaPC2NrT7XrAmvzrzjkGy5nItv-qGrBz5dUi0GEWzLKcv26dMes6qM3fni9Bc0_KNfNF8N6_Q1b0eGVbNEJwRFkVJ0gsZ0SuiXnI4zlHxmCY66lD71w2C37PabFh2EB0bppe1S6VPhrXq4CxATCROdFh6jcATR0z8axox0YPfJ5Ikly8WdVUMUiTeAYl5dvQOkWz8h8JF9HX4UBMzg-IhYIvN0YYS8eFheP4-WeBPTBv-ebyUkjnQOPr1CMNFdyclYE9FnQ9pTXDdPlNaQAVWAzyEPEN66KZznpGJ9WZpe-H47U3E8QxARSo_g4BPMgFy1IWBkrpbr1XvB4d-Cm3CEWismiVKCLYzRZC-ETA4r0CFfyA-4yKiGU6DeMoaEVOQwrKBzOZa4RzIuduXm_ff-D0J9Crus3wOnxi9qoaW8mf7nUgToBLps3GbMS1VeF8WhECLt7GaxoaMxKk6Rtf-VEASCascwn56YA15cwPw78Mlx78IyLFlOdr9tFjPjLJYOln4MbkGNh305pc7B-grCCZv_9PPbnELrto6i6BGHiPrMv2Y_1vK7n3CYB0aByqiSqNnHGNiqAn7RTkzuOg9Y4Jy2lqbupEr2x7RKlbK0iZnfb3NAvLK87p57YmrSJfpJfmF0DV8mSv9EsRVTIx9CEQulurZu7fIakEkIpANIwdSJHfupo4DT3aAu0eswH3SxRDTkfnaQLXsWExZAY2Mws_GmRVsn_buE_wGtoMvpzZRlcAR2nK95uYAZiDk1X36YvQK4mpbUYJq1-pjK3VpgXlKPVt5tKe-k9RXz-xMcDwGBUR_MtbEMeIItSGmek6TdmQbXSTfDCSyTvJFKtw_AQJHgXgDOpdSZoXD48E6-bK90Q3en809-U_clS9sfRAZdXOb5JYJKM-bqxlEvvZm7A2QLUA_eUqrt6bht_ofhb3VYwexPOIQH7le2mJeqJHtGNOh8aRjaUjWEBlru5N3cK9vgQpDaN5OQZii12IVJQvUUGfLXxaCalYUfqUoXgui8VPJZVQ5aI3R6MknkP7XI5KEPjCyEaUpzF04oT2RUvogIL5_jywd4ab5XryuC0PhGDFNvPleqBwDjxZl-y8MX1UG3UbTJMMkt-FwYh-SRgKM7QTeHQV_hvHj1yL-DBk7OQA84Kry-jSPg0n8kFZNPkLcLZKWQMkjiYHfpjcm9y1IHq-luZpNUpH6KyKEDNodQyRDS7iADnpCVQj7N9przpIUzx6jLysxmis1XdYyAWkxBOcWHjZhLgUs2TLO1yxytp5LCPnnCyKs5vDxQf7CYM7HUOljSa-QBHgKlaNpPU9OWdgGblT6q6RYHlT4Fxp5z23MfuxrgcPCX8ag5l_Zvm8bbABV4HGQQGv_1ldIfsMkSLHu2S6iNpJ1IrYoWFHtIvYeGZy7KCw30iVc0qDbrfZ5rxLGkrHWyB0VEPLUXFHUjBOPQW4IyIayFDkbBki9Ig4hg5Z6oA2-HsySPOgGO7gslR55iTIs3yLmshBKBBR75RAosr1LGcxzEkGhtH4sbJ01dJuk-k0vkwdhH7eSgQhKoLTYGzCqWZnFrBIEj3zC7nXcg-uOd0JQN7Mf7qEL23RMI9m_uawxUpLy01y0ztQunnyweMuUg6JdizU6HurK908e-f9rOPeirxOJ4_CactoWaND--L0W7mXVkHzq0YgK4SUxja3nzAFT1BYdY8o1UWk0c_VP6sFrwSy5nllkRFosg1tihlpeJEIU-SeK6lVNYeexh-14cH91y1-p9ozESxdmWDLYQ5cU6HeSCBGnuj9gr1dPE3_GnRYY9wTwjpcKA6ppm7nn8EZpj1yG9QdSMQUpHydOV3gZ_QJgPoTYpqCsSsfdm0fPLvpM_fBv6qnQCiQ9om9EuxkHNSuy3sV5PBwuVaTR9JNP_gUTjefSbLuFYh4ykoQEvuluZLsQ1R6gPAgSpv4kpFybkHevF8xu3ZNZnFAAESuXgS3XaIsUeuDKO76v9_6zrd7VYM-fbwr4EkLPiTxzc368u_6J47M_A1djq4x65Wh7h5zIylSpLbpM1kUwnp7wkCjHzEl7v1c2o2tDGyo53aWnON31JLTAA1-2_k60n2hmH2ZlwIgR3aQTsbHXydQEmQW0Wtc57oJtkrbuGO4d-4YLpG_7FUmAX1HTsNYB83hR4p7xlSKwpYAPuS4cvlBoKqxEG-W1WO0iAlDXwg3oHgRp92Qt2fenIOn5BSfIDAs5UXKTMPYou46HOIiYuB1cQrNUhanPn8ULBTJoqpkGtX0zlPWYC0KxatBGMLpPaJhkVBJYr0wmCxLgRZYebaMpKtaJAJXTiTeaRrvlak2cN5fQlJicg_PnDtaxQ8Gg6Y1yQHq6nIe9HyODq0GQmmzuD0n1RfiE8gVqRDRYDVMrDOztFZ6f5RhVvswv0h1ANo4Jolwpugs5uYCteNps2XOIIVOczfXrnBExmpUsQ3OCCVyJpHrC7w7RpGj_zcVnw2C64DRl9SySCTZJIJAu8-X-ffYkwScn-qg06Ww62ULNBl4YJThWY7YRsaO-mwrcul3j0rLLgXmowY6buyr2rJLVc2wd354AelidwE-Wf-AIfsrIhajWgMe0AjlxpoOXhCdIrDR8ga-wFyjSFH5VlK46pdeXHIChXXG9h6u8aHAcVkm-Ow32UL4UiJ6ssGNnYzn6zyTrhA2y3wdrF92cVnAEZi_XZzg1ZTvORSmnZtogkU8gUrjia-xedqnVqQkG-QPrCNaTueF5Qa8ag-9xr7SNd7RMJ2EjHJ3BCRuTOF2pYhvcaAgRC3AQo5QIupnCAJ4W7jDTEe9zVEsI7VrPImvwTjsjDFuw_tiASGVrP4SXesAfG6n4V5Zns5nBrx3WS-eh_5wxGOiFT2pUWKejOnOqcmOLTtxfEFk17oPNs8i-sFRiHuybcd43QLLg8Yuv--T5gDFlQEw3k8b34TcAChFHktdycyN-MMcXUnFvflji49DNd7k7JcCqlZErXV-4ScDmFBIQYgQjRcajYo2RRFSM-8JONFhFMjJgd3kPzxqctrwoyds3squpuNSnMsZckoHoz1BVtEW2FMcjf1javrI_rRzPuB8ecBRPCmk8Ah0zRkV7QJwhddsrbI83J1TOiMgAnIdwp6acM91KKlQmdt_DbAotl79bdSCnkIzmHpHH2UdU6mcefDsgPBvc_qO69EKQb-c0TCih64toC_N0tNOJ_-5U1vpdDKs8PGSVgUUVf3XrgvRYhMtoZEfd7ehNjMViVp6rVhydK2WXoeOuXCG_se6h6ugRIL-i9MhTwxnG8ybaLsS8H_4PGR1_mxi9jQ4lV5u9LBnXMJTJOf9hOj8ygKUuOANR2zV_ShjKw9HXGHSeotDEjYCVk4h0kTrzTEZzSPnl1SH65ZfxDN2y5Z9CNdDfufuhLCoXeoGGl4g4oNWWg07tQwNqoSVTdQWyhbuzVZvMjNeVvUJ1RsfDdeE-d4vPH2Zg1ppASIBlPa-4nlNnPJ4qsYl-s7nDske7y4j6VR-crdKvZ2j5Yk8HjEY6pL2vN1Z9TRoR3e1QNn88Hltv6CLB_d2Pci5LVTRTlqlOBuNNv2Z_z0Lx-zgVoLFLeF7W-nsZo7WpuK6etvo6lUvRmfWquMRxnzP-2q8xnK8zII2ZSt8xOzUkM1LZln2YD9ER8CgzuvOcRgNMzdEjtAGNb15XDTeAz0HkW1KyaTslxwMNxkGGH1GYSkC5sSqE4srJuz50iH69ZkjD3pxZDt3QF7z7-jU0RvRMd2o-DUdMIcyET_8m3yKB8CiZ4sEf_bZ7dI75kT_T3wZhT3DNXOtMDaUm3EcAnVp4NH5RMdK-gN3kgADUsaDk86SUBNp9748NSFPNujuWEJbeGoMXgryJi3KS2rvx1ldBQEJ_P5PaQ6gj24fHrtSs1v6KdUf4xXSsW2DuxN4MOdQLTHm_H7PUli7_PtB7gsIuDkVGSM6-OASP9ykjXScRqNzoJP4NawcDR8iVR8LVHs0rF7Mflg";if(!e)return null;if(Bn&&Bn.sealed===e)return Bn;let t=null;try{t=Js.parse(JSON.parse(yr(e,p0)))}catch{t=null}return Bn={sealed:e,bundle:t},Bn}function Vt(){let e=Ou();if(!e?.bundle)return null;if(e.runtime===void 0){let t=Date.now();try{e.runtime=Ws(e.bundle,{signedAt:t,fetchedAt:t})}catch{e.runtime=null}}return e.runtime}function h0(){let e=Ou();return e?.bundle?(e.keys??=new Set(e.bundle.filters.map(t=>ce(t.slug))),e.keys):null}function qt(e,t=!1){if(t||!e||e.length===0){let n=h0();return n?new Set(n):null}return new Set(e.map(n=>m0.test(n)?n:ce(n)))}var p0,m0,Bn,Yt=b(()=>{"use strict";Zs();Ye();In();p0="tokmizer-default-rules-v1",m0=/^[0-9a-f]{16}$/,Bn=null});function Ro(e){Iu=e}async function g0(e,t){let n=await Qa();if(n.size>0)return Ut(e,n.values(),t,n);let r=Vt();return r?r.selectFor(e,"free",t?[...t]:void 0):null}function w0(e,t,n){let r=Rr(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(`
78
78
  `)?`
79
79
  `:"";return vr((s?r.slice(0,-1):r).split(`
80
80
  `)).join(`
@@ -88,27 +88,27 @@ ${a}`:i||a}function ro(e,{maxDepth:t=1e3,numbersAsFloat:n=!1,strictTemporal:r=!1
88
88
  `)?`${F}
89
89
  `:F,ne=Buffer.byteLength(K,"utf8"),q=K.trim().length===0&&t.trim().length>0&&(o!=null&&o!==0||ho(e));return t.trim().length>0&&(ne>=s||q)?R({output:t,filterId:d.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):R({output:K,filterId:d.slug,rawBytes:s,filteredBytes:ne,debugBypass:!1,droppedTail:N})}var Iu,y0,b0,k0,_0,zn=b(()=>{"use strict";el();gr();ko();bo();iu();xo();fu();Ln();Tr();yu();ku();Tr();xu();Cu();Yt();Iu=null;y0=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,b0=2048,k0=8192,_0=32*1024});import x0 from"node:os";import{join as Un}from"node:path";import{existsSync as S0,statSync as E0,lstatSync as Pu,unlinkSync as v0,mkdirSync as T0,chmodSync as R0}from"node:fs";import{createHash as A0}from"node:crypto";function $0(e){let t=A0("sha256").update(v()).digest("hex").slice(0,8),n=Un(x0.tmpdir(),`tkr-${e}-${t}`),r=Un(n,"d.sock");if(Buffer.byteLength(r)>Ao)throw new Error("Temporary directory path is too long for IPC");return Nu(n,e),r}function C0(e,t){try{let n=Pu(e);return n.isDirectory()&&n.uid===t&&(n.mode&63)===0}catch{return!1}}function Nu(e,t){T0(e,{recursive:!0,mode:448});let n=Pu(e);if(!n.isDirectory()||n.uid!==t)throw new Error("Unsafe IPC directory");R0(e,448)}function Tt(){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&&C0(t,e)){let s=Un(t,`tokmizer-${e}.sock`);if(Buffer.byteLength(s)<=Ao)return{path:s,isPipe:!1}}let n=Un(v(),"run"),r=Un(n,"daemon.sock");return Buffer.byteLength(r)>Ao?{path:$0(e),isPipe:!1}:(Nu(n,e),{path:r,isPipe:!1})}async function $o(){let{path:e,isPipe:t}=Tt();if(t||!S0(e))return;try{if(!E0(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{v0(e)}catch{}}var Ao,LC,Co=b(()=>{"use strict";Z();Ao=100;LC=5*6e4});import{readFileSync as O0}from"node:fs";import{join as I0}from"node:path";function de(){try{return O0(I0(v(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var Zn=b(()=>{"use strict";Z()});var ju=ue((UC,Fu)=>{Fu.exports=Lu;Lu.sync=N0;var Du=Je("fs");function P0(e,t){var n=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!n||(n=n.split(";"),n.indexOf("")!==-1))return!0;for(var r=0;r<n.length;r++){var s=n[r].toLowerCase();if(s&&e.substr(-s.length).toLowerCase()===s)return!0}return!1}function Mu(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:P0(t,n)}function Lu(e,t,n){Du.stat(e,function(r,s){n(r,r?!1:Mu(s,e,t))})}function N0(e,t){return Mu(Du.statSync(e),e,t)}});var Zu=ue((ZC,Uu)=>{Uu.exports=Bu;Bu.sync=D0;var Hu=Je("fs");function Bu(e,t,n){Hu.stat(e,function(r,s){n(r,r?!1:zu(s,t))})}function D0(e,t){return zu(Hu.statSync(e),t)}function zu(e,t){return e.isFile()&&M0(e,t)}function M0(e,t){var n=e.mode,r=e.uid,s=e.gid,o=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),i=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),u=parseInt("001",8),c=a|l,f=n&u||n&l&&s===i||n&a&&r===o||n&c&&o===0;return f}});var Gu=ue((GC,Ju)=>{var JC=Je("fs"),Nr;process.platform==="win32"||global.TESTING_WINDOWS?Nr=ju():Nr=Zu();Ju.exports=Oo;Oo.sync=L0;function Oo(e,t,n){if(typeof t=="function"&&(n=t,t={}),!n){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(r,s){Oo(e,t||{},function(o,i){o?s(o):r(i)})})}Nr(e,t||{},function(r,s){r&&(r.code==="EACCES"||t&&t.ignoreErrors)&&(r=null,s=!1),n(r,s)})}function L0(e,t){try{return Nr.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var Qu=ue((WC,Xu)=>{var Xt=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Wu=Je("path"),F0=Xt?";":":",Ku=Gu(),Vu=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),qu=(e,t)=>{let n=t.colon||F0,r=e.match(/\//)||Xt&&e.match(/\\/)?[""]:[...Xt?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],s=Xt?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=Xt?s.split(n):[""];return Xt&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:r,pathExt:o,pathExtExe:s}},Yu=(e,t,n)=>{typeof t=="function"&&(n=t,t={}),t||(t={});let{pathEnv:r,pathExt:s,pathExtExe:o}=qu(e,t),i=[],a=u=>new Promise((c,f)=>{if(u===r.length)return t.all&&i.length?c(i):f(Vu(e));let d=r[u],p=/^".*"$/.test(d)?d.slice(1,-1):d,y=Wu.join(p,e),g=!p&&/^\.[\\\/]/.test(e)?e.slice(0,2)+y:y;c(l(g,u,0))}),l=(u,c,f)=>new Promise((d,p)=>{if(f===s.length)return d(a(c+1));let y=s[f];Ku(u+y,{pathExt:o},(g,m)=>{if(!g&&m)if(t.all)i.push(u+y);else return d(u+y);return d(l(u,c,f+1))})});return n?a(0).then(u=>n(null,u),n):a(0)},j0=(e,t)=>{t=t||{};let{pathEnv:n,pathExt:r,pathExtExe:s}=qu(e,t),o=[];for(let i=0;i<n.length;i++){let a=n[i],l=/^".*"$/.test(a)?a.slice(1,-1):a,u=Wu.join(l,e),c=!l&&/^\.[\\\/]/.test(e)?e.slice(0,2)+u:u;for(let f=0;f<r.length;f++){let d=c+r[f];try{if(Ku.sync(d,{pathExt:s}))if(t.all)o.push(d);else return d}catch{}}}if(t.all&&o.length)return o;if(t.nothrow)return null;throw Vu(e)};Xu.exports=Yu;Yu.sync=j0});var tc=ue((KC,Io)=>{"use strict";var ec=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};Io.exports=ec;Io.exports.default=ec});var oc=ue((VC,sc)=>{"use strict";var nc=Je("path"),H0=Qu(),B0=tc();function rc(e,t){let n=e.options.env||process.env,r=process.cwd(),s=e.options.cwd!=null,o=s&&process.chdir!==void 0&&!process.chdir.disabled;if(o)try{process.chdir(e.options.cwd)}catch{}let i;try{i=H0.sync(e.command,{path:n[B0({env:n})],pathExt:t?nc.delimiter:void 0})}catch{}finally{o&&process.chdir(r)}return i&&(i=nc.resolve(s?e.options.cwd:"",i)),i}function z0(e){return rc(e)||rc(e,!0)}sc.exports=z0});var ic=ue((qC,No)=>{"use strict";var Po=/([()\][%!^"`<>&|;, *?])/g;function U0(e){return e=e.replace(Po,"^$1"),e}function Z0(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(Po,"^$1"),t&&(e=e.replace(Po,"^$1")),e}No.exports.command=U0;No.exports.argument=Z0});var lc=ue((YC,ac)=>{"use strict";ac.exports=/^#!(.*)/});var cc=ue((XC,uc)=>{"use strict";var J0=lc();uc.exports=(e="")=>{let t=e.match(J0);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),s=n.split("/").pop();return s==="env"?r:r?`${s} ${r}`:s}});var dc=ue((QC,fc)=>{"use strict";var Do=Je("fs"),G0=cc();function W0(e){let n=Buffer.alloc(150),r;try{r=Do.openSync(e,"r"),Do.readSync(r,n,0,150,0),Do.closeSync(r)}catch{}return G0(n.toString())}fc.exports=W0});var gc=ue((eO,hc)=>{"use strict";var K0=Je("path"),pc=oc(),mc=ic(),V0=dc(),q0=process.platform==="win32",Y0=/\.(?:com|exe)$/i,X0=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Q0(e){e.file=pc(e);let t=e.file&&V0(e.file);return t?(e.args.unshift(e.file),e.command=t,pc(e)):e.file}function ek(e){if(!q0)return e;let t=Q0(e),n=!Y0.test(t);if(e.options.forceShell||n){let r=X0.test(t);e.command=K0.normalize(e.command),e.command=mc.command(e.command),e.args=e.args.map(o=>mc.argument(o,r));let s=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${s}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}function tk(e,t,n){t&&!Array.isArray(t)&&(n=t,t=null),t=t?t.slice(0):[],n=Object.assign({},n);let r={command:e,args:t,options:n,file:void 0,original:{command:e,args:t}};return n.shell?r:ek(r)}hc.exports=tk});var kc=ue((tO,bc)=>{"use strict";var Mo=process.platform==="win32";function Lo(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function nk(e,t){if(!Mo)return;let n=e.emit;e.emit=function(r,s){if(r==="exit"){let o=yc(s,t);if(o)return n.call(e,"error",o)}return n.apply(e,arguments)}}function yc(e,t){return Mo&&e===1&&!t.file?Lo(t.original,"spawn"):null}function rk(e,t){return Mo&&e===1&&!t.file?Lo(t.original,"spawnSync"):null}bc.exports={hookChildProcess:nk,verifyENOENT:yc,verifyENOENTSync:rk,notFoundError:Lo}});var xc=ue((nO,Qt)=>{"use strict";var _c=Je("child_process"),Fo=gc(),jo=kc();function wc(e,t,n){let r=Fo(e,t,n),s=_c.spawn(r.command,r.args,r.options);return jo.hookChildProcess(s,r),s}function sk(e,t,n){let r=Fo(e,t,n),s=_c.spawnSync(r.command,r.args,r.options);return s.error=s.error||jo.verifyENOENTSync(s.status,r),s}Qt.exports=wc;Qt.exports.spawn=wc;Qt.exports.sync=sk;Qt.exports._parse=Fo;Qt.exports._enoent=jo});import{statSync as ok}from"node:fs";import{extname as ik,join as ak,resolve as Sc,win32 as Ec}from"node:path";function lk(e){try{return ok(e).isFile()}catch{return!1}}function vc(e,t,n=process.cwd(),r=process.platform){if(r!=="win32"||/[\\/:]/.test(e))return e;let s=Sc(n).toLowerCase(),o=(t.PATHEXT??".COM;.EXE;.BAT;.CMD").split(";").filter(Boolean),i=ik(e)?["",...o]:o;for(let a of(t.Path??t.PATH??"").split(";")){let l=a.trim().replace(/^"(.*)"$/,"$1");if(!(!l||!Ec.isAbsolute(l)||Sc(l).toLowerCase()===s))for(let u of i){let c=ak(l,`${e}${u.toLowerCase()}`);if(lk(c))return c}}return Ec.join(t.SystemRoot||"C:\\Windows","tkr-not-on-path",e)}var Tc=b(()=>{"use strict"});function uk(){let e=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(e)&&e>0?e:6048e5}function Dr(e,t=Date.now()){let n=e.lastHeartbeatOkAt;return typeof n=="number"&&t-n>uk()}var Ho=b(()=>{"use strict"});function Rt(e){let t=e;for(let[n,r]of ck)t=t.replace(n,r);return t}function mk(e){if(!e.includes("PRIVATE KEY-----"))return e;let t=e.split(`
90
90
  `),n=[];for(let r of t){if(dk.test(r)){let s=n.length;for(;s>0&&pk.test(n[s-1]);)s-=1;if(s<n.length){n.length=s,n.push(`${Te}${r}`);continue}}n.push(r)}return n.join(`
91
- `)}function Mr(e){let t=e;for(let[n,r]of fk)t=t.replace(n,r);return mk(t)}var ck,Te,fk,dk,pk,Jn=b(()=>{"use strict";ck=[[/(\baws_(?:secret_access_key|session_token|access_key_id)\s+)\S+/gi,"$1[REDACTED]"],[/(\bsshpass\b[^;&|\n]{0,200}?\s-p\s*)\S+/g,"$1[REDACTED]"],[/(\bredis-cli\b[^;&|\n]{0,200}?\s(?:-a|--pass)\s+)\S+/g,"$1[REDACTED]"],[/(\bopenssl\b[^;&|\n]{0,200}?\s-k\s+)\S+/g,"$1[REDACTED]"],[/(\s-pass(?:in|out)?\s+(?:pass|env|file):)\S+/g,"$1[REDACTED]"],[/(https?:\/\/hooks\.slack\.com\/(?:services|workflows|triggers)\/)\S+/gi,"$1[REDACTED]"],[/(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]"]];Te="[tkr: secret masked]",fk=[[/(-----BEGIN [A-Z0-9 ]*PRIVATE KEY-----)(?:\r?\n(?:[A-Za-z0-9+/=]{16,}|[A-Za-z-]+: [^\r\n]*|\r?(?=\n)))*(?:(?:\r?\n[A-Za-z0-9+/=]{1,15})?\r?\n-----END [A-Z0-9 ]*PRIVATE KEY-----)?/g,`$1${Te}`],[/(?<![A-Za-z0-9_])(gh[pousr])_[A-Za-z0-9]{36,255}(?![A-Za-z0-9])/g,`$1_${Te}`],[/(?<![A-Za-z0-9_])github_pat_[A-Za-z0-9_]{22,255}/g,`github_pat_${Te}`],[/(?<![A-Za-z0-9_])npm_[A-Za-z0-9]{36}(?![A-Za-z0-9])/g,`npm_${Te}`],[/(?<![A-Z0-9])(AKIA|ASIA)[A-Z0-9]{16}(?![A-Z0-9])/g,`$1${Te}`],[/(?<![A-Za-z0-9])(xox[abpors]-)[A-Za-z0-9-]{10,}/g,`$1${Te}`],[/(?<![A-Za-z0-9])((?:sk|rk)_live_)[A-Za-z0-9]{16,}/g,`$1${Te}`],[/(?<![A-Za-z0-9_-])(sk-(?:ant-|proj-))[A-Za-z0-9_-]{20,}/g,`$1${Te}`],[/(authorization["']?\s*[:=]\s*["']?bearer\s+)[A-Za-z0-9._~+/=-]{8,}/gi,`$1${Te}`],[/(?<![A-Za-z0-9+.-])([a-zA-Z][a-zA-Z0-9+.-]{0,31}:\/\/[^\s:/@]*:)[^\s@/]+(@[^\s@/]+)/g,`$1${Te}$2`]],dk=/^-----END [A-Z0-9 ]*PRIVATE KEY-----/,pk=/^[A-Za-z0-9+/=]{16,}\r?$/});var Rc=b(()=>{"use strict"});import{createHash as cO,createHmac as fO,randomUUID as hk}from"node:crypto";import{readFile as Ac,writeFile as $c,mkdir as gk}from"node:fs/promises";async function Bo(){try{let n=(await Ac(An(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(n))return n}catch{}await gk(v(),{recursive:!0,mode:448});let e=hk();try{return await $c(An(),e,{mode:384,flag:"wx"}),e}catch{try{let t=(await Ac(An(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(t))return t}catch{}return await $c(An(),e,{mode:384}),e}}var zo=b(()=>{"use strict";Z()});import{readFile as yk,writeFile as gO,mkdir as yO,chmod as bO,rm as kO,rename as _O,readdir as wO}from"node:fs/promises";import{join as bk}from"node:path";async function ze(){let e=null;try{let t=JSON.parse(await yk(bk(v(),kk),"utf8"));typeof t=="object"&&t!==null&&!Array.isArray(t)&&(e=t)}catch{}return e?zt.parse({...Cc,...e}):Cc}var kk,Cc,vO,en=b(()=>{"use strict";Ye();Z();kk="settings-cache.json",Cc=zt.parse({}),vO=zt.partial().extend({filters:zt.shape.filters.removeDefault().partial().optional()})});var Oc=b(()=>{"use strict";Z();en();On();Zt()});import{join as Uo}from"node:path";import{appendFileSync as Ic,chmodSync as _k,existsSync as Pc,mkdirSync as wk,readFileSync as FO,renameSync as jO,rmdirSync as HO,statSync as Nc,unlinkSync as BO,utimesSync as zO,writeFileSync as UO}from"node:fs";function Zo(){return Uo(v(),"spool")}function Sk(e){return Uo(Zo(),`${e}.jsonl`)}function vk(e){return Uo(Zo(),`${e}.dropped`)}function Tk(e){try{let t=vk(e);if(Pc(t)&&Nc(t).size>=Ek)return;Ic(t,".",{mode:384})}catch{return}}function Lr(e,t){if(Cn())try{wk(Zo(),{recursive:!0,mode:448});let n=Sk(e);if(Pc(n)&&Nc(n).size>=xk){Tk(e);return}Ic(n,JSON.stringify(t)+`
92
- `,{mode:384}),_k(n,384)}catch{return}}var xk,Ek,Fr=b(()=>{"use strict";Rc();Z();$n();zo();Us();en();On();Oc();xk=512*1024;Ek=1024*1024});function Lk(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 Lc.has(n.toLowerCase())?n:""}function Fk(e,t,n){let r=0;for(;e==="git"&&r<n.length&&n[r].startsWith("-");)r+=Mk.has(n[r])?2:1;let s=(n[r]??"").toLowerCase();return t.has(s)?`${e} ${s}`:e}function Dc(e){let t=e.toLowerCase();return t.startsWith("git")||Ok.has(t)}function Jo(e){let t=e.trim().split(/\s+/).filter(l=>l.length>0),n=0;for(;n<t.length&&Ck.test(t[n]??"");)n+=1;let r=Lk(t[n]??"");if(!r||!Ak.test(r)||r.length>Pk)return"";let s=Dk.get(r.toLowerCase());if(s)return Fk(r.toLowerCase(),s,t.slice(n+1));if(Dc(r)||Ik.test(r)||Rt(r)!==r)return"";let o=t[n+1];return o&&Dc(o)?"":(o&&Mc.has(r.toLowerCase())&&$k.test(o)?`${r} ${o}`:r).slice(0,64)}function jk(e){return Nk.has((e.split(" ")[0]??"").toLowerCase())}async function jr(e){if(!e.telemetryOptIn)return;let t=Jo(e.cmd),n=t&&Rt(t)===t&&jk(t)?t:"other",r=e.sessionId?e.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";Lr("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 Ak,$k,Ck,Ok,Ik,Pk,Mc,Lc,Nk,Dk,Mk,Hr=b(()=>{"use strict";Jn();Fr();Ak=/^[a-z0-9][a-z0-9._-]*$/i,$k=/^[a-z][a-z-]+$/,Ck=/^[A-Za-z_][A-Za-z0-9_]*=/,Ok=new Set(["gh","glab","gup","hub","gist"]),Ik=/^(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,Pk=24,Mc=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"]),Lc=new Set([...Mc,"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"]),Nk=new Set([...Lc,"cd","cat","head","tail","ls","tree","find","grep","wc","nl","sort","cut","uniq","tr","diff","stat","file","du","df","ps","yq","pwd","which","echo","printf","seq","sed","awk","gawk","xargs","sleep","tar","zip","unzip","rsync","scp","ssh","curl","wget","dig","host","nslookup","ping","lsof","journalctl","iptables","ip6tables","open","md5","md5sum","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shasum","sudo","env","command","time","nodejs","bunx","pytest","mypy","dmypy","pyright","basedpyright","ruff","black","ty","gradlew","mvnw","mvnd","ninja","cmake","bazel","bazelisk","sbt","gcc","clang","gmake","swift","xcodebuild","pod","flutter","nx","turbo","next","eslint","prettier","biome","oxlint","golangci-lint","shellcheck","hadolint","yamllint","markdownlint","mdl","sqlfluff","rubocop","rspec","bundler","php","artisan","composer","phpunit","phpstan","pest","paratest","pint","mix","javap","jar","docker-compose","skopeo","oc","ecs","nomad","consul","packer","pulumi","tofu","ansible","ansible-playbook","vault","sops","vercel","netlify","wrangler","firebase","supabase","stripe","shopify","theme-check","redis-cli","liquibase","ollama","ast-grep","just","task","mise","trunk","pre-commit","jj","yadm","gt","quarto","act","jira","fail2ban-client","ctest","pio","platformio","reducer","restore","read-tool","grep-tool","glob-tool","bash-tool"]),Dk=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"])]]),Mk=new Set(["-C","-c"])});async function Br(e){if(ru(e.filterId)||!(await ze()).telemetryOptIn)return;let t=Jo(e.cmd);!t||Rt(t)!==t||Lr("learn",{cmd:t,filterId:e.filterId==null?null:ce(e.filterId),rawBytes:e.rawBytes,filteredBytes:e.filteredBytes})}var Go=b(()=>{"use strict";Hr();Jn();Fr();Ye();ko();en()});function Fc(e){return e?Hk[e]??"anthropic":"anthropic"}var Hk,jc=b(()=>{"use strict";Hk={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"}});import{appendFileSync as Bk,chmodSync as zk,mkdirSync as Uk,readFileSync as Zc,realpathSync as Zk,renameSync as Jc,rmSync as Gc,statSync as Wc,writeFileSync as Wo}from"node:fs";import{basename as Hc,dirname as Kc,join as zr,resolve as Jk,sep as dI}from"node:path";function Vc(){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 Xk(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"&&qk.has(n.o)?{o:n.o}:{}}}catch{return null}}function Qk(e,t){if(!t.c)return;let n=e.cmds[t.c]??{n:0,nc:0,r:0,f:0,sh:!1};n.n+=1,t.f<t.r&&(n.nc+=1,n.rr=(n.rr??0)+t.r,n.rf=(n.rf??0)+t.f),(t.k==="sh"||t.k==="restore")&&(n.sh=!0),t.h==="shell"&&t.k!=="restore"&&(n.tn=(n.tn??0)+1,n.tr=(n.tr??0)+t.r,n.tf=(n.tf??0)+t.f,t.f<t.r&&(n.tnc=(n.tnc??0)+1,n.trr=(n.trr??0)+t.r,n.trf=(n.trf??0)+t.f)),n.r+=t.r,n.f+=t.f,e.cmds[t.c]=n}function e_(e){return e.s==="b"?`b:${(e.c??"").split(" ")[0]||"other"}`:e.s?.startsWith("u:")?e.s:e.o==="n"?"n":"?"}function t_(e,t){let n=e_(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 n_(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>Vk){e.ox+=1;return}if(Qk(e,t),t.k==="restore"?(e.rn+=1,e.rb+=t.f):t_(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=Fc(t.h),r=e.prov[n]??{r:0,f:0};r.r+=t.r,r.f+=t.f,e.prov[n]=r}}function r_(e){let t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function qc(e){return zr(Kc(e),Wk)}function s_(e){let t=qc(e),n;try{n=Zc(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]={...Vc(),...i});return s}catch{try{Jc(t,`${t}.corrupt-${Date.now()}`)}catch{}return{}}}function zc(e,t){let n=`${e}.tmp-${process.pid}`;Wo(n,t,{mode:384}),Jc(n,e)}function o_(e){try{return Wo(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-Wc(e).mtimeMs<Kk?!1:(Gc(e,{force:!0}),Wo(e,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function i_(e,t=Bc,n=Bc/2){try{if(Wc(e).size<=t)return}catch{return}let r=`${e}.lock`;if(o_(r))try{let s=Zc(e,"utf8").split(`
91
+ `)}function Mr(e){let t=e;for(let[n,r]of fk)t=t.replace(n,r);return mk(t)}var ck,Te,fk,dk,pk,Jn=b(()=>{"use strict";ck=[[/(\baws_(?:secret_access_key|session_token|access_key_id)\s+)\S+/gi,"$1[REDACTED]"],[/(\bsshpass\b[^;&|\n]{0,200}?\s-p\s*)\S+/g,"$1[REDACTED]"],[/(\bredis-cli\b[^;&|\n]{0,200}?\s(?:-a|--pass)\s+)\S+/g,"$1[REDACTED]"],[/(\bopenssl\b[^;&|\n]{0,200}?\s-k\s+)\S+/g,"$1[REDACTED]"],[/(\s-pass(?:in|out)?\s+(?:pass|env|file):)\S+/g,"$1[REDACTED]"],[/(https?:\/\/hooks\.slack\.com\/(?:services|workflows|triggers)\/)\S+/gi,"$1[REDACTED]"],[/(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]"]];Te="[tkr: secret masked]",fk=[[/(-----BEGIN [A-Z0-9 ]*PRIVATE KEY-----)(?:\r?\n(?:[A-Za-z0-9+/=]{16,}|[A-Za-z-]+: [^\r\n]*|\r?(?=\n)))*(?:(?:\r?\n[A-Za-z0-9+/=]{1,15})?\r?\n-----END [A-Z0-9 ]*PRIVATE KEY-----)?/g,`$1${Te}`],[/(?<![A-Za-z0-9_])(gh[pousr])_[A-Za-z0-9]{36,255}(?![A-Za-z0-9])/g,`$1_${Te}`],[/(?<![A-Za-z0-9_])github_pat_[A-Za-z0-9_]{22,255}/g,`github_pat_${Te}`],[/(?<![A-Za-z0-9_])npm_[A-Za-z0-9]{36}(?![A-Za-z0-9])/g,`npm_${Te}`],[/(?<![A-Z0-9])(AKIA|ASIA)[A-Z0-9]{16}(?![A-Z0-9])/g,`$1${Te}`],[/(?<![A-Za-z0-9])(xox[abpors]-)[A-Za-z0-9-]{10,}/g,`$1${Te}`],[/(?<![A-Za-z0-9])((?:sk|rk)_live_)[A-Za-z0-9]{16,}/g,`$1${Te}`],[/(?<![A-Za-z0-9_-])(sk-(?:ant-|proj-))[A-Za-z0-9_-]{20,}/g,`$1${Te}`],[/(authorization["']?\s*[:=]\s*["']?bearer\s+)[A-Za-z0-9._~+/=-]{8,}/gi,`$1${Te}`],[/(?<![A-Za-z0-9+.-])([a-zA-Z][a-zA-Z0-9+.-]{0,31}:\/\/[^\s:/@]*:)[^\s@/]+(@[^\s@/]+)/g,`$1${Te}$2`]],dk=/^-----END [A-Z0-9 ]*PRIVATE KEY-----/,pk=/^[A-Za-z0-9+/=]{16,}\r?$/});var Rc=b(()=>{"use strict"});import{createHash as cO,randomUUID as hk}from"node:crypto";import{readFile as Ac,writeFile as $c,mkdir as gk}from"node:fs/promises";async function Bo(){try{let n=(await Ac(An(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(n))return n}catch{}await gk(v(),{recursive:!0,mode:448});let e=hk();try{return await $c(An(),e,{mode:384,flag:"wx"}),e}catch{try{let t=(await Ac(An(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(t))return t}catch{}return await $c(An(),e,{mode:384}),e}}var zo=b(()=>{"use strict";Z()});import{readFile as yk,writeFile as hO,mkdir as gO,chmod as yO,rm as bO,rename as kO,readdir as _O}from"node:fs/promises";import{join as bk}from"node:path";async function ze(){let e=null;try{let t=JSON.parse(await yk(bk(v(),kk),"utf8"));typeof t=="object"&&t!==null&&!Array.isArray(t)&&(e=t)}catch{}return e?zt.parse({...Cc,...e}):Cc}var kk,Cc,EO,en=b(()=>{"use strict";Ye();Z();kk="settings-cache.json",Cc=zt.parse({}),EO=zt.partial().extend({filters:zt.shape.filters.removeDefault().partial().optional()})});var Oc=b(()=>{"use strict";Z();en();On();Zt()});import{join as Uo}from"node:path";import{appendFileSync as Ic,chmodSync as _k,existsSync as Pc,mkdirSync as wk,readFileSync as LO,renameSync as FO,rmdirSync as jO,statSync as Nc,unlinkSync as HO,utimesSync as BO,writeFileSync as zO}from"node:fs";function Zo(){return Uo(v(),"spool")}function Sk(e){return Uo(Zo(),`${e}.jsonl`)}function vk(e){return Uo(Zo(),`${e}.dropped`)}function Tk(e){try{let t=vk(e);if(Pc(t)&&Nc(t).size>=Ek)return;Ic(t,".",{mode:384})}catch{return}}function Lr(e,t){if(Cn())try{wk(Zo(),{recursive:!0,mode:448});let n=Sk(e);if(Pc(n)&&Nc(n).size>=xk){Tk(e);return}Ic(n,JSON.stringify(t)+`
92
+ `,{mode:384}),_k(n,384)}catch{return}}var xk,Ek,Fr=b(()=>{"use strict";Rc();Z();$n();zo();Us();en();On();Oc();xk=512*1024;Ek=1024*1024});function Lk(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 Lc.has(n.toLowerCase())?n:""}function Fk(e,t,n){let r=0;for(;e==="git"&&r<n.length&&n[r].startsWith("-");)r+=Mk.has(n[r])?2:1;let s=(n[r]??"").toLowerCase();return t.has(s)?`${e} ${s}`:e}function Dc(e){let t=e.toLowerCase();return t.startsWith("git")||Ok.has(t)}function Jo(e){let t=e.trim().split(/\s+/).filter(l=>l.length>0),n=0;for(;n<t.length&&Ck.test(t[n]??"");)n+=1;let r=Lk(t[n]??"");if(!r||!Ak.test(r)||r.length>Pk)return"";let s=Dk.get(r.toLowerCase());if(s)return Fk(r.toLowerCase(),s,t.slice(n+1));if(Dc(r)||Ik.test(r)||Rt(r)!==r)return"";let o=t[n+1];return o&&Dc(o)?"":(o&&Mc.has(r.toLowerCase())&&$k.test(o)?`${r} ${o}`:r).slice(0,64)}function jk(e){return Nk.has((e.split(" ")[0]??"").toLowerCase())}async function jr(e){if(!e.telemetryOptIn)return;let t=Jo(e.cmd),n=t&&Rt(t)===t&&jk(t)?t:"other",r=e.sessionId?e.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";Lr("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 Ak,$k,Ck,Ok,Ik,Pk,Mc,Lc,Nk,Dk,Mk,Hr=b(()=>{"use strict";Jn();Fr();Ak=/^[a-z0-9][a-z0-9._-]*$/i,$k=/^[a-z][a-z-]+$/,Ck=/^[A-Za-z_][A-Za-z0-9_]*=/,Ok=new Set(["gh","glab","gup","hub","gist"]),Ik=/^(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,Pk=24,Mc=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"]),Lc=new Set([...Mc,"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"]),Nk=new Set([...Lc,"cd","cat","head","tail","ls","tree","find","grep","wc","nl","sort","cut","uniq","tr","diff","stat","file","du","df","ps","yq","pwd","which","echo","printf","seq","sed","awk","gawk","xargs","sleep","tar","zip","unzip","rsync","scp","ssh","curl","wget","dig","host","nslookup","ping","lsof","journalctl","iptables","ip6tables","open","md5","md5sum","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shasum","sudo","env","command","time","nodejs","bunx","pytest","mypy","dmypy","pyright","basedpyright","ruff","black","ty","gradlew","mvnw","mvnd","ninja","cmake","bazel","bazelisk","sbt","gcc","clang","gmake","swift","xcodebuild","pod","flutter","nx","turbo","next","eslint","prettier","biome","oxlint","golangci-lint","shellcheck","hadolint","yamllint","markdownlint","mdl","sqlfluff","rubocop","rspec","bundler","php","artisan","composer","phpunit","phpstan","pest","paratest","pint","mix","javap","jar","docker-compose","skopeo","oc","ecs","nomad","consul","packer","pulumi","tofu","ansible","ansible-playbook","vault","sops","vercel","netlify","wrangler","firebase","supabase","stripe","shopify","theme-check","redis-cli","liquibase","ollama","ast-grep","just","task","mise","trunk","pre-commit","jj","yadm","gt","quarto","act","jira","fail2ban-client","ctest","pio","platformio","reducer","restore","read-tool","grep-tool","glob-tool","bash-tool"]),Dk=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"])]]),Mk=new Set(["-C","-c"])});async function Br(e){if(ru(e.filterId)||!(await ze()).telemetryOptIn)return;let t=Jo(e.cmd);!t||Rt(t)!==t||Lr("learn",{cmd:t,filterId:e.filterId==null?null:ce(e.filterId),rawBytes:e.rawBytes,filteredBytes:e.filteredBytes})}var Go=b(()=>{"use strict";Hr();Jn();Fr();Ye();ko();en()});function Fc(e){return e?Hk[e]??"anthropic":"anthropic"}var Hk,jc=b(()=>{"use strict";Hk={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"}});import{appendFileSync as Bk,chmodSync as zk,mkdirSync as Uk,readFileSync as Zc,realpathSync as Zk,renameSync as Jc,rmSync as Gc,statSync as Wc,writeFileSync as Wo}from"node:fs";import{basename as Hc,dirname as Kc,join as zr,resolve as Jk,sep as fI}from"node:path";function Vc(){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 Xk(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"&&qk.has(n.o)?{o:n.o}:{}}}catch{return null}}function Qk(e,t){if(!t.c)return;let n=e.cmds[t.c]??{n:0,nc:0,r:0,f:0,sh:!1};n.n+=1,t.f<t.r&&(n.nc+=1,n.rr=(n.rr??0)+t.r,n.rf=(n.rf??0)+t.f),(t.k==="sh"||t.k==="restore")&&(n.sh=!0),t.h==="shell"&&t.k!=="restore"&&(n.tn=(n.tn??0)+1,n.tr=(n.tr??0)+t.r,n.tf=(n.tf??0)+t.f,t.f<t.r&&(n.tnc=(n.tnc??0)+1,n.trr=(n.trr??0)+t.r,n.trf=(n.trf??0)+t.f)),n.r+=t.r,n.f+=t.f,e.cmds[t.c]=n}function e_(e){return e.s==="b"?`b:${(e.c??"").split(" ")[0]||"other"}`:e.s?.startsWith("u:")?e.s:e.o==="n"?"n":"?"}function t_(e,t){let n=e_(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 n_(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>Vk){e.ox+=1;return}if(Qk(e,t),t.k==="restore"?(e.rn+=1,e.rb+=t.f):t_(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=Fc(t.h),r=e.prov[n]??{r:0,f:0};r.r+=t.r,r.f+=t.f,e.prov[n]=r}}function r_(e){let t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function qc(e){return zr(Kc(e),Wk)}function s_(e){let t=qc(e),n;try{n=Zc(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]={...Vc(),...i});return s}catch{try{Jc(t,`${t}.corrupt-${Date.now()}`)}catch{}return{}}}function zc(e,t){let n=`${e}.tmp-${process.pid}`;Wo(n,t,{mode:384}),Jc(n,e)}function o_(e){try{return Wo(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-Wc(e).mtimeMs<Kk?!1:(Gc(e,{force:!0}),Wo(e,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function i_(e,t=Bc,n=Bc/2){try{if(Wc(e).size<=t)return}catch{return}let r=`${e}.lock`;if(o_(r))try{let s=Zc(e,"utf8").split(`
93
93
  `).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=s_(e);for(let u of s.slice(0,o)){let c=Xk(u);if(!c)continue;let f=r_(c.t),d=a[f]??Vc();n_(d,c),a[f]=d}let l=s.slice(o);zc(e,l.length?`${l.join(`
94
94
  `)}
95
95
  `:""),zc(qc(e),JSON.stringify({v:1,days:a}))}catch{return}finally{Gc(r,{force:!0})}}function a_(e){let t=Jk(e),n=t,r="";for(;;){try{return zr(Zk(n),r)}catch{}let s=Kc(n);if(s===n)return t;r=r?zr(Hc(n),r):Hc(n),n=s}}function Uc(e){return e.length===0||e[0]==="cd"||e.every(t=>Yc.test(t))}function d_(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(`|;&<>
96
96
  `.includes(i)){if(o(),Uc(t)){t=[];continue}return t}n+=i,r=!0}return o(),Uc(t)?[]:t}function At(e){let t=d_(e).map(a=>a.replace(/^[({]+/,"")).filter(Boolean),n=0;for(;n<t.length;){let a=t[n];if(Yc.test(a)){n+=1;continue}if(l_.has(a)){for(n+=1;n<t.length;){let l=t[n];if(l.startsWith("-")){n+=u_.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("-")&&c_.test(o)&&f_.has(s.toLowerCase())?`${s} ${o}`:s).slice(0,24)}function p_(){return zr(v(),Gk)}function Ur(e,t,n=p_(),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)}`:"",f=i?`,"c":${JSON.stringify(i.slice(0,24))}`:"",d=a?a_(a):"",p=d&&d.length<=Yk?`,"p":${JSON.stringify(d)}`:"",y=l.s?`,"s":${JSON.stringify(l.s.slice(0,66))}`:"",g=l.o?`,"o":${JSON.stringify(l.o)}`:"",m=`{"t":${Math.floor(Date.now()/1e3)},"r":${e},"f":${t}${r?',"m":1':""}${u}${c}${f}${p}${y}${g}}
97
- `;try{Uk(v(),{recursive:!0,mode:448}),Bk(n,m,{mode:384}),zk(n,384),i_(n)}catch{return}}function Zr(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 Jr(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 Gk,Wk,Bc,Kk,Vk,qk,Yk,l_,u_,c_,f_,Yc,Ko=b(()=>{"use strict";Z();Fr();jc();Gk="stats.jsonl",Wk="stats-ledger.json",Bc=2*1024*1024,Kk=3e4,Vk=3e4,qk=new Set(["n","g","e"]),Yk=256;l_=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),u_=new Set(["-u","-g","-n","-s","-k"]),c_=/^[a-z0-9][a-z0-9._-]*$/i,f_=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"]),Yc=/^[A-Za-z_][A-Za-z0-9_]*=/});import{appendFileSync as m_,mkdirSync as h_,readFileSync as g_,writeFileSync as y_,renameSync as b_,statSync as k_,readdirSync as bI,rmSync as kI,chmodSync as __}from"node:fs";import{join as Qc}from"node:path";function ef(){return Qc(v(),"sessions")}function S_(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Qc(ef(),`${t}.jsonl`)}function Vo(e){let t=Rt(e.slice(0,Xc*32)).replace(/(^|\s)(-p)(?:'[^']*'|"[^"]*"|(?=\S)\S+)/g,"$1$2[REDACTED]");return Mr(t).slice(0,Xc)}function Gr(e,t){try{let n=S_(e);h_(ef(),{recursive:!0,mode:448});let r=JSON.stringify({t:t.t??Math.floor(Date.now()/1e3),tool:t.tool,target:Vo(t.target),...t.fail?{fail:1}:{}});if(m_(n,`${r}
97
+ `;try{Uk(v(),{recursive:!0,mode:448}),Bk(n,m,{mode:384}),zk(n,384),i_(n)}catch{return}}function Zr(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 Jr(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 Gk,Wk,Bc,Kk,Vk,qk,Yk,l_,u_,c_,f_,Yc,Ko=b(()=>{"use strict";Z();Fr();jc();Gk="stats.jsonl",Wk="stats-ledger.json",Bc=2*1024*1024,Kk=3e4,Vk=3e4,qk=new Set(["n","g","e"]),Yk=256;l_=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),u_=new Set(["-u","-g","-n","-s","-k"]),c_=/^[a-z0-9][a-z0-9._-]*$/i,f_=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"]),Yc=/^[A-Za-z_][A-Za-z0-9_]*=/});import{appendFileSync as m_,mkdirSync as h_,readFileSync as g_,writeFileSync as y_,renameSync as b_,statSync as k_,readdirSync as yI,rmSync as bI,chmodSync as __}from"node:fs";import{join as Qc}from"node:path";function ef(){return Qc(v(),"sessions")}function S_(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Qc(ef(),`${t}.jsonl`)}function Vo(e){let t=Rt(e.slice(0,Xc*32)).replace(/(^|\s)(-p)(?:'[^']*'|"[^"]*"|(?=\S)\S+)/g,"$1$2[REDACTED]");return Mr(t).slice(0,Xc)}function Gr(e,t){try{let n=S_(e);h_(ef(),{recursive:!0,mode:448});let r=JSON.stringify({t:t.t??Math.floor(Date.now()/1e3),tool:t.tool,target:Vo(t.target),...t.fail?{fail:1}:{}});if(m_(n,`${r}
98
98
  `,{mode:384}),__(n,384),k_(n).size>w_){let s=g_(n,"utf8").split(`
99
99
  `).filter(a=>a.trim()!==""),o=s.slice(s.length-x_),i=`${n}.tmp-${process.pid}`;y_(i,`${o.join(`
100
100
  `)}
101
- `,{mode:384}),b_(i,n)}}catch{}}var w_,x_,SI,Xc,Wr=b(()=>{"use strict";Z();Jn();w_=96*1024,x_=500,SI=168*3600*1e3,Xc=120});function E_(e){return e.charCodeAt(0)===65279?e.slice(1):e}function ke(e){return JSON.parse(E_(e))}var $t=b(()=>{"use strict"});import{basename as v_}from"node:path";function Ct(e){let t=v_(e).replace(/\.(m?js|ts)$/,"");if(t==="tkr")return[];for(let[n,r]of Object.entries(T_))if(r===t)return[n];for(let[n,r]of Object.entries(R_))if(r===t)return["hook",n];return null}var T_,R_,Gn=b(()=>{"use strict";T_={exec:"tkr-exec",processor:"tkr-processor",daemon:"tkr-daemon","shim-run":"tkr-shim"},R_={codex:"tkr-codex-hook",cursor:"tkr-cursor-hook",gemini:"tkr-gemini-hook",agent:"tkr-agent-hook",copilot:"tkr-copilot-hook",droid:"tkr-droid-hook",trae:"tkr-trae-hook",qwen:"tkr-qwen-hook",crush:"tkr-crush-hook",junie:"tkr-junie-hook",zcode:"tkr-zcode-hook",grok:"tkr-grok-hook",context:"tkr-context-hook","pre-tool-use":"pre-tool-use","post-tool-use":"post-tool-use","session-recap":"session-recap","session-start":"on-session-start","reducer-session-start":"reducer-session-start","reducer-prompt-submit":"reducer-prompt-submit","reducer-stop":"reducer-stop","command-expansion":"command-expansion"}});import{realpathSync as tf}from"node:fs";import{delimiter as A_,join as tn}from"node:path";import $_ from"node:os";function Re(){return!1}function Wn(e,t=process.execPath){let n=Re()?Ct(e):null;return n?[process.execPath,...n]:[t,e]}function nf(e,t){try{return tf(e)===tf(t)}catch{return!1}}function Kr(e=process.env.PATH??"",t=process.platform,n=process.execPath){let r=t==="win32"?"tkr.exe":"tkr";for(let s of e.split(t==="win32"?";":A_)){if(!s||s.includes("node_modules"))continue;let o=tn(s,r);if(nf(o,n))return o}if(t!=="win32"){let s=$_.homedir();for(let o of[tn(s,".local","bin",r),tn(s,".local","share","tokmizer","current","dist","bin",r),tn("/opt/homebrew/bin",r),tn("/usr/local/bin",r),tn("/home/linuxbrew/.linuxbrew/bin",r)])if(nf(o,n))return o}return n}var Qe=b(()=>{"use strict";Gn()});import C_ from"node:os";import{isAbsolute as O_,join as rf,resolve as sf}from"node:path";function Vr(e=process.env,t=C_.homedir()){let n=e.CLAUDE_CONFIG_DIR?.trim();if(!n)return rf(t,".claude");let r=n;return r==="~"?r=t:(r.startsWith("~/")||r.startsWith("~\\"))&&(r=rf(t,r.slice(2))),O_(r)?sf(r):sf(r)}var qo=b(()=>{"use strict"});import{rmSync as I_,statSync as P_}from"node:fs";import{join as of}from"node:path";function Kn(){return of(v(),"shims")}function qr(){return of(v(),"fail-open")}function _e(e=Date.now()){try{if(e-P_(qr()).mtimeMs<N_)return!0;I_(qr(),{force:!0})}catch{}return!1}function Yo(){return`[ -f ${Pe(qr())} ]`}function Pe(e){return`'${e.replace(/'/g,"'\\''")}'`}function af(e){if(!e.startsWith("'")||!e.endsWith("'")||e.length<2)return null;let n=e.slice(1,-1).split("'\\''");return n.some(r=>r.includes("'"))?null:n.join("'")}var N_,we=b(()=>{"use strict";Z();N_=24*36e5});import{accessSync as L_,chmodSync as F_,constants as j_,existsSync as Yr,mkdirSync as H_,readdirSync as B_,readFileSync as z_,realpathSync as lf,renameSync as U_,unlinkSync as Z_,writeFileSync as J_}from"node:fs";import{basename as Qo,dirname as et,join as Ue,sep as nn}from"node:path";function df(){return Ue(v(),"bin","tkr-shim-launch")}function G_(){return Ue(v(),"bin","tkr-run")}function uf(){return Ue(Vr(),"plugins","cache","tokmizer","tokmizer")}function W_(e){let t=et(et(et(e)));return ff.test(Qo(t))&&Qo(et(t))==="tokmizer"?et(t):null}function ei(e){return/[\n\r]/.test(e)||e.includes(`${nn}_npx${nn}`)||e.includes(`${nn}.bun${nn}install${nn}cache${nn}`)}function ti(e){let t=e.match(/^(.*)[\\/]Cellar[\\/]([^\\/]+)[\\/][^\\/]+[\\/](.*)$/);if(!t)return e;let n=Ue(t[1],"opt",t[2],t[3]);try{return lf(n)===lf(e)?n:e}catch{return e}}function K_(e=process.execPath){return ei(e)?"":ti(e)}function pf(e,t=Re()){if(t&&Ct(e)){let s=Kr();return{single:ei(s)?"":ti(s),js:"",cache:uf(),node:""}}let n=K_(),r=W_(e);return r?{single:"",js:"",cache:r,node:n}:{single:"",js:ei(e)?"":ti(e),cache:uf(),node:n}}function V_(e){try{return L_(e,j_.X_OK),!0}catch{return!1}}function q_(e){let t=null,n=-1,r;try{r=B_(e)}catch{return null}for(let s of r){if(!ff.test(s))continue;let o=Ue(e,s);if(!Yr(Ue(o,"dist","bin","tkr-shim.js"))||!Yr(Ue(o,"dist","bin",Vn)))continue;let[i,a,l]=s.split(".").map(Number),u=i*1e6+a*1e3+l;u>n&&(n=u,t=o)}return t}function Xo(e){return e.single&&V_(e.single)||e.js&&Yr(e.js)&&(Qo(e.js)!=="tkr-shim.js"||Yr(Ue(et(e.js),Vn)))?!0:e.cache!==""&&q_(e.cache)!==null}function Y_(e,t){return["_tk_t=",`if [ -n "$_tk_j" ] && [ -f "${t}" ] && { [ "\${_tk_j##*/}" != tkr-shim.js ] || [ -f "\${_tk_j%/*}/${Vn}" ]; }; then _tk_t=${t}; fi`,'if [ -z "$_tk_t" ] && [ -n "$_tk_k" ] && [ -d "$_tk_k" ]; then'," _tk_b=-1",' for _tk_r in "$_tk_k"/*/; do'," _tk_v=${_tk_r%/}; _tk_v=${_tk_v##*/}"," case $_tk_v in *[!0-9.]*|.*|*.|*..*|0[0-9]*|*.0[0-9]*|*[0-9][0-9][0-9][0-9][0-9][0-9][0-9]*) continue ;; [0-9]*.[0-9]*.[0-9]*) ;; *) continue ;; esac"," case ${_tk_v#*.*.} in *.*) continue ;; esac",` [ -f "\${_tk_r}dist/bin/${e}" ] && [ -f "\${_tk_r}dist/bin/${Vn}" ] || continue`," _tk_1=${_tk_v%%.*}; _tk_2=${_tk_v#*.}; _tk_3=${_tk_2#*.}; _tk_2=${_tk_2%%.*}"," _tk_v=$((_tk_1 * 1000000 + _tk_2 * 1000 + _tk_3))",` if [ "$_tk_v" -gt "$_tk_b" ]; then _tk_b=$_tk_v; _tk_t=\${_tk_r}dist/bin/${e}; fi`," done","fi",'if [ -z "$_tk_t" ]; then',` _tk_d=${Pe(Kn())}`," set -f; _tk_o=$IFS; IFS=:"," for _tk_e in $PATH; do"," case $_tk_e in /*/node_modules/*|*/node_modules) continue ;; /*) ;; *) continue ;; esac",' [ ! "$_tk_e" -ef "$_tk_d" ] || continue',' for _tk_g in "$_tk_e/../lib/node_modules/@tokmizer/plugin/dist/bin" "$_tk_e/../opt/tokmizer/libexec/lib/node_modules/@tokmizer/plugin/dist/bin"; do',` if [ -f "$_tk_g/${Vn}" ] && [ -f "$_tk_g/${e}" ]; then _tk_t=$_tk_g/${e}; break 2; fi`," done"," done"," IFS=$_tk_o; set +f","fi","_tk_x=",'if [ -n "$_tk_t" ]; then',' for _tk_x in "$_tk_n" "$(command -v node 2>/dev/null)" /opt/homebrew/bin/node /usr/local/bin/node /usr/bin/node ""; do',' [ -n "$_tk_x" ] && [ -x "$_tk_x" ] && break'," done","fi"]}function X_(e){return["#!/bin/sh",`_tk_f=${cf}`,`_tk_s=${Pe(e.single)}`,`_tk_j=${Pe(e.js)}`,`_tk_k=${Pe(e.cache)}`,`_tk_n=${Pe(e.node)}`,'[ "$#" -gt 0 ] || exit 0',`if ! ${Yo()}; then`,' if [ -n "$_tk_s" ] && [ -x "$_tk_s" ]; then exec "$_tk_s" exec "$@"; fi',...Y_("tkr-exec.js","${_tk_j%/*}/tkr-exec.js").map(t=>` ${t}`),' if [ -n "$_tk_t" ]; then'," _tk_r=${_tk_t%/*}",' if [ -f "$_tk_r/tkr-exec" ] && [ -s "$_tk_r/tkr-exec" ] && [ -x "$_tk_r/tkr-exec" ]; then exec "$_tk_r/tkr-exec" "$@"; fi',' if [ -n "$_tk_x" ] && [ -s "$_tk_t" ]; then exec "$_tk_x" "$_tk_t" "$@"; fi'," fi","fi",'exec "$@"',""].join(`
102
- `)}function mf(e){let t=G_(),n=pf(Ue(et(e),"tkr-shim.js")),r=ew(t);if(r&&r.format===cf&&Xo(r.target)&&JSON.stringify(r.target)===JSON.stringify(n))return t;if(!Xo(n))return r&&Xo(r.target)?t:null;let s=`${t}.${process.pid}.tmp`;try{return H_(et(t),{recursive:!0,mode:448}),J_(s,X_(n),{mode:493}),F_(s,493),U_(s,t),t}catch{try{Z_(s)}catch{}return null}}function Q_(e){let t=a=>{let l=e.match(new RegExp(`^${a}=(.*)$`,"m"));return l?a==="_tk_f"?l[1]:af(l[1]):null},n=Number(t("_tk_f")),r=t("_tk_s"),s=t("_tk_j"),o=t("_tk_k"),i=t("_tk_n")??"";return!Number.isInteger(n)||r===null||s===null||o===null?null:{format:n,target:{single:r,js:s,cache:o,node:i}}}function ew(e=df()){try{return Q_(z_(e,"utf8"))}catch{return null}}var cf,Vn,ff,Xr=b(()=>{"use strict";qo();Z();Qe();Gn();we();cf=1,Vn="tkr-shim.stable",ff=/^(?:0|[1-9]\d{0,5})\.(?:0|[1-9]\d{0,5})\.(?:0|[1-9]\d{0,5})$/});import{chmod as tw,lstat as hf,mkdir as nw,readFile as ri,rename as rw,rm as qI,unlink as gf,writeFile as sw}from"node:fs/promises";import{createHash as yf}from"node:crypto";import{basename as ow,join as bf}from"node:path";function kf(){return bf(v(),"backup","config")}function ni(e){let t=oi(e),n=yf("sha256").update(t).digest("hex").slice(0,16),r=ow(t).replace(/[^A-Za-z0-9._-]/g,"_").slice(0,80);return bf(kf(),`${n}-${r}`)}function _f(e){return`${ni(e)}.written`}function wf(e){return yf("sha256").update(e).digest("hex")}async function aw(e){try{return await hf(e),!0}catch{return!1}}async function si(e,t){let n=`${e}.tmp-${process.pid}`;try{return await nw(kf(),{recursive:!0,mode:448}),await sw(n,t,{mode:384}),await tw(n,384),await rw(n,e),!0}catch{return await gf(n).catch(()=>{}),!1}}async function lw(e,t){let n=`${e}${iw}`;try{if(!(await hf(n)).isFile())return!1}catch{return!1}let r=!await aw(t);if(r&&!await si(t,await ri(n,"utf8")))throw new Error("backup");return await gf(n).catch(()=>{}),r}async function uw(e,t){try{return(await ri(_f(e),"utf8")).trim()===wf(t)}catch{return!1}}async function xf(e,t){let n=t;try{n===void 0&&(n=await ri(e,"utf8"))}catch(r){return r.code==="ENOENT"}try{if(await lw(e,ni(e)))return!0}catch{return!1}return await uw(e,n)?!0:si(ni(e),n)}async function Qr(e,t,n){return!await xf(e,n)||!await ts(e,t)?!1:(await si(_f(e),`${wf(t)}
101
+ `,{mode:384}),b_(i,n)}}catch{}}var w_,x_,xI,Xc,Wr=b(()=>{"use strict";Z();Jn();w_=96*1024,x_=500,xI=168*3600*1e3,Xc=120});function E_(e){return e.charCodeAt(0)===65279?e.slice(1):e}function ke(e){return JSON.parse(E_(e))}var $t=b(()=>{"use strict"});import{basename as v_}from"node:path";function Ct(e){let t=v_(e).replace(/\.(m?js|ts)$/,"");if(t==="tkr")return[];for(let[n,r]of Object.entries(T_))if(r===t)return[n];for(let[n,r]of Object.entries(R_))if(r===t)return["hook",n];return null}var T_,R_,Gn=b(()=>{"use strict";T_={exec:"tkr-exec",processor:"tkr-processor",daemon:"tkr-daemon","shim-run":"tkr-shim"},R_={codex:"tkr-codex-hook",cursor:"tkr-cursor-hook",gemini:"tkr-gemini-hook",agent:"tkr-agent-hook",copilot:"tkr-copilot-hook",droid:"tkr-droid-hook",trae:"tkr-trae-hook",qwen:"tkr-qwen-hook",crush:"tkr-crush-hook",junie:"tkr-junie-hook",zcode:"tkr-zcode-hook",grok:"tkr-grok-hook",context:"tkr-context-hook","pre-tool-use":"pre-tool-use","post-tool-use":"post-tool-use","session-recap":"session-recap","session-start":"on-session-start","reducer-session-start":"reducer-session-start","reducer-prompt-submit":"reducer-prompt-submit","reducer-stop":"reducer-stop","command-expansion":"command-expansion"}});import{realpathSync as tf}from"node:fs";import{delimiter as A_,join as tn}from"node:path";import $_ from"node:os";function Re(){return!1}function Wn(e,t=process.execPath){let n=Re()?Ct(e):null;return n?[process.execPath,...n]:[t,e]}function nf(e,t){try{return tf(e)===tf(t)}catch{return!1}}function Kr(e=process.env.PATH??"",t=process.platform,n=process.execPath){let r=t==="win32"?"tkr.exe":"tkr";for(let s of e.split(t==="win32"?";":A_)){if(!s||s.includes("node_modules"))continue;let o=tn(s,r);if(nf(o,n))return o}if(t!=="win32"){let s=$_.homedir();for(let o of[tn(s,".local","bin",r),tn(s,".local","share","tokmizer","current","dist","bin",r),tn("/opt/homebrew/bin",r),tn("/usr/local/bin",r),tn("/home/linuxbrew/.linuxbrew/bin",r)])if(nf(o,n))return o}return n}var Qe=b(()=>{"use strict";Gn()});import C_ from"node:os";import{isAbsolute as O_,join as rf,resolve as sf}from"node:path";function Vr(e=process.env,t=C_.homedir()){let n=e.CLAUDE_CONFIG_DIR?.trim();if(!n)return rf(t,".claude");let r=n;return r==="~"?r=t:(r.startsWith("~/")||r.startsWith("~\\"))&&(r=rf(t,r.slice(2))),O_(r)?sf(r):sf(r)}var qo=b(()=>{"use strict"});import{rmSync as I_,statSync as P_}from"node:fs";import{join as of}from"node:path";function Kn(){return of(v(),"shims")}function qr(){return of(v(),"fail-open")}function _e(e=Date.now()){try{if(e-P_(qr()).mtimeMs<N_)return!0;I_(qr(),{force:!0})}catch{}return!1}function Yo(){return`[ -f ${Pe(qr())} ]`}function Pe(e){return`'${e.replace(/'/g,"'\\''")}'`}function af(e){if(!e.startsWith("'")||!e.endsWith("'")||e.length<2)return null;let n=e.slice(1,-1).split("'\\''");return n.some(r=>r.includes("'"))?null:n.join("'")}var N_,we=b(()=>{"use strict";Z();N_=24*36e5});import{accessSync as L_,chmodSync as F_,constants as j_,existsSync as Yr,mkdirSync as H_,readdirSync as B_,readFileSync as z_,realpathSync as lf,renameSync as U_,unlinkSync as Z_,writeFileSync as J_}from"node:fs";import{basename as Qo,dirname as et,join as Ue,sep as nn}from"node:path";function df(){return Ue(v(),"bin","tkr-shim-launch")}function G_(){return Ue(v(),"bin","tkr-run")}function uf(){return Ue(Vr(),"plugins","cache","tokmizer","tokmizer")}function W_(e){let t=et(et(et(e)));return ff.test(Qo(t))&&Qo(et(t))==="tokmizer"?et(t):null}function ei(e){return/[\n\r]/.test(e)||e.includes(`${nn}_npx${nn}`)||e.includes(`${nn}.bun${nn}install${nn}cache${nn}`)}function ti(e){let t=e.match(/^(.*)[\\/]Cellar[\\/]([^\\/]+)[\\/][^\\/]+[\\/](.*)$/);if(!t)return e;let n=Ue(t[1],"opt",t[2],t[3]);try{return lf(n)===lf(e)?n:e}catch{return e}}function K_(e=process.execPath){return ei(e)?"":ti(e)}function pf(e,t=Re()){if(t&&Ct(e)){let s=Kr();return{single:ei(s)?"":ti(s),js:"",cache:uf(),node:""}}let n=K_(),r=W_(e);return r?{single:"",js:"",cache:r,node:n}:{single:"",js:ei(e)?"":ti(e),cache:uf(),node:n}}function V_(e){try{return L_(e,j_.X_OK),!0}catch{return!1}}function q_(e){let t=null,n=-1,r;try{r=B_(e)}catch{return null}for(let s of r){if(!ff.test(s))continue;let o=Ue(e,s);if(!Yr(Ue(o,"dist","bin","tkr-shim.js"))||!Yr(Ue(o,"dist","bin",Vn)))continue;let[i,a,l]=s.split(".").map(Number),u=i*1e6+a*1e3+l;u>n&&(n=u,t=o)}return t}function Xo(e){return e.single&&V_(e.single)||e.js&&Yr(e.js)&&(Qo(e.js)!=="tkr-shim.js"||Yr(Ue(et(e.js),Vn)))?!0:e.cache!==""&&q_(e.cache)!==null}function Y_(e,t){return["_tk_t=",`if [ -n "$_tk_j" ] && [ -f "${t}" ] && { [ "\${_tk_j##*/}" != tkr-shim.js ] || [ -f "\${_tk_j%/*}/${Vn}" ]; }; then _tk_t=${t}; fi`,'if [ -z "$_tk_t" ] && [ -n "$_tk_k" ] && [ -d "$_tk_k" ]; then'," _tk_b=-1",' for _tk_r in "$_tk_k"/*/; do'," _tk_v=${_tk_r%/}; _tk_v=${_tk_v##*/}"," case $_tk_v in *[!0-9.]*|.*|*.|*..*|0[0-9]*|*.0[0-9]*|*[0-9][0-9][0-9][0-9][0-9][0-9][0-9]*) continue ;; [0-9]*.[0-9]*.[0-9]*) ;; *) continue ;; esac"," case ${_tk_v#*.*.} in *.*) continue ;; esac",` [ -f "\${_tk_r}dist/bin/${e}" ] && [ -f "\${_tk_r}dist/bin/${Vn}" ] || continue`," _tk_1=${_tk_v%%.*}; _tk_2=${_tk_v#*.}; _tk_3=${_tk_2#*.}; _tk_2=${_tk_2%%.*}"," _tk_v=$((_tk_1 * 1000000 + _tk_2 * 1000 + _tk_3))",` if [ "$_tk_v" -gt "$_tk_b" ]; then _tk_b=$_tk_v; _tk_t=\${_tk_r}dist/bin/${e}; fi`," done","fi",'if [ -z "$_tk_t" ]; then',` _tk_d=${Pe(Kn())}`," set -f; _tk_o=$IFS; IFS=:"," for _tk_e in $PATH; do"," case $_tk_e in /*/node_modules/*|*/node_modules) continue ;; /*) ;; *) continue ;; esac",' [ ! "$_tk_e" -ef "$_tk_d" ] || continue',' for _tk_g in "$_tk_e/../lib/node_modules/@tokmizer/plugin/dist/bin" "$_tk_e/../opt/tokmizer/libexec/lib/node_modules/@tokmizer/plugin/dist/bin"; do',` if [ -f "$_tk_g/${Vn}" ] && [ -f "$_tk_g/${e}" ]; then _tk_t=$_tk_g/${e}; break 2; fi`," done"," done"," IFS=$_tk_o; set +f","fi","_tk_x=",'if [ -n "$_tk_t" ]; then',' for _tk_x in "$_tk_n" "$(command -v node 2>/dev/null)" /opt/homebrew/bin/node /usr/local/bin/node /usr/bin/node ""; do',' [ -n "$_tk_x" ] && [ -x "$_tk_x" ] && break'," done","fi"]}function X_(e){return["#!/bin/sh",`_tk_f=${cf}`,`_tk_s=${Pe(e.single)}`,`_tk_j=${Pe(e.js)}`,`_tk_k=${Pe(e.cache)}`,`_tk_n=${Pe(e.node)}`,'[ "$#" -gt 0 ] || exit 0',`if ! ${Yo()}; then`,' if [ -n "$_tk_s" ] && [ -x "$_tk_s" ]; then exec "$_tk_s" exec "$@"; fi',...Y_("tkr-exec.js","${_tk_j%/*}/tkr-exec.js").map(t=>` ${t}`),' if [ -n "$_tk_t" ]; then'," _tk_r=${_tk_t%/*}",' if [ -f "$_tk_r/tkr-exec" ] && [ -s "$_tk_r/tkr-exec" ] && [ -x "$_tk_r/tkr-exec" ]; then exec "$_tk_r/tkr-exec" "$@"; fi',' if [ -n "$_tk_x" ] && [ -s "$_tk_t" ]; then exec "$_tk_x" "$_tk_t" "$@"; fi'," fi","fi",'exec "$@"',""].join(`
102
+ `)}function mf(e){let t=G_(),n=pf(Ue(et(e),"tkr-shim.js")),r=ew(t);if(r&&r.format===cf&&Xo(r.target)&&JSON.stringify(r.target)===JSON.stringify(n))return t;if(!Xo(n))return r&&Xo(r.target)?t:null;let s=`${t}.${process.pid}.tmp`;try{return H_(et(t),{recursive:!0,mode:448}),J_(s,X_(n),{mode:493}),F_(s,493),U_(s,t),t}catch{try{Z_(s)}catch{}return null}}function Q_(e){let t=a=>{let l=e.match(new RegExp(`^${a}=(.*)$`,"m"));return l?a==="_tk_f"?l[1]:af(l[1]):null},n=Number(t("_tk_f")),r=t("_tk_s"),s=t("_tk_j"),o=t("_tk_k"),i=t("_tk_n")??"";return!Number.isInteger(n)||r===null||s===null||o===null?null:{format:n,target:{single:r,js:s,cache:o,node:i}}}function ew(e=df()){try{return Q_(z_(e,"utf8"))}catch{return null}}var cf,Vn,ff,Xr=b(()=>{"use strict";qo();Z();Qe();Gn();we();cf=1,Vn="tkr-shim.stable",ff=/^(?:0|[1-9]\d{0,5})\.(?:0|[1-9]\d{0,5})\.(?:0|[1-9]\d{0,5})$/});import{chmod as tw,lstat as hf,mkdir as nw,readFile as ri,rename as rw,rm as VI,unlink as gf,writeFile as sw}from"node:fs/promises";import{createHash as yf}from"node:crypto";import{basename as ow,join as bf}from"node:path";function kf(){return bf(v(),"backup","config")}function ni(e){let t=oi(e),n=yf("sha256").update(t).digest("hex").slice(0,16),r=ow(t).replace(/[^A-Za-z0-9._-]/g,"_").slice(0,80);return bf(kf(),`${n}-${r}`)}function _f(e){return`${ni(e)}.written`}function wf(e){return yf("sha256").update(e).digest("hex")}async function aw(e){try{return await hf(e),!0}catch{return!1}}async function si(e,t){let n=`${e}.tmp-${process.pid}`;try{return await nw(kf(),{recursive:!0,mode:448}),await sw(n,t,{mode:384}),await tw(n,384),await rw(n,e),!0}catch{return await gf(n).catch(()=>{}),!1}}async function lw(e,t){let n=`${e}${iw}`;try{if(!(await hf(n)).isFile())return!1}catch{return!1}let r=!await aw(t);if(r&&!await si(t,await ri(n,"utf8")))throw new Error("backup");return await gf(n).catch(()=>{}),r}async function uw(e,t){try{return(await ri(_f(e),"utf8")).trim()===wf(t)}catch{return!1}}async function xf(e,t){let n=t;try{n===void 0&&(n=await ri(e,"utf8"))}catch(r){return r.code==="ENOENT"}try{if(await lw(e,ni(e)))return!0}catch{return!1}return await uw(e,n)?!0:si(ni(e),n)}async function Qr(e,t,n){return!await xf(e,n)||!await ts(e,t)?!1:(await si(_f(e),`${wf(t)}
103
103
  `),!0)}var iw,es=b(()=>{"use strict";Z();Ne();iw=".tkr-bak"});import{readFile as cw,writeFile as fw,rename as dw,mkdir as Tf,chmod as pw,stat as mw,unlink as hw}from"node:fs/promises";import{existsSync as Rf,lstatSync as gw,readlinkSync as yw,realpathSync as Sf}from"node:fs";import{basename as bw,dirname as ns,join as kw,resolve as Ef}from"node:path";function U(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}async function tt(e){if(!Rf(e))return{};try{let t=ke(await cw(e,"utf8"));return U(t)?t:null}catch{return null}}function oi(e){let t=Ef(e);for(let n=0;n<32;n++){try{return Sf(t)}catch{}try{if(!gw(t).isSymbolicLink())break;t=Ef(ns(t),yw(t))}catch{break}}try{return kw(Sf(ns(t)),bw(t))}catch{return t}}async function ts(e,t){let n=oi(e),r=`${n}.tmp-${process.pid}`;try{await Tf(ns(n),{recursive:!0});let s=384;try{s=(await mw(n)).mode&511}catch{}return process.platform!=="win32"&&Rf(n)&&(s&128)===0?!1:(await fw(r,t,{mode:s}),await pw(r,s),await dw(r,n),!0)}catch{try{await hw(r)}catch{}return!1}}async function nt(e,t){try{await Tf(ns(e),{recursive:!0})}catch{return!1}return Qr(e,`${JSON.stringify(t,null,2)}
104
104
  `)}function _w(e){let t=[],n="",r=!1;for(let s=0;s<e.length;s++){let o=e[s];if(o==="'"){let i=e.indexOf("'",s+1);if(i<0)return null;n+=e.slice(s+1,i),r=!0,s=i}else if(o==='"'){let i=e.indexOf('"',s+1);if(i<0)return null;let a=e.slice(s+1,i);if(/`|\$\(/.test(a))return null;n+=a,r=!0,s=i}else if(o==="\\"&&e[s+1]==="'")n+="'",r=!0,s++;else if(o===" "||o===" ")r&&t.push(n),n="",r=!1;else{if(o===";"||o==="&"||o==="|"||o==="`"||o===`
105
- `||o==="\r"||o==="$"&&e[s+1]==="(")return null;n+=o,r=!0}}return r&&t.push(n),t}function ii(e){return(e.split(/[\\/]/).pop()??"").toLowerCase().replace(/\.(?:exe|cmd|bat|ps1|m?js|sh)$/,"")}function xw(e){if(typeof e!="string")return null;let t=e.replace(ww,""),n=_w(t);if(!n)return null;let r=0;for(;r<n.length&&vf.test(n[r]);)r++;if(n[r]==="exec"&&r++,r>=n.length||vf.test(n[r]))return null;let s=ii(n[r]),o=n.slice(r+1);if(s==="sh"||s==="bash"){let i=o[0]!==void 0?ii(o[0]):"";return/^tkr-hook(?:-launch)?$/.test(i)?{program:i,args:o.slice(2),launcherMark:o[1]??""}:{program:s,args:o}}return s==="node"?{program:o[0]!==void 0?ii(o[0]):"node",args:o.slice(1)}:{program:s,args:o}}function rn(e,t){let n=xw(e);if(!n)return!1;if(n.launcherMark!==void 0)return n.launcherMark===t;if(n.program===t)return!0;if(n.program!=="tkr")return!1;let r=Ct(t);return r?.length?r.every((s,o)=>n.args[o]===s):!1}function rs(e,t,n,r){let s=i=>i!==n&&t(i),o=!1;for(let i=e.length-1;i>=0;i--){let a=e[i];if(!r){s(a)&&(e.splice(i,1),o=!0);continue}if(!U(a)||!Array.isArray(a.hooks))continue;let l=a.hooks.filter(u=>!s(u));l.length!==a.hooks.length&&(o=!0,l.length?a.hooks=l:e.splice(i,1))}return o}var ww,vf,Ne=b(()=>{"use strict";Gn();Qe();Xr();es();$t();ww=/^\s*\[ ! -[a-z] (?:'(?:[^']|'\\'')*'|"[^"]*") \] \|\| /,vf=/^[A-Za-z_][A-Za-z0-9_]*=/});import{existsSync as mP,readFileSync as Sw}from"node:fs";import{join as Ew}from"node:path";import vw from"node:os";function Rw(){return Ew(vw.homedir(),".cursor","hooks.json")}function Aw(e){return U(e)&&rn(e.command,Tw)}function $w(e){let t=U(e.hooks)?e.hooks:{},n=Array.isArray(t[Af])?t[Af]:[];return{hooks:t,entries:n}}function $f(){try{let e=ke(Sw(Rw(),"utf8"));return $w(e).entries.some(Aw)}catch{return!1}}var Tw,Af,Cf=b(()=>{"use strict";$t();Ne();Tw="tkr-cursor-hook",Af="preToolUse"});import{existsSync as wP,readFileSync as Cw}from"node:fs";import{join as Ow}from"node:path";import Iw from"node:os";function Nw(){return Ow(process.env.GEMINI_CLI_HOME||Iw.homedir(),".gemini","settings.json")}function Dw(e){return U(e)&&rn(e.command,Pw)}function Mw(e){return(Array.isArray(e.hooks)?e.hooks:[]).find(Dw)}function Lw(e){let t=U(e.hooks)?e.hooks:{},n=Array.isArray(t[Of])?t[Of]:[];return{hooks:t,groups:n}}function If(){try{let e=ke(Cw(Nw(),"utf8"));return Lw(e).groups.some(t=>Mw(t)!=null)}catch{return!1}}var Pw,Of,Pf=b(()=>{"use strict";$t();Ne();Pw="tkr-gemini-hook",Of="BeforeTool"});import{existsSync as $P,accessSync as CP,constants as OP,readFileSync as Fw}from"node:fs";function Hw(e){return e.includes(jw)}function Nf(e){try{return Hw(Fw(e,"utf8"))}catch{return!1}}var jw,Df=b(()=>{"use strict";Ne();Qe();es();Z();jw='"rewrite", "--host"'});import{readFile as Lf,mkdir as Bw}from"node:fs/promises";import{existsSync as ui,readFileSync as Ff}from"node:fs";import{dirname as zw,join as li}from"node:path";import jf from"node:os";function Yn(){return li(process.env.VIBE_HOME||li(jf.homedir(),".vibe"),"hooks.toml")}function Mf(e){return JSON.stringify(e)}function Uw(e){return["[[hooks]]",`name = ${Mf(Hf)}`,'type = "pre_tool"','match = "bash"',`command = ${Mf(e)}`,"timeout = 10.0","strict = false",'description = "Route shell commands through tokmizer."',""].join(`
105
+ `||o==="\r"||o==="$"&&e[s+1]==="(")return null;n+=o,r=!0}}return r&&t.push(n),t}function ii(e){return(e.split(/[\\/]/).pop()??"").toLowerCase().replace(/\.(?:exe|cmd|bat|ps1|m?js|sh)$/,"")}function xw(e){if(typeof e!="string")return null;let t=e.replace(ww,""),n=_w(t);if(!n)return null;let r=0;for(;r<n.length&&vf.test(n[r]);)r++;if(n[r]==="exec"&&r++,r>=n.length||vf.test(n[r]))return null;let s=ii(n[r]),o=n.slice(r+1);if(s==="sh"||s==="bash"){let i=o[0]!==void 0?ii(o[0]):"";return/^tkr-hook(?:-launch)?$/.test(i)?{program:i,args:o.slice(2),launcherMark:o[1]??""}:{program:s,args:o}}return s==="node"?{program:o[0]!==void 0?ii(o[0]):"node",args:o.slice(1)}:{program:s,args:o}}function rn(e,t){let n=xw(e);if(!n)return!1;if(n.launcherMark!==void 0)return n.launcherMark===t;if(n.program===t)return!0;if(n.program!=="tkr")return!1;let r=Ct(t);return r?.length?r.every((s,o)=>n.args[o]===s):!1}function rs(e,t,n,r){let s=i=>i!==n&&t(i),o=!1;for(let i=e.length-1;i>=0;i--){let a=e[i];if(!r){s(a)&&(e.splice(i,1),o=!0);continue}if(!U(a)||!Array.isArray(a.hooks))continue;let l=a.hooks.filter(u=>!s(u));l.length!==a.hooks.length&&(o=!0,l.length?a.hooks=l:e.splice(i,1))}return o}var ww,vf,Ne=b(()=>{"use strict";Gn();Qe();Xr();es();$t();ww=/^\s*\[ ! -[a-z] (?:'(?:[^']|'\\'')*'|"[^"]*") \] \|\| /,vf=/^[A-Za-z_][A-Za-z0-9_]*=/});import{existsSync as pP,readFileSync as Sw}from"node:fs";import{join as Ew}from"node:path";import vw from"node:os";function Rw(){return Ew(vw.homedir(),".cursor","hooks.json")}function Aw(e){return U(e)&&rn(e.command,Tw)}function $w(e){let t=U(e.hooks)?e.hooks:{},n=Array.isArray(t[Af])?t[Af]:[];return{hooks:t,entries:n}}function $f(){try{let e=ke(Sw(Rw(),"utf8"));return $w(e).entries.some(Aw)}catch{return!1}}var Tw,Af,Cf=b(()=>{"use strict";$t();Ne();Tw="tkr-cursor-hook",Af="preToolUse"});import{existsSync as _P,readFileSync as Cw}from"node:fs";import{join as Ow}from"node:path";import Iw from"node:os";function Nw(){return Ow(process.env.GEMINI_CLI_HOME||Iw.homedir(),".gemini","settings.json")}function Dw(e){return U(e)&&rn(e.command,Pw)}function Mw(e){return(Array.isArray(e.hooks)?e.hooks:[]).find(Dw)}function Lw(e){let t=U(e.hooks)?e.hooks:{},n=Array.isArray(t[Of])?t[Of]:[];return{hooks:t,groups:n}}function If(){try{let e=ke(Cw(Nw(),"utf8"));return Lw(e).groups.some(t=>Mw(t)!=null)}catch{return!1}}var Pw,Of,Pf=b(()=>{"use strict";$t();Ne();Pw="tkr-gemini-hook",Of="BeforeTool"});import{existsSync as AP,accessSync as $P,constants as CP,readFileSync as Fw}from"node:fs";function Hw(e){return e.includes(jw)}function Nf(e){try{return Hw(Fw(e,"utf8"))}catch{return!1}}var jw,Df=b(()=>{"use strict";Ne();Qe();es();Z();jw='"rewrite", "--host"'});import{readFile as Lf,mkdir as Bw}from"node:fs/promises";import{existsSync as ui,readFileSync as Ff}from"node:fs";import{dirname as zw,join as li}from"node:path";import jf from"node:os";function Yn(){return li(process.env.VIBE_HOME||li(jf.homedir(),".vibe"),"hooks.toml")}function Mf(e){return JSON.stringify(e)}function Uw(e){return["[[hooks]]",`name = ${Mf(Hf)}`,'type = "pre_tool"','match = "bash"',`command = ${Mf(e)}`,"timeout = 10.0","strict = false",'description = "Route shell commands through tokmizer."',""].join(`
106
106
  `)}function ci(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 ss(e){return/^\s*\[\[hooks\]\]/.test(e)&&new RegExp(`^\\s*name\\s*=\\s*"${Hf}"\\s*$`,"m").test(e)}function Bf(e){if(!ss(e))return e;let t=e.split(/(?<=\n)/),n=1;for(;n<t.length&&!/^\s*(?:#.*)?\r?\n?$/.test(t[n]);)n++;for(;n<t.length&&/^\s*\r?\n?$/.test(t[n]);)n++;return t.slice(n).join("")}async function zf(e,t){try{await Bw(zw(e),{recursive:!0})}catch{return!1}return Qr(e,t)}function Uf(){try{return ci(Ff(Yn(),"utf8")).some(ss)}catch{return!1}}async function Zf(e){let t=Yn(),n="";try{ui(t)&&(n=await Lf(t,"utf8"))}catch{return"error"}let r=Uw(e),s=ci(n),o=s.filter(ss);if(o.length===1&&o[0].trimEnd()===r.trimEnd())return"present";let i=s.map(Bf).join("").trimEnd(),a=i?`${i}
107
107
 
108
108
  ${r}`:r;return await zf(t,a)?o.length?"updated":"added":"error"}async function Jf(){let e=Yn();if(!ui(e))return"absent";let t;try{t=await Lf(e,"utf8")}catch{return"error"}let n=ci(t);if(!n.some(ss))return"absent";let r=n.map(Bf).join("").trimEnd(),s=r?`${r}
109
- `:"";return await zf(e,s)?"removed":"error"}function Xn(){return li(jf.homedir(),".gemini","config","hooks.json")}function Zw(e){return{enabled:!0,PreToolUse:[{matcher:"run_command",hooks:[{type:"command",command:e,timeout:10}]}]}}function Gf(){try{let e=ke(Ff(Xn(),"utf8"));return U(e)&&U(e[qn])}catch{return!1}}async function Wf(e){let t=Xn(),n=await tt(t);if(!n)return"error";let r=Zw(e),s=n[qn];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[qn]=r,await nt(t,n)?s===void 0?"added":"updated":"error")}async function Kf(){let e=Xn();if(!ui(e))return"absent";let t=await tt(e);return t?qn in t?(delete t[qn],await nt(e,t)?"removed":"error"):"absent":"error"}var Hf,qn,Vf=b(()=>{"use strict";$t();Ne();es();Hf="tokmizer-rewrite",qn="tokmizer-rewrite"});import{dirname as qP,join as xe}from"node:path";import Jw from"node:os";function Yf(e){return e.kind==="hook"?e.installed():Nf(e.files()[0].target)}var Qn,fi,qf,Xf=b(()=>{"use strict";Ne();Df();Vf();Qn=()=>Jw.homedir(),fi=()=>process.env.XDG_CONFIG_HOME||xe(Qn(),".config"),qf=[{host:"opencode",label:"OpenCode",command:"setup-opencode",kind:"shim",files:()=>[{template:"opencode.js",target:xe(fi(),"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:xe(fi(),"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:xe(fi(),"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:Yn,installed:Uf,ensure:Zf,remove:Jf,next:"Restart Vibe so it reads hooks.toml."},{host:"antigravity",label:"Antigravity",command:"setup-antigravity",kind:"hook",file:Xn,installed:Gf,ensure:Wf,remove:Kf,next:"Restart Antigravity, then check it with /hooks."},{host:"openclaw",label:"OpenClaw",command:"setup-openclaw",kind:"shim",files:()=>{let e=xe(Qn(),".openclaw","extensions","tokmizer");return["index.js","openclaw.plugin.json","package.json"].map(t=>({template:`openclaw/${t}`,target:xe(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:xe(process.env.PI_CODING_AGENT_DIR||xe(Qn(),".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:xe(Qn(),".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=xe(process.env.HERMES_HOME||xe(Qn(),".hermes"),"plugins","tokmizer");return["__init__.py","plugin.yaml"].map(t=>({template:`hermes/${t}`,target:xe(e,t)}))},next:"Run: hermes plugins enable tokmizer, then restart Hermes (needs Hermes v2026.8.16 or newer)."}]});import{existsSync as Gw,readFileSync as Ww}from"node:fs";function os(e,t){return U(e)&&rn(e.command,t)}function Qf(e){return e.path??(e.nested?["hooks"]:[])}function ed(e,t){let n=e;for(let r of Qf(t))U(n[r])||(n[r]={}),n=n[r];return n}function td(e,t){let n=e;for(let s of Qf(t))n=U(n)?n[s]:void 0;if(!U(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function Kw(e){return U(e)&&Array.isArray(e.hooks)?e.hooks:[]}function nd(e,t){return(t.matcher===void 0?e:e.flatMap(Kw)).filter(r=>os(r,t.mark))}function rd(e,t){return nd(td(e,t),t).length>0}function di(e,t){try{let n=ke(Ww(e,"utf8"));return U(n)&&rd(n,t)}catch{return!1}}function Vw(e,t,n){let r=ed(e,t),s=Array.isArray(r[t.event])?r[t.event]:[];r[t.event]=s;let o=nd(s,t)[0],i=t.entry(n);if(o){let a=rs(s,u=>os(u,t.mark),o,t.matcher!==void 0),l=Object.entries(i).filter(([u,c])=>JSON.stringify(o[u])!==JSON.stringify(c));if(!l.length&&!a)return"present";for(let[u,c]of l)o[u]=c;return"updated"}return s.push(t.matcher===void 0?i:{matcher:t.matcher,hooks:[i]}),"added"}function qw(e,t){if(!rd(e,t))return!1;let n=ed(e,t),r=td(e,t),s=t.matcher===void 0?r.filter(o=>!os(o,t.mark)):r.map(o=>U(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!os(i,t.mark))}:o).filter(o=>!U(o)||!Array.isArray(o.hooks)||o.hooks.length>0);return s.length?n[t.event]=s:delete n[t.event],!0}async function pi(e,t,n){let r=await tt(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=Vw(r,t,n);return s==="present"||await nt(e,r)?s:"error"}async function is(e,t){if(!Gw(e))return"absent";let n=await tt(e);return n?qw(n,t)?await nt(e,n)?"removed":"error":"absent":"error"}var sd=b(()=>{"use strict";$t();Ne()});import{existsSync as hi,readFileSync as Yw}from"node:fs";import{join as te}from"node:path";import Xw from"node:os";function De(){return Xw.homedir()}function ld(e){return e.version===void 0&&(e.version=1),e.version===1}function Qw(e,t,n){return Promise.all(e.map(r=>pi(r,t,n))).then(r=>r.includes("error")?"error":r.includes("updated")?"updated":r.includes("added")?"added":"present")}function ex(e,t){return Promise.all(e.map(n=>is(n,t))).then(n=>n.includes("error")?"error":n.includes("removed")?"removed":"absent")}function Ot(e,t){return{...e,installed:()=>e.files().some(n=>di(n,t)),ensure:n=>Qw(e.files(),t,n),remove:()=>ex(e.files(),t)}}function nx(){return te(process.env.COPILOT_HOME||te(De(),".copilot"),"hooks","tokmizer.json")}function sx(){let e=[te(De(),".trae","hooks.json")];return hi(te(De(),".trae-cn"))&&e.push(te(De(),".trae-cn","hooks.json")),e}function ix(){return te(process.env.QWEN_HOME||te(De(),".qwen"),"settings.json")}function lx(){return te(process.env.XDG_CONFIG_HOME||te(De(),".config"),"crush","crush.json")}function cx(){return te(De(),".junie","config.json")}function fx(e){return e.hooks===void 0&&(e.hooks={}),U(e.hooks)?(e.hooks.enabled===void 0&&(e.hooks.enabled=!0),e.hooks.events===void 0||U(e.hooks.events)):!1}function px(){return te(De(),".zcode","cli","config.json")}function hx(){return te(De(),".grok","hooks","tokmizer.json")}function mi(){return te(De(),".factory")}function as(){return[{file:te(mi(),"hooks.json"),spec:gi},{file:te(mi(),"hooks","hooks.json"),spec:gi},{file:te(mi(),"settings.json"),spec:yx}]}function od(e){try{let t=JSON.parse(Yw(e,"utf8"));return U(t)?t:null}catch{return null}}function id(e,t){let n=t?e?.hooks:e;return U(n)&&Array.isArray(n.PreToolUse)&&n.PreToolUse.length>0}function ad(){let[e,t,n]=as(),r=hi(e.file)?e:hi(t.file)?t:null;return r&&id(od(r.file),!1)?r:id(od(n.file),!0)?n:r??e}var tx,rx,ox,ax,ux,dx,mx,gx,gi,yx,bx,ud,cd=b(()=>{"use strict";Ne();sd();tx={mark:"tkr-copilot-hook",event:"PreToolUse",nested:!0,entry:e=>({type:"command",command:e,bash:e,powershell:e,timeout:10,timeoutSec:10}),prepare:ld};rx={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:ld};ox={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};ax={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};ux={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};dx={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:fx};mx={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};gx="tkr-droid-hook",gi={mark:gx,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},yx={...gi,nested:!0};bx={id:"droid",label:"Factory Droid",setup:"tkr setup-droid",bin:"tkr-droid-hook",restart:"Restart Droid, then check it with /hooks.",files:()=>[ad().file],installed:()=>as().some(e=>di(e.file,e.spec)),ensure:async e=>{let t=ad(),n=await pi(t.file,t.spec,e);return n==="error"||await Promise.all(as().filter(r=>r.file!==t.file).map(r=>is(r.file,r.spec))),n},remove:async()=>{let e=await Promise.all(as().map(t=>is(t.file,t.spec)));return e.includes("error")?"error":e.includes("removed")?"removed":"absent"}},ud=[Ot({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:()=>[nx()]},tx),bx,Ot({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:sx},rx),Ot({id:"qwen-code",label:"Qwen Code",setup:"tkr setup-qwen",bin:"tkr-qwen-hook",restart:"Restart Qwen Code, then check it with /hooks.",files:()=>[ix()]},ox),Ot({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[lx()]},ax),Ot({id:"junie",label:"Junie CLI",setup:"tkr setup-junie",bin:"tkr-junie-hook",restart:"Restart Junie CLI so it loads the new hook.",files:()=>[cx()]},ux),Ot({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[px()]},dx),Ot({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:()=>[hx()]},mx)]});function fd(e){return kx.has(e)||(_x[e]?.installed()??!1)}function ls(e){return null}function us(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&&yi.includes(s)){let o=s;return{host:o,source:"env",os:n,arch:r,shimRecommended:!fd(o)}}for(let o of dd)if(o.vars.some(i=>e[i]))return{host:o.host,source:"env",os:n,arch:r,shimRecommended:!fd(o.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}var dd,yi,kx,_x,er=b(()=>{"use strict";Cf();Pf();Xf();cd();dd=[{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:[]}],yi=[...dd.map(e=>e.host),"shell"],kx=new Set(["claude-code","codex"]),_x={cursor:{installed:$f,setup:"tkr setup-cursor"},"gemini-cli":{installed:If,setup:"tkr setup-gemini"},...Object.fromEntries(qf.map(e=>[e.host,{installed:()=>Yf(e),setup:`tkr ${e.command}`}])),...Object.fromEntries(ud.map(e=>[e.id,{installed:e.installed,setup:e.setup}]))}});import{existsSync as wN,realpathSync as wx}from"node:fs";import{basename as SN,delimiter as pd,join as EN,dirname as vN}from"node:path";function md(e){try{return wx(e)}catch{return e}}function hd(){let e=Kn(),t={...process.env},n=process.platform==="win32"?"Path":"PATH",r=t[n]??t.PATH??"",s=md(e),o=r.split(pd).filter(i=>i&&i!==e&&md(i)!==s);return t[n]=o.join(pd),n==="Path"&&(t.PATH=t[n]),t}var gd=b(()=>{"use strict";Gn();Qe();Z();er();we();Xr();we()});function bi(e){return JSON.stringify(e)+cs}function*bd(e){let t=0;for(;;){let n=e.indexOf(cs,t);if(n<0)return;yield e.slice(t,n),t=n+1}}function tr(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}var xx,Sx,Ex,vx,MN,LN,FN,yd,cs,jN,kd=b(()=>{"use strict";xt();Tn();xx=h.object({id:h.string().min(1).max(64),op:h.literal("filter"),cmd:h.string().min(1).max(2048),plan:h.enum(["trial","smart","pro"]),allowed:h.array(h.string().min(1).max(64)).max(512).optional(),installId:h.string().min(1).max(64).optional()}),Sx=h.object({id:h.string().min(1).max(64),op:h.literal("ping")}),Ex=h.object({id:h.string().min(1).max(64),op:h.literal("shutdown"),installId:h.string().min(1).max(64)}),vx=h.object({id:h.string().min(1).max(64),op:h.literal("reload"),installId:h.string().min(1).max(64).optional()}),MN=h.discriminatedUnion("op",[xx,Sx,Ex,vx]),LN=h.object({id:h.string(),ok:h.literal(!0),data:h.unknown()}),FN=h.object({id:h.string(),ok:h.literal(!1),err:h.string(),retryAfterMs:h.number().int().nonnegative().optional()}),yd=h.object({filter:qe.nullable(),cacheHit:h.boolean().optional()}),cs=`
110
- `,jN=64*1024});import{createConnection as Tx}from"node:net";import{spawn as Rx}from"node:child_process";import{existsSync as xd,openSync as ki,closeSync as _d,unlinkSync as wi,writeFileSync as xi,mkdirSync as Si,readFileSync as Sd,appendFileSync as Ax,rmSync as $x,statSync as Ed}from"node:fs";import{dirname as Cx,join as Ei}from"node:path";import{fileURLToPath as Ox}from"node:url";function vi(){return Ei(v(),"daemon.spawn.fail")}function Ti(){return Ei(v(),"daemon.log")}function Dx(){try{let e=Number(Sd(vi(),"utf8"));return Number.isFinite(e)&&Date.now()-e<Px}catch{return!1}}function Mx(e){try{Si(v(),{recursive:!0,mode:448});let t=Ti();try{Ed(t).size>Nx&&wi(t)}catch{}Ax(t,`${new Date().toISOString()} ${e}
111
- `,{mode:384})}catch{}}function Lx(e){try{Si(v(),{recursive:!0,mode:448}),xi(vi(),String(Date.now()),{mode:384})}catch{}Mx(`spawn failed: ${e.message}`)}function Fx(){try{$x(vi(),{force:!0})}catch{}}async function fs(e,t){return new Promise((n,r)=>{let s=Tx(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 jx(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:Ox(new URL("../bin/tkr-daemon.js",import.meta.url))}async function _i(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 fs(e,75)).destroy(),!0}catch{}else if(xd(e))return!0;await new Promise(o=>setTimeout(o,75))}return!1}function Hx(e,t=Date.now()){try{if(t-Ed(e).mtimeMs>1e4)return!0;let r=Number(Sd(e,"utf8").trim());if(!Number.isInteger(r)||r<=0)return!1;try{return process.kill(r,0),!1}catch(s){return s.code==="ESRCH"}}catch{return!1}}async function Bx(e){let t=jx();if(!Re()&&!xd(t))throw new Error(`tkr-daemon binary not found at ${t}`);let{path:n}=Tt(),r=process.platform==="win32"?v():Cx(n);try{Si(r,{recursive:!0,mode:448})}catch{}let s=Ei(r,"daemon.spawn.lock"),o=null;try{o=ki(s,"wx"),xi(o,String(process.pid))}catch(i){if(i.code==="EEXIST"){if(!Hx(s)&&await _i(n,5e3))return;try{wi(s)}catch{}try{o=ki(s,"wx"),xi(o,String(process.pid))}catch(l){if(l.code==="EEXIST"){await _i(n,5e3);return}throw l}}else throw i}try{let i=null;try{i=ki(Ti(),"a",384)}catch{}let[a,...l]=Wn(t);if(Rx(a,l,{detached:!0,stdio:["ignore","ignore",i??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:e}}).unref(),i!==null)try{_d(i)}catch{}if(!await _i(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(o!==null){try{_d(o)}catch{}try{wi(s)}catch{}}}}async function zx(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:Tt(),n=await Bo();try{let r=await fs(t,vd);r.write(bi({id:tr(),op:"shutdown",installId:n})),await new Promise(s=>setTimeout(s,150));try{r.destroy()}catch{}return!0}catch{return!1}}async function Ux(e,t){let n=Date.now()+t;for(;Date.now()<n;){try{(await fs(e,250)).destroy()}catch{return!0}await new Promise(r=>setTimeout(r,100))}return!1}async function Ri(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:Tt(),n=await Bo(),r=null,s=0,o=!1;for(;s<=wd;)try{r=await fs(t,vd),Fx();break}catch{if(s+=1,s>wd)throw new Error(`tkr-daemon unreachable at ${t}`);if(Dx())throw new Error(`tkr-daemon spawn on cooldown (see ${Ti()})`);await $o();try{await Bx(n),o=!0}catch(c){throw Lx(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 f=-1;for(let p=0;p<a.length;p++)a[p]===cs&&(f=p);if(f<0)return;let d=[];for(let p of bd(a.slice(0,f+1)))d.push(p);a=a.slice(f+1);for(let p of d)if(p)try{let y=JSON.parse(p),g=i.get(y.id);if(!g)continue;clearTimeout(g.timer),i.delete(y.id),g.resolve(y)}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((f,d)=>{if(r.destroyed||!r.writable){d(new Error("daemon socket closed"));return}let p=setTimeout(()=>{i.delete(c.id),d(new Error(`daemon request timeout (${c.op})`))},Ix);i.set(c.id,{resolve:f,reject:d,timer:p}),r.write(bi(c))})}let u={filter:async(c,f,d)=>{let p=await l({id:tr(),op:"filter",cmd:c.slice(0,2048),plan:f,...d&&d.length>0?{allowed:d.slice(0,512)}:{},installId:n});if(!p.ok)throw new Error(p.err);let y=yd.safeParse(p.data);return y.success?y.data.filter:null},ping:async()=>{let c=await l({id:tr(),op:"ping"});if(!c.ok)throw new Error(c.err);return c.data},reload:async()=>{let c=await l({id:tr(),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 f=await u.ping();if(f.version&&Pa(ye,f.version))throw new Error(`newer daemon ${f.version} already running`);c=f.version!==ye}catch(f){throw u.close(),f}if(c){try{await zx(e.socketPath?{socketPath:e.socketPath}:{})}catch{}u.close();let f=await Ux(t,2e3);if(await $o(),!f)throw new Error("stale daemon still running after shutdown request");return Ri({...e,skipVersionCheck:!0})}}return u}var vd,Ix,wd,Px,Nx,Td=b(()=>{"use strict";kd();Co();Z();Qe();zo();Zt();vd=500,Ix=3e3,wd=1,Px=6e4,Nx=256*1024});async function Zx(){if(sn)return sn;if(nr)return nr;let e=Ri().then(t=>{if(nr===e)return sn=t,t;try{t.close()}catch{}return null}).catch(()=>null);return nr=e,e}async function Jx(){return $i||($i=!0,Ai=await br()??Vt()),Ai}async function Rd(e,t,n){let r=await Jx();if(!r)return null;let s=r.selectFor(e,t,n?[...n]:void 0);return!s||n&&!n.has(ce(s.slug))?null:s}function Gx(e){return e?{...e,matchRegex:new RegExp(e.match_command)}:null}function ds(){Ro(async(e,t)=>{let r=t??qt(void 0),s=await Zx();if(!s)return Rd(e,"pro",r);try{let o=await s.filter(e,"pro",r?[...r]:void 0);return!o||r&&!r.has(ce(o.slug))?null:Gx(o)}catch{return Rd(e,"pro",r)}})}function ps(){if(Ro(null),sn)try{sn.close()}catch{}sn=null,nr=null,Ai=null,$i=!1}var sn,nr,Ai,$i,Ci=b(()=>{"use strict";Td();zn();Ye();In();Yt();sn=null,nr=null;Ai=null,$i=!1});var on,ms=b(()=>{"use strict";on="[tkr: partial view; folded or omitted lines are not file text. Read with offset/limit for the exact lines before Edit or Write]"});import{chmod as Nd,mkdir as Wx,readFile as lD,writeFile as Ad,stat as uD,readdir as cD,rm as $d,rename as Kx}from"node:fs/promises";import{existsSync as Vx,readFileSync as qx,realpathSync as Yx}from"node:fs";import{createHash as Xx}from"node:crypto";import{dirname as Cd,join as Qx,resolve as Od}from"node:path";function Ld(){try{let e=JSON.parse(qx(Ia(),"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 sS(){let e=Ld().maxAgeDays;return e?e*Dd:eS}function hs(e,t,n=process.env){let r=Number(n[e]);return Number.isFinite(r)&&r>0?r:t}function Fd(e=process.env){return{maxAgeMs:hs("TOKMIZER_CCR_MAX_AGE_MS",sS(),e),maxBytes:hs("TOKMIZER_CCR_DIR_CAP_BYTES",tS,e),entryMaxBytes:hs("TOKMIZER_CCR_ENTRY_MAX_BYTES",Md,e)}}function oS(e){return`${zs(e)}${rS}`}async function Id(e){await Wx(e,{recursive:!0,mode:448});try{await Nd(e,448)}catch{}}function iS(e=process.cwd()){let t;try{t=Yx(Od(e))}catch{t=Od(e)}for(let n=t;;n=Cd(n)){if(Vx(Qx(n,".git")))return n;if(Cd(n)===n)return t}}function aS(e){return e===""?[]:(e.endsWith(`
109
+ `:"";return await zf(e,s)?"removed":"error"}function Xn(){return li(jf.homedir(),".gemini","config","hooks.json")}function Zw(e){return{enabled:!0,PreToolUse:[{matcher:"run_command",hooks:[{type:"command",command:e,timeout:10}]}]}}function Gf(){try{let e=ke(Ff(Xn(),"utf8"));return U(e)&&U(e[qn])}catch{return!1}}async function Wf(e){let t=Xn(),n=await tt(t);if(!n)return"error";let r=Zw(e),s=n[qn];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[qn]=r,await nt(t,n)?s===void 0?"added":"updated":"error")}async function Kf(){let e=Xn();if(!ui(e))return"absent";let t=await tt(e);return t?qn in t?(delete t[qn],await nt(e,t)?"removed":"error"):"absent":"error"}var Hf,qn,Vf=b(()=>{"use strict";$t();Ne();es();Hf="tokmizer-rewrite",qn="tokmizer-rewrite"});import{dirname as VP,join as xe}from"node:path";import Jw from"node:os";function Yf(e){return e.kind==="hook"?e.installed():Nf(e.files()[0].target)}var Qn,fi,qf,Xf=b(()=>{"use strict";Ne();Df();Vf();Qn=()=>Jw.homedir(),fi=()=>process.env.XDG_CONFIG_HOME||xe(Qn(),".config"),qf=[{host:"opencode",label:"OpenCode",command:"setup-opencode",kind:"shim",files:()=>[{template:"opencode.js",target:xe(fi(),"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:xe(fi(),"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:xe(fi(),"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:Yn,installed:Uf,ensure:Zf,remove:Jf,next:"Restart Vibe so it reads hooks.toml."},{host:"antigravity",label:"Antigravity",command:"setup-antigravity",kind:"hook",file:Xn,installed:Gf,ensure:Wf,remove:Kf,next:"Restart Antigravity, then check it with /hooks."},{host:"openclaw",label:"OpenClaw",command:"setup-openclaw",kind:"shim",files:()=>{let e=xe(Qn(),".openclaw","extensions","tokmizer");return["index.js","openclaw.plugin.json","package.json"].map(t=>({template:`openclaw/${t}`,target:xe(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:xe(process.env.PI_CODING_AGENT_DIR||xe(Qn(),".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:xe(Qn(),".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=xe(process.env.HERMES_HOME||xe(Qn(),".hermes"),"plugins","tokmizer");return["__init__.py","plugin.yaml"].map(t=>({template:`hermes/${t}`,target:xe(e,t)}))},next:"Run: hermes plugins enable tokmizer, then restart Hermes (needs Hermes v2026.8.16 or newer)."}]});import{existsSync as Gw,readFileSync as Ww}from"node:fs";function os(e,t){return U(e)&&rn(e.command,t)}function Qf(e){return e.path??(e.nested?["hooks"]:[])}function ed(e,t){let n=e;for(let r of Qf(t))U(n[r])||(n[r]={}),n=n[r];return n}function td(e,t){let n=e;for(let s of Qf(t))n=U(n)?n[s]:void 0;if(!U(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function Kw(e){return U(e)&&Array.isArray(e.hooks)?e.hooks:[]}function nd(e,t){return(t.matcher===void 0?e:e.flatMap(Kw)).filter(r=>os(r,t.mark))}function rd(e,t){return nd(td(e,t),t).length>0}function di(e,t){try{let n=ke(Ww(e,"utf8"));return U(n)&&rd(n,t)}catch{return!1}}function Vw(e,t,n){let r=ed(e,t),s=Array.isArray(r[t.event])?r[t.event]:[];r[t.event]=s;let o=nd(s,t)[0],i=t.entry(n);if(o){let a=rs(s,u=>os(u,t.mark),o,t.matcher!==void 0),l=Object.entries(i).filter(([u,c])=>JSON.stringify(o[u])!==JSON.stringify(c));if(!l.length&&!a)return"present";for(let[u,c]of l)o[u]=c;return"updated"}return s.push(t.matcher===void 0?i:{matcher:t.matcher,hooks:[i]}),"added"}function qw(e,t){if(!rd(e,t))return!1;let n=ed(e,t),r=td(e,t),s=t.matcher===void 0?r.filter(o=>!os(o,t.mark)):r.map(o=>U(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!os(i,t.mark))}:o).filter(o=>!U(o)||!Array.isArray(o.hooks)||o.hooks.length>0);return s.length?n[t.event]=s:delete n[t.event],!0}async function pi(e,t,n){let r=await tt(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=Vw(r,t,n);return s==="present"||await nt(e,r)?s:"error"}async function is(e,t){if(!Gw(e))return"absent";let n=await tt(e);return n?qw(n,t)?await nt(e,n)?"removed":"error":"absent":"error"}var sd=b(()=>{"use strict";$t();Ne()});import{existsSync as hi,readFileSync as Yw}from"node:fs";import{join as te}from"node:path";import Xw from"node:os";function De(){return Xw.homedir()}function ld(e){return e.version===void 0&&(e.version=1),e.version===1}function Qw(e,t,n){return Promise.all(e.map(r=>pi(r,t,n))).then(r=>r.includes("error")?"error":r.includes("updated")?"updated":r.includes("added")?"added":"present")}function ex(e,t){return Promise.all(e.map(n=>is(n,t))).then(n=>n.includes("error")?"error":n.includes("removed")?"removed":"absent")}function Ot(e,t){return{...e,installed:()=>e.files().some(n=>di(n,t)),ensure:n=>Qw(e.files(),t,n),remove:()=>ex(e.files(),t)}}function nx(){return te(process.env.COPILOT_HOME||te(De(),".copilot"),"hooks","tokmizer.json")}function sx(){let e=[te(De(),".trae","hooks.json")];return hi(te(De(),".trae-cn"))&&e.push(te(De(),".trae-cn","hooks.json")),e}function ix(){return te(process.env.QWEN_HOME||te(De(),".qwen"),"settings.json")}function lx(){return te(process.env.XDG_CONFIG_HOME||te(De(),".config"),"crush","crush.json")}function cx(){return te(De(),".junie","config.json")}function fx(e){return e.hooks===void 0&&(e.hooks={}),U(e.hooks)?(e.hooks.enabled===void 0&&(e.hooks.enabled=!0),e.hooks.events===void 0||U(e.hooks.events)):!1}function px(){return te(De(),".zcode","cli","config.json")}function hx(){return te(De(),".grok","hooks","tokmizer.json")}function mi(){return te(De(),".factory")}function as(){return[{file:te(mi(),"hooks.json"),spec:gi},{file:te(mi(),"hooks","hooks.json"),spec:gi},{file:te(mi(),"settings.json"),spec:yx}]}function od(e){try{let t=JSON.parse(Yw(e,"utf8"));return U(t)?t:null}catch{return null}}function id(e,t){let n=t?e?.hooks:e;return U(n)&&Array.isArray(n.PreToolUse)&&n.PreToolUse.length>0}function ad(){let[e,t,n]=as(),r=hi(e.file)?e:hi(t.file)?t:null;return r&&id(od(r.file),!1)?r:id(od(n.file),!0)?n:r??e}var tx,rx,ox,ax,ux,dx,mx,gx,gi,yx,bx,ud,cd=b(()=>{"use strict";Ne();sd();tx={mark:"tkr-copilot-hook",event:"PreToolUse",nested:!0,entry:e=>({type:"command",command:e,bash:e,powershell:e,timeout:10,timeoutSec:10}),prepare:ld};rx={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:ld};ox={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};ax={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};ux={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};dx={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:fx};mx={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};gx="tkr-droid-hook",gi={mark:gx,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},yx={...gi,nested:!0};bx={id:"droid",label:"Factory Droid",setup:"tkr setup-droid",bin:"tkr-droid-hook",restart:"Restart Droid, then check it with /hooks.",files:()=>[ad().file],installed:()=>as().some(e=>di(e.file,e.spec)),ensure:async e=>{let t=ad(),n=await pi(t.file,t.spec,e);return n==="error"||await Promise.all(as().filter(r=>r.file!==t.file).map(r=>is(r.file,r.spec))),n},remove:async()=>{let e=await Promise.all(as().map(t=>is(t.file,t.spec)));return e.includes("error")?"error":e.includes("removed")?"removed":"absent"}},ud=[Ot({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:()=>[nx()]},tx),bx,Ot({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:sx},rx),Ot({id:"qwen-code",label:"Qwen Code",setup:"tkr setup-qwen",bin:"tkr-qwen-hook",restart:"Restart Qwen Code, then check it with /hooks.",files:()=>[ix()]},ox),Ot({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[lx()]},ax),Ot({id:"junie",label:"Junie CLI",setup:"tkr setup-junie",bin:"tkr-junie-hook",restart:"Restart Junie CLI so it loads the new hook.",files:()=>[cx()]},ux),Ot({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[px()]},dx),Ot({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:()=>[hx()]},mx)]});function fd(e){return kx.has(e)||(_x[e]?.installed()??!1)}function ls(e){return null}function us(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&&yi.includes(s)){let o=s;return{host:o,source:"env",os:n,arch:r,shimRecommended:!fd(o)}}for(let o of dd)if(o.vars.some(i=>e[i]))return{host:o.host,source:"env",os:n,arch:r,shimRecommended:!fd(o.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}var dd,yi,kx,_x,er=b(()=>{"use strict";Cf();Pf();Xf();cd();dd=[{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:[]}],yi=[...dd.map(e=>e.host),"shell"],kx=new Set(["claude-code","codex"]),_x={cursor:{installed:$f,setup:"tkr setup-cursor"},"gemini-cli":{installed:If,setup:"tkr setup-gemini"},...Object.fromEntries(qf.map(e=>[e.host,{installed:()=>Yf(e),setup:`tkr ${e.command}`}])),...Object.fromEntries(ud.map(e=>[e.id,{installed:e.installed,setup:e.setup}]))}});import{existsSync as _N,realpathSync as wx}from"node:fs";import{basename as xN,delimiter as pd,join as SN,dirname as EN}from"node:path";function md(e){try{return wx(e)}catch{return e}}function hd(){let e=Kn(),t={...process.env},n=process.platform==="win32"?"Path":"PATH",r=t[n]??t.PATH??"",s=md(e),o=r.split(pd).filter(i=>i&&i!==e&&md(i)!==s);return t[n]=o.join(pd),n==="Path"&&(t.PATH=t[n]),t}var gd=b(()=>{"use strict";Gn();Qe();Z();er();we();Xr();we()});function bi(e){return JSON.stringify(e)+cs}function*bd(e){let t=0;for(;;){let n=e.indexOf(cs,t);if(n<0)return;yield e.slice(t,n),t=n+1}}function tr(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}var xx,Sx,Ex,vx,DN,MN,LN,yd,cs,FN,kd=b(()=>{"use strict";xt();Tn();xx=h.object({id:h.string().min(1).max(64),op:h.literal("filter"),cmd:h.string().min(1).max(2048),plan:h.enum(["trial","smart","pro"]),allowed:h.array(h.string().min(1).max(64)).max(512).optional(),installId:h.string().min(1).max(64).optional()}),Sx=h.object({id:h.string().min(1).max(64),op:h.literal("ping")}),Ex=h.object({id:h.string().min(1).max(64),op:h.literal("shutdown"),installId:h.string().min(1).max(64)}),vx=h.object({id:h.string().min(1).max(64),op:h.literal("reload"),installId:h.string().min(1).max(64).optional()}),DN=h.discriminatedUnion("op",[xx,Sx,Ex,vx]),MN=h.object({id:h.string(),ok:h.literal(!0),data:h.unknown()}),LN=h.object({id:h.string(),ok:h.literal(!1),err:h.string(),retryAfterMs:h.number().int().nonnegative().optional()}),yd=h.object({filter:qe.nullable(),cacheHit:h.boolean().optional()}),cs=`
110
+ `,FN=64*1024});import{createConnection as Tx}from"node:net";import{spawn as Rx}from"node:child_process";import{existsSync as xd,openSync as ki,closeSync as _d,unlinkSync as wi,writeFileSync as xi,mkdirSync as Si,readFileSync as Sd,appendFileSync as Ax,rmSync as $x,statSync as Ed}from"node:fs";import{dirname as Cx,join as Ei}from"node:path";import{fileURLToPath as Ox}from"node:url";function vi(){return Ei(v(),"daemon.spawn.fail")}function Ti(){return Ei(v(),"daemon.log")}function Dx(){try{let e=Number(Sd(vi(),"utf8"));return Number.isFinite(e)&&Date.now()-e<Px}catch{return!1}}function Mx(e){try{Si(v(),{recursive:!0,mode:448});let t=Ti();try{Ed(t).size>Nx&&wi(t)}catch{}Ax(t,`${new Date().toISOString()} ${e}
111
+ `,{mode:384})}catch{}}function Lx(e){try{Si(v(),{recursive:!0,mode:448}),xi(vi(),String(Date.now()),{mode:384})}catch{}Mx(`spawn failed: ${e.message}`)}function Fx(){try{$x(vi(),{force:!0})}catch{}}async function fs(e,t){return new Promise((n,r)=>{let s=Tx(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 jx(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:Ox(new URL("../bin/tkr-daemon.js",import.meta.url))}async function _i(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 fs(e,75)).destroy(),!0}catch{}else if(xd(e))return!0;await new Promise(o=>setTimeout(o,75))}return!1}function Hx(e,t=Date.now()){try{if(t-Ed(e).mtimeMs>1e4)return!0;let r=Number(Sd(e,"utf8").trim());if(!Number.isInteger(r)||r<=0)return!1;try{return process.kill(r,0),!1}catch(s){return s.code==="ESRCH"}}catch{return!1}}async function Bx(e){let t=jx();if(!Re()&&!xd(t))throw new Error(`tkr-daemon binary not found at ${t}`);let{path:n}=Tt(),r=process.platform==="win32"?v():Cx(n);try{Si(r,{recursive:!0,mode:448})}catch{}let s=Ei(r,"daemon.spawn.lock"),o=null;try{o=ki(s,"wx"),xi(o,String(process.pid))}catch(i){if(i.code==="EEXIST"){if(!Hx(s)&&await _i(n,5e3))return;try{wi(s)}catch{}try{o=ki(s,"wx"),xi(o,String(process.pid))}catch(l){if(l.code==="EEXIST"){await _i(n,5e3);return}throw l}}else throw i}try{let i=null;try{i=ki(Ti(),"a",384)}catch{}let[a,...l]=Wn(t);if(Rx(a,l,{detached:!0,stdio:["ignore","ignore",i??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:e}}).unref(),i!==null)try{_d(i)}catch{}if(!await _i(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(o!==null){try{_d(o)}catch{}try{wi(s)}catch{}}}}async function zx(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:Tt(),n=await Bo();try{let r=await fs(t,vd);r.write(bi({id:tr(),op:"shutdown",installId:n})),await new Promise(s=>setTimeout(s,150));try{r.destroy()}catch{}return!0}catch{return!1}}async function Ux(e,t){let n=Date.now()+t;for(;Date.now()<n;){try{(await fs(e,250)).destroy()}catch{return!0}await new Promise(r=>setTimeout(r,100))}return!1}async function Ri(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:Tt(),n=await Bo(),r=null,s=0,o=!1;for(;s<=wd;)try{r=await fs(t,vd),Fx();break}catch{if(s+=1,s>wd)throw new Error(`tkr-daemon unreachable at ${t}`);if(Dx())throw new Error(`tkr-daemon spawn on cooldown (see ${Ti()})`);await $o();try{await Bx(n),o=!0}catch(c){throw Lx(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 f=-1;for(let p=0;p<a.length;p++)a[p]===cs&&(f=p);if(f<0)return;let d=[];for(let p of bd(a.slice(0,f+1)))d.push(p);a=a.slice(f+1);for(let p of d)if(p)try{let y=JSON.parse(p),g=i.get(y.id);if(!g)continue;clearTimeout(g.timer),i.delete(y.id),g.resolve(y)}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((f,d)=>{if(r.destroyed||!r.writable){d(new Error("daemon socket closed"));return}let p=setTimeout(()=>{i.delete(c.id),d(new Error(`daemon request timeout (${c.op})`))},Ix);i.set(c.id,{resolve:f,reject:d,timer:p}),r.write(bi(c))})}let u={filter:async(c,f,d)=>{let p=await l({id:tr(),op:"filter",cmd:c.slice(0,2048),plan:f,...d&&d.length>0?{allowed:d.slice(0,512)}:{},installId:n});if(!p.ok)throw new Error(p.err);let y=yd.safeParse(p.data);return y.success?y.data.filter:null},ping:async()=>{let c=await l({id:tr(),op:"ping"});if(!c.ok)throw new Error(c.err);return c.data},reload:async()=>{let c=await l({id:tr(),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 f=await u.ping();if(f.version&&Pa(ye,f.version))throw new Error(`newer daemon ${f.version} already running`);c=f.version!==ye}catch(f){throw u.close(),f}if(c){try{await zx(e.socketPath?{socketPath:e.socketPath}:{})}catch{}u.close();let f=await Ux(t,2e3);if(await $o(),!f)throw new Error("stale daemon still running after shutdown request");return Ri({...e,skipVersionCheck:!0})}}return u}var vd,Ix,wd,Px,Nx,Td=b(()=>{"use strict";kd();Co();Z();Qe();zo();Zt();vd=500,Ix=3e3,wd=1,Px=6e4,Nx=256*1024});async function Zx(){if(sn)return sn;if(nr)return nr;let e=Ri().then(t=>{if(nr===e)return sn=t,t;try{t.close()}catch{}return null}).catch(()=>null);return nr=e,e}async function Jx(){return $i||($i=!0,Ai=await br()??Vt()),Ai}async function Rd(e,t,n){let r=await Jx();if(!r)return null;let s=r.selectFor(e,t,n?[...n]:void 0);return!s||n&&!n.has(ce(s.slug))?null:s}function Gx(e){return e?{...e,matchRegex:new RegExp(e.match_command)}:null}function ds(){Ro(async(e,t)=>{let r=t??qt(void 0),s=await Zx();if(!s)return Rd(e,"pro",r);try{let o=await s.filter(e,"pro",r?[...r]:void 0);return!o||r&&!r.has(ce(o.slug))?null:Gx(o)}catch{return Rd(e,"pro",r)}})}function ps(){if(Ro(null),sn)try{sn.close()}catch{}sn=null,nr=null,Ai=null,$i=!1}var sn,nr,Ai,$i,Ci=b(()=>{"use strict";Td();zn();Ye();In();Yt();sn=null,nr=null;Ai=null,$i=!1});var on,ms=b(()=>{"use strict";on="[tkr: partial view; folded or omitted lines are not file text. Read with offset/limit for the exact lines before Edit or Write]"});import{chmod as Nd,mkdir as Wx,readFile as aD,writeFile as Ad,stat as lD,readdir as uD,rm as $d,rename as Kx}from"node:fs/promises";import{existsSync as Vx,readFileSync as qx,realpathSync as Yx}from"node:fs";import{createHash as Xx}from"node:crypto";import{dirname as Cd,join as Qx,resolve as Od}from"node:path";function Ld(){try{let e=JSON.parse(qx(Ia(),"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 sS(){let e=Ld().maxAgeDays;return e?e*Dd:eS}function hs(e,t,n=process.env){let r=Number(n[e]);return Number.isFinite(r)&&r>0?r:t}function Fd(e=process.env){return{maxAgeMs:hs("TOKMIZER_CCR_MAX_AGE_MS",sS(),e),maxBytes:hs("TOKMIZER_CCR_DIR_CAP_BYTES",tS,e),entryMaxBytes:hs("TOKMIZER_CCR_ENTRY_MAX_BYTES",Md,e)}}function oS(e){return`${zs(e)}${rS}`}async function Id(e){await Wx(e,{recursive:!0,mode:448});try{await Nd(e,448)}catch{}}function iS(e=process.cwd()){let t;try{t=Yx(Od(e))}catch{t=Od(e)}for(let n=t;;n=Cd(n)){if(Vx(Qx(n,".git")))return n;if(Cd(n)===n)return t}}function aS(e){return e===""?[]:(e.endsWith(`
112
112
  `)?e.slice(0,-1):e).split(`
113
113
  `)}async function lS(e,t,n=process.env,r={}){if(de()||!nS.test(e))return!1;t=Mr(t);let s=Buffer.byteLength(t,"utf8");if(s>hs("TOKMIZER_CCR_ENTRY_MAX_BYTES",Md,n))return!1;let o=zs(e),i=`${o}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{if(await Id(v()),await Id(Bs()),de())return!1;if(await Ad(i,t,{mode:384}),await Nd(i,384),de())return await $d(i,{force:!0}),!1;await Kx(i,o)}catch{try{await $d(i)}catch{}return!1}let a={at:Date.now(),bytes:s,lines:aS(t).length,partial:r.partial===!0,...r.label?{label:r.label.slice(0,40)}:{},project:iS(r.cwd)};try{await Ad(oS(e),JSON.stringify(a),{mode:384})}catch{}return!0}function jd(e){let t=e.TOKMIZER_CCR_DISABLED;return t==="1"||t==="true"||de()||Ld().disabled===!0}function Me(e,t){let n=e.replace(uS,"> ");if(!n.includes("[tkr:")&&!n.includes("[same output as "))return n;let r=t==null?null:t.split(`
114
114
  `).map(o=>o.replace(/\r$/,"")).filter(o=>Pd.test(o)),s=o=>{if(r==null)return!1;let i=cS.find(a=>a(o));return i!=null&&!r.some(i)};return n.split(`
@@ -122,12 +122,12 @@ ${r}`:r;return await zf(t,a)?o.length?"updated":"added":"error"}async function J
122
122
  `}function Bd(e,t){let n=Buffer.byteLength(e,"utf8");return n>Fd(t).entryMaxBytes?n:null}async function Oi(e,t,n,r){let s=Xx("sha256").update(e).digest("hex").slice(0,16);return await lS(s,e,r,{partial:t,label:n})?s:null}function zd(e,t){return`${e===""||e.endsWith(`
123
123
  `)?"":`
124
124
  `}[tkr restore ${t}]
125
- `}async function an(e,t,n=process.env,r={}){if(t=Me(t,r.raw),jd(n)||!e)return t;let s=a=>zd(t,a);if(Buffer.byteLength(e,"utf8")<=Buffer.byteLength(s("0".repeat(16)),"utf8"))return t;if(r.raw){let a=await Oi(r.raw,!1,r.label,n);if(a)return`${t}${s(a)}`}let o=await Oi(e,!0,r.label,n);if(o)return`${t}${s(o)}`;if(de())return t;let i=Bd(r.raw||e,n);return i?`${t}${Hd(t,i,n)}`:r.raw??`${t}${fS(t)}`}async function gs(e,t,n=process.env,r={}){if(t=Me(t,e),jd(n)||!e)return t;let s=await Oi(e,!1,r.label,n);if(s)return`${t}${zd(t,s)}`;if(de())return t;let o=Bd(e,n);return o?`${t}${Hd(t,o,n)}`:e}var Dd,eS,tS,Md,nS,rS,bD,uS,Pd,cS,Ii=b(()=>{"use strict";Jn();ms();Z();Zn();Dd=1440*60*1e3,eS=30*Dd,tS=200*1024*1024,Md=8*1024*1024,nS=/^[0-9a-f]{8,64}$/i,rS=".meta",bD=["usage: tkr restore <hash> [--lines a:b] [--grep pattern]"," tkr restore --list [--all-projects]"," tkr restore --grep <pattern> [--all-projects]",""].join(`
125
+ `}async function an(e,t,n=process.env,r={}){if(t=Me(t,r.raw),jd(n)||!e)return t;let s=a=>zd(t,a);if(Buffer.byteLength(e,"utf8")<=Buffer.byteLength(s("0".repeat(16)),"utf8"))return t;if(r.raw){let a=await Oi(r.raw,!1,r.label,n);if(a)return`${t}${s(a)}`}let o=await Oi(e,!0,r.label,n);if(o)return`${t}${s(o)}`;if(de())return t;let i=Bd(r.raw||e,n);return i?`${t}${Hd(t,i,n)}`:r.raw??`${t}${fS(t)}`}async function gs(e,t,n=process.env,r={}){if(t=Me(t,e),jd(n)||!e)return t;let s=await Oi(e,!1,r.label,n);if(s)return`${t}${zd(t,s)}`;if(de())return t;let o=Bd(e,n);return o?`${t}${Hd(t,o,n)}`:e}var Dd,eS,tS,Md,nS,rS,yD,uS,Pd,cS,Ii=b(()=>{"use strict";Jn();ms();Z();Zn();Dd=1440*60*1e3,eS=30*Dd,tS=200*1024*1024,Md=8*1024*1024,nS=/^[0-9a-f]{8,64}$/i,rS=".meta",yD=["usage: tkr restore <hash> [--lines a:b] [--grep pattern]"," tkr restore --list [--all-projects]"," tkr restore --grep <pattern> [--all-projects]",""].join(`
126
126
  `);uS=/^(?=\[tkr |\[tokmizer\])/gm,Pd=/^\[(?:tkr:|same output as )/,cS=[e=>e===on,e=>/^\[tkr: previous log line repeated \d+ additional times\]$/.test(e),e=>/^\[same output as `.*` earlier in this session, unchanged, ~\d+ tokens\]$/.test(e)]});var Mi={};wn(Mi,{CAPTURING_ENV:()=>Di,POST_EXIT_IDLE_MS:()=>Gd,POST_EXIT_MAX_MS:()=>Wd,commandLine:()=>Vd,kickBackgroundEnroll:()=>ys,processCapturedOutput:()=>bs,resolveExecTimeoutMs:()=>Kd,runWrapped:()=>vS,signalNumber:()=>Pi,underCapturingExec:()=>_S});import{existsSync as Ud,readFileSync as dS,writeFileSync as pS,mkdirSync as mS}from"node:fs";import{join as hS}from"node:path";import{constants as gS}from"node:os";import{fileURLToPath as yS}from"node:url";import{StringDecoder as bS}from"node:string_decoder";function _S(e=process.env){return e[Di]==="1"}function Jd(e,t){let n=new bS("utf8"),r=n.write(Buffer.concat(e));return t?r:r+n.end()}function ys(){try{if(!Cn()||!Ud(La()))return;let e=process.env.TOKMIZER_TKR_BIN||yS(new URL("../bin/tkr.js",import.meta.url));if(!Re()&&!Ud(e))return;let t=hS(v(),"enroll-kick");try{let o=Number(dS(t,"utf8"));if(Number.isFinite(o)&&Date.now()-o<kS)return}catch{}mS(v(),{recursive:!0,mode:448}),pS(t,String(Date.now()));let[n,...r]=Wn(e);(0,Ni.default)(n,[...r,"heartbeat"],{detached:!0,stdio:"ignore",windowsHide:!0}).unref()}catch{}}function Kd(e){let t=Number(e.TOKMIZER_EXEC_TIMEOUT_MS);if(Number.isFinite(t)&&t>0)return t;let n=Number(e.BASH_MAX_TIMEOUT_MS);return Number.isFinite(n)&&n>6e5?n:6e5}function Pi(e){return gS.signals[e]??xS[e]??15}function Vd(e){return e.map(t=>SS.test(t)?t:Pe(t)).join(" ")}function ES(e){let t=Hn(e);if(t===null)return!1;let[n,...r]=Be(t).split(/\s+/);return/^(?:cat|head|nl)(?:\.exe)?$/i.test(n?.split(/[\\/]/).pop()??"")&&r.some(s=>s!==""&&!s.startsWith("-"))}async function vS(e){let[t,...n]=e;if(!t)throw new Error("tkr-exec: missing command");let r=de(),s={...hd(),[Di]:"1"},o=(0,Ni.default)(vc(t,s),n,{stdio:["inherit","pipe","pipe"],env:s,windowsHide:!0}),i=!1;o.on("spawn",()=>{i=!0});let a=N=>{try{o.kill(N)}catch{}},l=()=>a("SIGINT"),u=()=>a("SIGTERM");process.on("SIGINT",l),process.on("SIGTERM",u);let c=[],f=[],d=0,p=0,y=!1,g=!1;o.stdout?.on("data",N=>{if(d>=ln){y=!0;return}let F=ln-d,K=N.length>F?N.subarray(0,F):N;c.push(K),d+=K.length,N.length>F&&(y=!0)}),o.stderr?.on("data",N=>{if(p>=ln){g=!0;return}let F=ln-p,K=N.length>F?N.subarray(0,F):N;f.push(K),p+=K.length,N.length>F&&(g=!0)});let m,_,w,E,R;try{R=await new Promise((N,F)=>{o.on("error",J=>{m&&clearTimeout(m),i?N(1):F(J)});let K=null,ne=()=>{K!=null&&(m&&clearTimeout(m),w&&clearTimeout(w),E&&clearTimeout(E),N(K))},q=()=>{o.stdout?.destroy(),o.stderr?.destroy(),ne()},I=()=>{w&&clearTimeout(w),w=setTimeout(q,Gd)};o.on("exit",(J,H)=>{m&&clearTimeout(m),_&&clearTimeout(_),K=J??(H?128+Pi(H):0),I(),E=setTimeout(q,Wd),o.stdout?.on("data",I),o.stderr?.on("data",I)}),o.on("close",(J,H)=>{K==null&&(K=J??(H?128+Pi(H):0)),ne()}),m=setTimeout(()=>{o.kill("SIGTERM"),_=setTimeout(()=>o.kill("SIGKILL"),2e3)},wS),m.unref?.()})}finally{m&&clearTimeout(m),_&&clearTimeout(_),w&&clearTimeout(w),E&&clearTimeout(E),process.off("SIGINT",l),process.off("SIGTERM",u)}let C=Jd(c,y),L=Jd(f,g);return bs({argv:e,stdout:C,stderr:L,exitCode:R,truncated:y,stderrTruncated:g},{yolo:r,env:process.env,onMissingState:ys})}async function bs({argv:e,stdout:t,stderr:n,exitCode:r,truncated:s,stderrTruncated:o},{yolo:i,env:a,resolver:l,onMissingState:u,deferAccounting:c,...f}){let d=s?`
127
127
  \u2026 (output truncated at ${ln/1048576}MB)`:"",p=o?`
128
128
  \u2026 (stderr truncated at ${ln/(1024*1024)}MB)`:"",y=()=>{let g=t+d,m=Buffer.byteLength(g,"utf8");return{stdout:g,stderr:n+p,code:r??0,filterId:null,rawBytes:m,filteredBytes:m,truncated:s}};try{let g=await St();g||u?.();let m=await ze();if(!m.enabled)return y();let _=a.CLAUDE_CODE_SESSION_ID;_&&g?.token&&Gr(_,{tool:"Bash",target:e.join(" "),...r!=null&&r!==0?{fail:1}:{}});let w=g?qt(g.allowedFilters,Dr(g)):null,E=new Set(m.filters.disabled.map(ce)),R=w&&E.size>0?new Set([...w].filter(P=>!E.has(P))):w,C=Vd(e);g&&!l&&ds();let L=await Xe(C,t,R,{verbosity:m.outputVerbosity,resolver:l,yolo:i,exitCode:r}),N=Me(n,n),F=0,K=0;if((i||r===0||r==null)&&Buffer.byteLength(n,"utf8")>=(i?1:Zd)){let P=await Xe(C,n,R,{verbosity:m.outputVerbosity,resolver:l,yolo:i,exitCode:r});if(N=Me(P.output,n),!i&&P.output!==n)try{N=await an(P.droppedTail??null,P.output,a,{raw:o?null:n,label:At(C)})}catch{}F=P.rawBytes,K=P.filteredBytes}else if(!i&&r!==0&&Buffer.byteLength(n,"utf8")>=Zd){let P=await Xe(C,n,R,{verbosity:m.outputVerbosity,resolver:l,exitCode:r});if(P.failureSummary){try{N=await an(P.droppedTail??null,P.output,a)}catch{N=Me(P.output,n)}F=P.rawBytes,K=P.filteredBytes}}let q=!i&&L.output!==t&&ES(C)?`${L.output}${L.output.endsWith(`
129
129
  `)?"":`
130
- `}${on}`:L.output,I=Me(q,t);if(!i&&L.filteredBytes<L.rawBytes)try{I=new RegExp(Sr.source,"m").test(L.output)?await gs(t,q,a,{label:At(C)}):await an(L.droppedTail??null,q,a,{raw:s?null:t,label:At(C)})}catch{}!s&&t.length>0&&Buffer.byteLength(I,"utf8")>=Buffer.byteLength(t,"utf8")&&(I=Me(t,t));let J=I+d,H=N+p,W=us(a).host,z=Jr(L.rawBytes+Buffer.byteLength(n,"utf8"),Buffer.byteLength(J,"utf8")+Buffer.byteLength(H,"utf8"),ls(W)),V=!1,pe=async()=>{if(!V){V=!0;try{Ur(z.raw,z.filtered,void 0,!1,W,"sh",At(C),"cwd"in f?f.cwd:process.cwd(),Zr(L)),g&&await Br({cmd:C,filterId:L.filterId,rawBytes:L.rawBytes,filteredBytes:L.filteredBytes}),await jr({cmd:C,tokensSaved:Math.max(0,Math.round((z.raw-z.filtered)/4)),rawTokens:Math.round(z.raw/4),optimized:L.filterId!=null,telemetryOptIn:m.telemetryOptIn&&(!c||(await ze()).telemetryOptIn),sessionId:_,host:W})}catch{}}};return c?c(pe):await pe(),{stdout:J,stderr:H,code:r??0,filterId:L.filterId,rawBytes:L.rawBytes+F,filteredBytes:L.filteredBytes+K,truncated:s}}catch{return y()}finally{l||ps()}}var Ni,ln,Zd,kS,Gd,Wd,Di,wS,xS,SS,ks=b(()=>{"use strict";Ni=gm(xc(),1);Tc();zn();Ye();Yt();$n();Z();Ho();Go();Hr();Ko();Wr();en();er();gd();Ci();Ii();Wt();ms();xo();Zn();Qe();On();we();ln=10*1024*1024,Zd=1024,kS=6e4,Gd=200,Wd=1e3,Di="TOKMIZER_EXEC_CAPTURING";wS=Kd(process.env),xS={SIGHUP:1,SIGINT:2,SIGQUIT:3,SIGILL:4,SIGTRAP:5,SIGABRT:6,SIGBUS:7,SIGFPE:8,SIGKILL:9,SIGUSR1:10,SIGSEGV:11,SIGUSR2:12,SIGPIPE:13,SIGALRM:14,SIGTERM:15};SS=/^[A-Za-z0-9_@%+=:,./-]+$/});var Vi={};wn(Vi,{FOLD_MARKER_RE:()=>Sr,captureForRestore:()=>an,captureOriginalForRestore:()=>gs,closeDaemonResolver:()=>ps,countedSaving:()=>Jr,graceExceeded:()=>Dr,installDaemonResolver:()=>ds,loadSettingsCache:()=>ze,neutralizeMarkers:()=>Me,processOutput:()=>Xe,recordEvent:()=>Br,recordStat:()=>Ur,recordTelemetry:()=>jr,resolveAllowedFilters:()=>qt,statCmdLabel:()=>At,statOutcome:()=>Zr});var qi=b(()=>{"use strict";zn();Ii();Wt();Yt();Ho();Go();Hr();Ko();Ci();en()});In();zn();Yt();import{mkdirSync as kR,readFileSync as aa,realpathSync as _R,rmSync as Os,writeFileSync as wR}from"node:fs";import{join as oa}from"node:path";Co();Z();Zt();import{randomBytes as cR,randomUUID as rm}from"node:crypto";import{lstatSync as fR,mkdirSync as dR,realpathSync as pR,renameSync as mR,rmSync as hR,writeFileSync as gR}from"node:fs";import{dirname as yR,join as Cs}from"node:path";xt();In();Z();Zn();ks();import{timingSafeEqual as na}from"node:crypto";import{chmodSync as tR,lstatSync as nR,realpathSync as rR}from"node:fs";import{dirname as sR}from"node:path";import{createServer as oR}from"node:net";Xr();qo();xr();import{spawnSync as gp}from"node:child_process";import{existsSync as rt,readFileSync as sr,readdirSync as xs,statSync as yE}from"node:fs";import{homedir as It,userInfo as bE}from"node:os";import{fileURLToPath as kE}from"node:url";import{dirname as yp,join as M,resolve as _E,win32 as wE}from"node:path";Z();import{appendFileSync as CS,chmodSync as OS,mkdirSync as IS,existsSync as PS,readFileSync as YD,rmSync as XD}from"node:fs";import{dirname as NS,join as DS}from"node:path";import{readFileSync as TS,renameSync as RS,statSync as AS,writeFileSync as $S}from"node:fs";function qd(e,t,n){try{if(AS(e).size<=t)return;let r=TS(e,"utf8").split(`
130
+ `}${on}`:L.output,I=Me(q,t);if(!i&&L.filteredBytes<L.rawBytes)try{I=new RegExp(Sr.source,"m").test(L.output)?await gs(t,q,a,{label:At(C)}):await an(L.droppedTail??null,q,a,{raw:s?null:t,label:At(C)})}catch{}!s&&t.length>0&&Buffer.byteLength(I,"utf8")>=Buffer.byteLength(t,"utf8")&&(I=Me(t,t));let J=I+d,H=N+p,W=us(a).host,z=Jr(L.rawBytes+Buffer.byteLength(n,"utf8"),Buffer.byteLength(J,"utf8")+Buffer.byteLength(H,"utf8"),ls(W)),V=!1,pe=async()=>{if(!V){V=!0;try{Ur(z.raw,z.filtered,void 0,!1,W,"sh",At(C),"cwd"in f?f.cwd:process.cwd(),Zr(L)),g&&await Br({cmd:C,filterId:L.filterId,rawBytes:L.rawBytes,filteredBytes:L.filteredBytes}),await jr({cmd:C,tokensSaved:Math.max(0,Math.round((z.raw-z.filtered)/4)),rawTokens:Math.round(z.raw/4),optimized:L.filterId!=null,telemetryOptIn:m.telemetryOptIn&&(!c||(await ze()).telemetryOptIn),sessionId:_,host:W})}catch{}}};return c?c(pe):await pe(),{stdout:J,stderr:H,code:r??0,filterId:L.filterId,rawBytes:L.rawBytes+F,filteredBytes:L.filteredBytes+K,truncated:s}}catch{return y()}finally{l||ps()}}var Ni,ln,Zd,kS,Gd,Wd,Di,wS,xS,SS,ks=b(()=>{"use strict";Ni=gm(xc(),1);Tc();zn();Ye();Yt();$n();Z();Ho();Go();Hr();Ko();Wr();en();er();gd();Ci();Ii();Wt();ms();xo();Zn();Qe();On();we();ln=10*1024*1024,Zd=1024,kS=6e4,Gd=200,Wd=1e3,Di="TOKMIZER_EXEC_CAPTURING";wS=Kd(process.env),xS={SIGHUP:1,SIGINT:2,SIGQUIT:3,SIGILL:4,SIGTRAP:5,SIGABRT:6,SIGBUS:7,SIGFPE:8,SIGKILL:9,SIGUSR1:10,SIGSEGV:11,SIGUSR2:12,SIGPIPE:13,SIGALRM:14,SIGTERM:15};SS=/^[A-Za-z0-9_@%+=:,./-]+$/});var Vi={};wn(Vi,{FOLD_MARKER_RE:()=>Sr,captureForRestore:()=>an,captureOriginalForRestore:()=>gs,closeDaemonResolver:()=>ps,countedSaving:()=>Jr,graceExceeded:()=>Dr,installDaemonResolver:()=>ds,loadSettingsCache:()=>ze,neutralizeMarkers:()=>Me,processOutput:()=>Xe,recordEvent:()=>Br,recordStat:()=>Ur,recordTelemetry:()=>jr,resolveAllowedFilters:()=>qt,statCmdLabel:()=>At,statOutcome:()=>Zr});var qi=b(()=>{"use strict";zn();Ii();Wt();Yt();Ho();Go();Hr();Ko();Ci();en()});In();zn();Yt();import{mkdirSync as kR,readFileSync as aa,realpathSync as _R,rmSync as Os,writeFileSync as wR}from"node:fs";import{join as oa}from"node:path";Co();Z();Zt();import{randomBytes as cR,randomUUID as rm}from"node:crypto";import{lstatSync as fR,mkdirSync as dR,realpathSync as pR,renameSync as mR,rmSync as hR,writeFileSync as gR}from"node:fs";import{dirname as yR,join as Cs}from"node:path";xt();In();Z();Zn();ks();import{timingSafeEqual as na}from"node:crypto";import{chmodSync as tR,lstatSync as nR,realpathSync as rR}from"node:fs";import{dirname as sR}from"node:path";import{createServer as oR}from"node:net";Xr();qo();xr();import{spawnSync as gp}from"node:child_process";import{existsSync as rt,readFileSync as sr,readdirSync as xs,statSync as yE}from"node:fs";import{homedir as It,userInfo as bE}from"node:os";import{fileURLToPath as kE}from"node:url";import{dirname as yp,join as M,resolve as _E,win32 as wE}from"node:path";Z();import{appendFileSync as CS,chmodSync as OS,mkdirSync as IS,existsSync as PS,readFileSync as qD,rmSync as YD}from"node:fs";import{dirname as NS,join as DS}from"node:path";import{readFileSync as TS,renameSync as RS,statSync as AS,writeFileSync as $S}from"node:fs";function qd(e,t,n){try{if(AS(e).size<=t)return;let r=TS(e,"utf8").split(`
131
131
  `).filter(a=>a.trim()!==""),s=[],o=0;for(let a=r.length-1;a>=0;a-=1){let l=r[a],u=Buffer.byteLength(l)+1;if(o+u>n)break;s.push(l),o+=u}s.reverse();let i=`${e}.tmp-${process.pid}`;$S(i,s.length?`${s.join(`
132
132
  `)}
133
133
  `:"",{mode:384}),RS(i,e)}catch{}}var MS="usage.jsonl";var Yd=2*1024*1024;function LS(){return DS(v(),MS)}function le(e,t,n=LS()){try{let r=NS(n);PS(r)||IS(r,{recursive:!0,mode:448});let s=e.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64)||"unknown";CS(n,`{"t":${Math.floor(Date.now()/1e3)},"s":"${s}","o":${t?1:0}}